Finally, the TOWNS core has managed to boot up to DOS.
All the cores I have written so far have been using uPD765 FDC, so I had a good track record with them, but TOWNS is the first time to use MB8877A.
However, TOWNS is the first time to use MB8877A, and there are many things I don't understand even though I read the datasheet.
I managed to get the sector read and other functions to work. This time, from the beginning, I used FDC emulation instead of FDD emulation.
Therefore, it does not read/write to/from a disk image that has been expanded in memory.
Because of the large size of the circuit, it runs on DE10-nano and MiSTer, not on DE0 or DE0-CV, which you are used to.
The screen is still halfway, and the sprites have not been implemented except for RAM, but DOS can now be started, so I am releasing it to the public for now.
For some reason, V3.1 did not start DOS, but V6.2 did.
The graphics mode of FMR50 mode uses memory differently from the real machine, so the display may be unreliable depending on the software. In the real machine, only the VRAM image seen from the CPU looks like R50, but this core also has R50 mode for the screen display circuit. Switching is done by the address accessed by the CPU, so when image data is written in R50 mode and the CPU refers to the VRAM address, the display mode switches to TOWNS mode and the image collapses.
SCSI also reproduces the state in which no drive is connected, and CD-ROM also reproduces the state in which no media is inserted, up to the level of reproducing the state in which no media is inserted.
I think I can do it for CD-ROM as long as it is a single file in .iso format, but for BIN+CUE/WAV, I need to handle multiple files and I am not sure how to deal with it on the FPGA side. If we do it on the ARM side, where is the software? We may support only ISO files first. I'm not sure if there are any SCSI HDD emulation programs available, but SASI HDDs were easy to find.
Please create a TOWNS directory on your SD card and save the BIOS ROM image as boot.rom.
ROM image should be concatenated in the following order from the top of the file.
DOS(512kB)
DIC(512kB)
FNT (256kB)
F20(512kB)
SYS(256kB)
The NVRAM (SRAM) will evaporate when the core is reloaded, so it must be set each time.
The file format of the FD image is .D88 as usual.
D88 file format as usual. I know it is still really only running DOS, but please keep a kind eye on it.