khval / AmosKittens

Amos interpreter under development, most commands are support, some extensions are supported.
MIT License
10 stars 3 forks source link

Machine Level Instructions (100% Done) #1

Closed khval closed 6 years ago

khval commented 6 years ago

30 commands 9 commands Implemented (Poke, Peek, Doke, Deek, Loke, Leek, Hex$, Bin$, Copy) 9*100/30 =30% Done

khval commented 6 years ago

varptr(a#) will give address of a double, not address of a float. varptr(a$) will give address to string like Amos Pro. varptr(a$)-2 won't give you the position of length of the string, developers should use len(a$) . varptr(a) will return the address of Int just like Amos Pro. I think this is the best I can do, developer need to take care when writing programs, to read the fine print.

khval commented 6 years ago

Amos "Copy" command, it says in book that all addresses need to be even, this not the case for Amos Kittens, my best advice is to test your programs in Amos Pro, don't assume your programs are compatible because they work in Amos kittens.

khval commented 6 years ago

Address NULL is will generate an error in Amos kittens, if you have NULL address you have a bug in your AMOS program, NULL pointer bugs are common in C programs, and often result horrible crashes, by not allowing you access to this address, I'm preventing coding errors.

khval commented 6 years ago

30 commands 3+9 commands Implemented 3 new commands (varptr, hunt, fill) 12*100/30 =40% Done

khval commented 6 years ago

30 commands 2+12 commands Implemented 2 new commands (rol, ror) 14*100/30 =46% Done

khval commented 6 years ago

30 commands 4+14 commands Implemented 4 new commands (bset, bclr, btst, bchg) 18*100/30 =60% Done

khval commented 6 years ago

30 commands 2+18 commands Implemented 2 new commands (AREG,DREG) 20*100/30 =66.66% Done

khval commented 6 years ago

30 commands 3+20 commands Implemented 3 new commands (PLOAD,EXECALL,DOSCALL) 23*100/30 =76.66% Done

khval commented 6 years ago

30 commands 1+23 commands Implemented 1 new commands (CALL) 24*100/29 =80% Done +5 command has to be put on hold (GFXCALL, INTCALL, SCREEN BASE, SPRITE BASE, ICON BASE) So for now will say its 100% of what we can do right now. will return to this when we graphics.