Ruud@Baltissen.org wrote: > Michał had to change some things to make MSDOS 3.21 run on the > CBM-II. But if I understood correctly, he did not have to change > anything to make it run on the 8255 version !!! Exactly. All the software knows about is that it needs to call F000:F003 to switch control to the 6509 CPU, and it does not care how exactly it's being done. No changes to the software are necessary as long as the card's BIOS implements the appropriate function. > And that is understandable: DOS uses INTs to get something done from > the computer. If it wants to write something yo the screen, it uses > INT 10h, if it wants to read something from a drive, it uses INT > 13h. It is up to the computer, more specific: the BIOS, how this INT > 13h is handled. This mechanism enables a computer to boot from an > EPROM for example. At start-up the "external" ROM changes one or > more INT vectors, including the 13h one and probably the 19h one. > When the BIOS wants to boot by issuing INT 19h, the changed vctor(s) > make sure the data is reas from EPROM instead of a FDD or HDD. Yes. What you have here is several layers of communication: 1. The communication layer - bare metal interface between the 8088 and 6509, allowing them to exchange bytes of data and also grant each other the access to RAM (this layer is implemented in the KERNAL and card's BIOS). 2. The function layer - IPC functions such as "print a byte on the screen" which are implemented on one CPU and called form the other CPU (this layer is largely carried over from the original MS-DOS, with some additions such as CP852 to PETSCII or CBM keycode to PC keycode conversion). 3. The emulation layer - software translating PC BIOS INT calls into particular IPC functions. The operating system and other software are interacting with the layer 3, and nothing changes for them if you change the layer 1 deep below. Regards, Michau.Received on 2018-07-04 11:02:25
Archive generated by hypermail 2.2.0.