Den Sun, 25 Feb 2018 23:41:57 +0100 skrev Michał Pleban <lists@michau.name>: > Mia Magnusson wrote: > > > Or use indirect access to 0/1? > > A side note - the fact that indirect access to these addresses will > still affect CPU registers is the reason why disk reads do not work > across 64 kB boundaries in the 6509 MS-DOS IPC library. > > Interestingly, the IPC code contains specific workarounds in case the > read crosses such boundary (rewinding the memory pointer to 0000 and > incrementing the $1 register value) but they are worthless anyway > because as soon as anything is written to memory address $x0000, > everything goes out of the window. It is apparent that the programmers > who wrote this code did not understand fully how the 6509 works. If the IPC code is in bank 15, then the incorrect write would end up at adress 0 and 1 in bank 15, which I assume is not a place where the 8088 wants to read/write from disk. So the 6509 IPC disk I/O code should work even when crossing page boundaries. P.S. does VICE emulate the 6509 behaviour correctly? Although there are no 8088 emulation there, afaik it has a monitor making it possible to check what happens anyways. -- (\_/) Copy the bunny to your mails to help (O.o) him achieve world domination. (> <) Come join the dark side. /_|_\ We have cookies. Message was sent through the cbm-hackers mailing listReceived on 2018-02-26 01:01:11
Archive generated by hypermail 2.2.0.