Re: BASIC for the CBM-II/8088

From: Michał Pleban <lists_at_michau.name>
Date: Sat, 14 Jul 2018 23:17:13 +0200
Message-ID: <5B4A6859.7050802@michau.name>
Mia Magnusson wrote:

> Btw, as implementing ram at the CGA/MDA addresses anyway require a
> hardware modification, it might be a good idea to add something that
> detects writes to that area. Each interrupt could then check if a write
> has occurred and (depending on when the last refresh has been done - it
> might be a good idea to wait a while if it has been refreshed recently)
> refresh the screen.

Yes, it would be nice to have a latch that is set when the video memory
is written and reset when it is refreshed.

Even nicer would be to divide the video memory into parts (for example,
8 parts of 256 bytes each) and have the hardware set a bit in the latch
indicating which part has been written. This way it would be possible to
narrow down the area that needs to be refreshed.

> Btw we need to check how the cursor is handled in PC software. I'm not
> sure if it's done via the 6845 or with attributes. If it's done with
> the 6845 we need to check if it's usually done by writing directly to
> the hardware or using the bios. Some kind of trap in a pc emulator
> should be able to check how some poular software does it.

Well, there is INT 10,01 (set cursor shape) which could be implemented,
and INT 10,02 (set cursor position) which is already implemented. It
remains to be tested how many programs actually use them.

> I'm not sure what kind of software that could be interesting to run on
> the 8088 board, but it might be nice to be able to use for example
> Norton Commander or the clone Volkov Commander. (IIRC the source code
> to VC is available, so another option might be to modify that to use
> bios calls for all screen access).

Norton Commander is high on my list. Generally if we get the video
memory emulation right, I suspect a lot of programs from DOS 3 era could
be run.

> Btw Turbo Pascal 3 might be able to run as the PC emulation is today.
> I'm not sure how much of the code base is similar between MS-DOS and
> CP/M, but the general appearance is iirc about the same for both, so
> it's likely that both uses the OS and not hardware access to write to
> the screen and read the keyboard.

I tried it already; in fact, I used it as a testbed of my 18Hz timer
interrupt emulation (as it contains a calibration loop based on this
interrupt). The startup menu is displayed using INT 10 so it works, but
the text editor used direct video memory access.

Regards,
Michau.
Received on 2018-07-15 00:00:06

Archive generated by hypermail 2.2.0.