11-25-2019, 09:47 AM
DIM AT only maps an array to a memory region. It does not reserve memory.
If you want to declare an array to map UDGs into it, you should use:
DIM myUDGtable(...) as UBYTE => {...}
POKE UInteger 23675, @myUDGTable(0, 0, ...)
If you have several UDGs sets you can arrange them in different arrays and poke for each one as above when required, or better:
put all the graphics in a single array, were each row is a new charset:
Hope this helps.
If you want to declare an array to map UDGs into it, you should use:
DIM myUDGtable(...) as UBYTE => {...}
POKE UInteger 23675, @myUDGTable(0, 0, ...)
If you have several UDGs sets you can arrange them in different arrays and poke for each one as above when required, or better:
put all the graphics in a single array, were each row is a new charset:
Code:
DIM myUDG1(8, 128) as UByte => { ... }
POKE UInteger 23675, @myUDG1(0, 0): REM uses the 1st 128 bytes charset
...
POKE Uinteger 23675, @myUDG(2, 0): REM used the 3rd 128 bytes charset...
LET UDGset = 5
POKE UInteger 23675, @myUDG(UDGset, 0): REM chooses the charset pointer by the variable UDGSet
Hope this helps.