Thank you Darrel for your help.
I am going to try this
Mike BZH
Yikes! I just realized you wanted 64k of data.
Do you have PBP 2.50?
With PBPL the READCODE statements can work above 64k, as long as the address variable is a LONG.
PBPW, can only READCODE up to the 64k barrier.
It's also possible to access the memory above 64k without using readcode if you don't have PBP 2.50, but it's a little trickier.
<br>
DT
Yes it will. (using PBPL)
With the EXT example I pointed to earlier, all you need to change is ...Even though Offset will never be greater than 65535, one of the parameters of the READCODE statement has to be a LONG.Code:Offset VAR LONG
Since DataTable is a constant, the Offset variable gets the duty.
I'm curious where the data is coming from.
Obviously you won't want to create 64k worth of DW statements.
Is the data in a file of some type?
<br>
DT
Dear Darrel,
Thank you again for your help
I will try all this as soon as I dig into the SW. I am currently testing and validating the hardware.
The data will be bytes, but don't be afraid, I will not type then one by one !
They will come from already existing tables in text format. So a simple select, copy and paste to the source file will do the job.
Best regards
MikeBZH
Great! That'll make things easy.
Just one more suggestion then ...
Put the data in a separate .ASM file.PBP has a limit to the number of lines in an ASM block.Code:; make sure each line has an Even number of values. DB 0xA4,0x95,0xB5,0xAA,0xA5,0x49,0x55,0x56,0xAD,0x55,0x4A,0x56,0xB5,0xAA DB 0xAD,0x56,0xD6,0x48,0x49,0x5B,0x6A,0xB5,0x55,0x4A,0x4A,0xAD,0x6A,0xAA DB 0x94,0xAA,0xAA,0xB5,0x5A,0x54,0xAA,0xB5,0xAA,0xB5,0x55,0xAD,0x69,0x11 DB 0x25,0xB6,0xB5,0x55,0x55,0x25,0x2A,0xDA,0xD5,0x4A,0x52,0xAA,0xAD,0x55 ; ... DB 0x6A,0xA9,0x25,0x2A,0xD5,0x6A,0xAA,0x95,0x55,0xAD,0x55,0x55,0x55,0xAD DB 0x6D,0x44,0x12,0xAD,0xDA,0xAA,0xAA,0x52,0x55,0x5B,0x6A,0x94,0x94,0xAA DB 0xB5,0x5A,0xA9,0x52,0xAD,0x6B,0x55,0x55,0x55,0x5B,0x5B,0x50,0x82,0x5B
That .ASM file can be included from the program by the assembler which doesn't have that limit.
Code:DataByte VAR BYTE Offset VAR LONG DataTable1 CON EXT DataTable2 CON EXT '-----[The DATA table]-------------------------------------------------------- GOTO OverData ; Make sure data doesn't try to execute ASM DataTable1 #include "MyData.ASM" EndTable1 DataTable2 #include "MyOtherData.ASM" EndTable2 ENDASM OverData: '-----[Retrieve from DATA table]---------------------------------------------- Offset = 1 ReadCODE (DataTable1 + Offset), DataByte LCDOUT $FE, 1, HEX2 DataByte," "
DT
Bookmarks