0 Members and 1 Guest are viewing this topic.
Well, you'll have to convert it all yourself. For the numbers just do some math tricks to get each digit (using division and modulus; we can help you if you need help figuring out code to do this)
and for tokens it's even easier (just store the value right there, since TI-BASIC strings are read as tokens anyway), but characters may become impossible. The reason is that a lot of characters are accessible only in ASM (or Axe) and don't have token equivalents.
StorePic 0+128While 1 -128-2→θ cos()+129/2/2→Y +(≥32)-(=0)*256→Z ClrDraw 64 While 1 -1→I If Z/256≠((31+(Y<32)-Y)→H*8+Z→Z/256) Copy(I*12+L₃,Z/256*12+L₆,12) End End!If I DispGraphEnd!If θ+128
StorePic 0+128While 1 -128-2→θ !If +64 DrawInv ʳ End cos(θ)+129/2/2→Y +(≥32)-(=0)*256→Z ClrDraw 64 While 1 -1→I If Z/256≠((31+(Y<32)-Y)→H*8+Z→Z/256) Copy(I*12+L₃,Z/256*12+L₆,12) End End!If I DispGraphEnd!If θ+128
Asm(210000 DB02 47 E680 280D 2C DB21 E603 2806 2C CB68 2801 2C)->V . V=HW version. 23 bytes
ld hl, 0in a, (2)ld b, aand 80hjr z, doneinc lin a, (21h)and 3jr z, doneinc lbit 5, bjr z, doneinc ldone: ; nothing more here!
Asm(EF6F4C 2E00 78 FE0D 380A 217884 EFDD50 3A7A84 6F 2600)->V . V=HW revision. 22 bytes
BCALL getBaseVer ; You can probably get away with not checking the OS version, as most units in use these days will have 1.13+ld l, 0ld a, bcp 0Dhjr c, doneld hl, OP1BCALL GetSysInfold a, (OP1+2)ld l, adone:ld h, 0 ; done!
variable Asm(4C 45 ED41) . Write the value (variable And $FF) to port (variable/256)
variable1 Asm(4D ED68 2600)->variable2 . Read from port variable1 and store to variable2
value Asm(7D D3nn) . Writes value to port nn.
Asm(DBnn 6F 2600)->variable . Write the value in port nn to variable.
If randAsm(4DED682600)>42 some codeEnd
Nice routines, DrDnar. I can see the first few being useful for people who want to do crystal timers in Axe
Massive hardware version check optimization? 6 bytes, about one quarter the size of your code. Asm(EFBA8026006F)