Still a question about your 9600 bytes size. When 6 lines are stored in 256 bytes, then I can store 200 lines in max 34x256=8706 bytes, so where is the rest needed for?
If you read again the first post, then you see that the unexpanded picture (320x240) requires 9600 bytes.
Cp 210 ; test for final line done in front, flag will be used after display
:
Jp lines+#8000
These 2 instructions use more machine cycles. The 2nd (and the 3rd in case of the jump) is a simple memory read (without /M1+A15), so the CPU will read some other than expected.
Just my thoughts written down ...
And I always really glad to read
Regards,
Zsolt
The instructions are the famous 48K bug when memory above 32K is available. On 16K this works. Used the trick in my 1K hires games. Solution is a copy of the routine on same memory above 32K. rework with extra register might get problems with timing.
Edit:
Preset HL to lines +#8000
Preset C to 209
Alter code
CP C
JP (HL)
Remain a gap of 17 tstates to be filled with
RET Z ; never true
LD B,B
LD B,B
LD B,B
I think I can make it 328 with stack in open spaces.
Only thing needed is double displayline, so for app. 50 bytes more you get 200x8 pixels more displayfile.