AgonConsole8 / agon-mos

Official AGON QUARK Firmware for Console8: eZ80 MOS
MIT License
25 stars 10 forks source link

Enhanced comms with VDP #4

Open stevesims opened 1 year ago

stevesims commented 1 year ago

As noted in AgonConsole8/agon-vdp#8 and AgonConsole8/agon-vdp#9 it would be good to support an enhanced communications protocol between MOS and the VDP.

This would allow for multiplexed commands to be executed - for example allowing a lengthy upload of a bitmap or sound sample to the VDP whilst simultaneously updating the screen to indicate progress of that activity.

stevesims commented 1 year ago

the solution implemented inside the VDP in AgonConsole8/agon-vdp#30 is to work with the existing protocol, adding in a command VDU 23, 0, &A0, bufferId, command, <args> to allow buffered commands.

arguably from the MOS side, no additional support is really needed, however there may be value in adding some API calls to wrap up buffers to send, call buffers, and dispose of them. those would be simple wrappers around the VDU 23, 0, &A0 commands, helping to ensure that correct numbers are sent, etc.

stevesims commented 10 months ago

one further note here - it would be useful to support some improved options for sending data from the VDP to MOS.

this is likely to be commands to send parts of a buffer back to MOS