| Posted By
NinjaDRM on 2007-04-15 05:45:11
| FLD on +4?
Greetings all,
I got a question which I can't solve myself, as my real +4 is 8000km away
I wanted to do a FLD like i know them from the c64, that is: get $ff1d, process the lower three bits and write to $ff06. On a c64, then the last byte of the current videobank gets displayed in the character area.
But just having Forever+4, VICE and YAPE here, they give me all different results. VICE displays what I would see on a c64. The other two give me colorful garbage. I assume that YAPE is correct? Is there a way to get an idle-state-display (perhaps using $ff1f)?
|
|
Posted By
Degauss on 2007-04-15 06:29:44
| Re: FLD on +4?
correct me if i'm wrong:
i noticed that $ff06 is triggering the DMA-cycle, while $ff1f is responsible for adding 40 to the read-cursor ($ff1a/1b aswell as the read-cursor for the DMA-cycle). to go safe, you have to modify both.
a "standard" +4-technique is to do this: -modify $ff06 to circumvent the DMA-cycle -modify $ff1f/1a/1b to display the line you want
this has more overhead but it's more powerful at the same time since you can flip a whole screen (which is not possible with *real* FLD)
|
|
Posted By
Gaia on 2007-04-15 12:34:58
| Re: FLD on +4?
Oops, the DMA story could fill a whole book As a rule of thumb: do not rely too much on your knowledge of the C64 as although the basic mechanism is very similar, there are subtle differences between the two machines. For a few ideas of FLD on the plus/4, you can check a couple of demos that were basically converted from C64 (like A Trip for example).
FLD is also depending on whether you are using text or bitmap mode. FF1A/B does not play a role in text mode (unless you're messing with the cursor). If you delay the first "bad line" (aka DMA line) by appropriately changing the lowest 3 bits of FF06 not to be equal to that of FF1C/D, you are basically doing an FLD. You can do the same in bitmap mode by not allowing the lowest 3 bits of FF1F to be 7 (the vertical sub address, increasing every non idle TED rasterline).
|
|
Posted By
NinjaDRM on 2007-04-15 19:58:13
| Re: FLD on +4?
Thanks for the replies :D
I know that my c64-knowledge cannot be transferred 1:1 to the plus4. Still, it is the only approach I have so far (Especially when lacking the real thing right now)
But what do I see when preventing the DMA in textmode using $ff06? The option of flipping the screen sounds nice, but an "idle-display" byte would be most useful for my problem. Maybe "A Trip" can help me...
|
|
| |
Copyright © Plus/4 World Team, 2001-2024. Support Plus/4 World on Patreon |