|
Post by pennywise on Oct 8, 2022 18:10:10 GMT
Hey all,
I've recently run into an issue where after I write some data to VRAM via $0002 and $0003, the MAWR address increases by 40 as opposed to my expected behavior of 1. Would anyone happen to know the reason behind this? Is it perhaps related to the MWR? Oddly enough my code works as expected for one part of the game, but not later on for another part of the game. I'm assuming one of the VDC registers needs to be updated.
Anyhow, any help is much appreciated.
|
|
|
Post by elmer on Oct 8, 2022 19:17:50 GMT
You should check out the manual for the VDC, page H7-7 ... (7) Control Register (CR R05)... (g) Memory Address Read/Write Register Increment Select (IW; R05, bits 11 and 12) Once set, the memory address read/write register is automatically incremented each time data is transferred to it. The IW field selects the extent of incrementing. The register is incremented by accessing the high byte. IW bit 12 11 Extent of incrementing 0 0 +1 0 1 +$20 1 0 +$40 1 1 +$8O
The different settings are designed to be used for writing columns of BAT data when updating the new tile data at the edge of a scroll.
|
|
|
Post by elmer on Oct 8, 2022 19:23:59 GMT
Oh, and by-the-way ... WELCOME! Good to see someone so involved in the translation community here, which I guess means that you're working on PCE project now.
|
|