Reading 74_670 Write Registers
Posted: Wed Aug 16, 2023 4:54 pm
This solution/suggestion is a way to utilize what I already have. Starting from scratch there'd be other ways to achieve the same result, possibly with addresses not so widely spaced.
Back in the day I expanded my VIC20's I/0 space $8000-9FFF into 4K of RAM "under" the Character ROM, a number of 32-location I/O slots, two 16-location slots (one of which was used for a Configuration Register) and 512 bytes of RAM.
If I use the 16-location $915x slot /CS to qualify a Write for a 74_670 and AND that with the 1/2K RAM /CS Writes to the '670 would also write the RAM. The four '670 Write registers also occupy (with repeating images) the first 16 locations of the 1/2K. There'd then be no need to do two Writes, one to the '670 and one to readable RAM so that what was written could later be Read, if needed. Frankly, I don't find the Write twice method especially onerous, but if it can be painlessly eliminated, so much the better.
STA 915x; write a 670 register
; do other stuff
;
LDA 920x; read what was written
Back in the day I expanded my VIC20's I/0 space $8000-9FFF into 4K of RAM "under" the Character ROM, a number of 32-location I/O slots, two 16-location slots (one of which was used for a Configuration Register) and 512 bytes of RAM.
If I use the 16-location $915x slot /CS to qualify a Write for a 74_670 and AND that with the 1/2K RAM /CS Writes to the '670 would also write the RAM. The four '670 Write registers also occupy (with repeating images) the first 16 locations of the 1/2K. There'd then be no need to do two Writes, one to the '670 and one to readable RAM so that what was written could later be Read, if needed. Frankly, I don't find the Write twice method especially onerous, but if it can be painlessly eliminated, so much the better.
STA 915x; write a 670 register
; do other stuff
;
LDA 920x; read what was written