|
Post by oziphantom on Oct 17, 2020 15:41:00 GMT
Trying to squeeze bandwidth.
If you want to write to the same reg multiple times to pump data in, do you need to set the "register" I want to talk to again each time?
lda EASYFLASH_PORT_LO stx $d600 - bit $d600 bpl - sta $d601 lda EASYFLASH_PORT_LO stx $d600 - bit $d600 bpl - sta $d601 Or do you just do the stx $d600 once and let the rest just check for ready?
Anybody got a solid "stable" number of bytes you can pump through on a single "ready" ?
|
|
|
Post by Pyrofer on Oct 19, 2020 8:21:49 GMT
I am pretty sure that if you are just writing multiple bytes to memory in sequence you never need to check ready after the first byte. Do some testing but in most of my stuff I don't check when writing more than 1 byte in squence into the VDC ram. It's only when doing new registers or block copy etc you need to check.
|
|
|
Post by c128old on Oct 19, 2020 15:52:44 GMT
As much as I understood so far: Once you have waited for the VDC to say it is ready for access, you have a window of opportunity. You can access VDC ram as long as it's 'revolving door' is open (as Mr. Herd called it) If you just wait for the ready bit it won't change. The VBlank bit will change. If you write to D600 the ready bit will be 'ok' as soon as you can access the VDC-RAM (meaning it isn't using this itself) You can use the autoincrement to keep writing without checks until VDC reaches RAM access again. I think this means that: - you can always talk to registers (learn from the experts c-128.freeforums.net/thread/67/correct-write-vdc-registers ) - you must make sure you are in a 'VDC-does-not-need-RAM-itself' moment for any RAM access You can for example wait for Vblank and then you have the whole of the Vblank to talk to VDC RAM. That is why people use interrupts to sync so that they would not need to wait and know how long they have The "how long I have" would appear to be at least a NTSC/PAL difference as well as well a function of settings (Also, I assume the VDC access will be more frequent if you do not use color in VDC.) I've tried using the REU, someone on the forum said they could get about 1000 (half screen) through (during Vblank presumably)
|
|