Why is a BIOS patch (ED FE C9) required for fMSX?

41 views
Skip to first unread message

Jeroen Taverne

unread,
Feb 17, 2023, 8:34:45 AM2/17/23
to EMUL8
Hi,

I am playing a bit with the source code of Linux version of fMSX to understand the bank switching methods used in cartridges and replicate this in a real disk storage device that I am developing. I have some issues with certain disk images in fMSX and it might be related with the BIOS patches, so I am wondering why there is a BIOS patch required in fMSX to get some stuff working. What is ED FE C9 actually doing?

Best regards,
Jeroen

fms

unread,
Feb 17, 2023, 2:41:13 PM2/17/23
to EMUL8
On Friday, February 17, 2023 at 8:34:45 AM UTC-5 j.ta...@gmail.com wrote:
I am playing a bit with the source code of Linux version of fMSX to understand the bank switching methods used in cartridges and replicate this in a real disk storage device that I am developing. I have some issues with certain disk images in fMSX and it might be related with the BIOS patches, so I am wondering why there is a BIOS patch required in fMSX to get some stuff working. What is ED FE C9 actually doing?

 The BIOS patches are used to provide high-level disk emulation, such as accessing files in your host file system. Historically, this was the first disk emulation mechanism implemented in fMSX. Current fMSX provides proper WD1793 FDC emulation, which should handle most well-behaved disk images. If your disk image is not well-behaved, uses some strange copy protection or a widly different format, the disk emulation may fail.

Jeroen Taverne

unread,
Feb 20, 2023, 9:56:20 PM2/20/23
to EMUL8
Thanks. I am working on Sunrise IDE compatible hardware and I have added Sunrise IDE emulation in fMSX using the standard Sunrise Nextor ROM image to do some tests. If you are interested in the code changes, let me know.

Op vrijdag 17 februari 2023 om 20:41:13 UTC+1 schreef fms:

fms

unread,
Feb 20, 2023, 9:57:31 PM2/20/23
to EMUL8
On Monday, February 20, 2023 at 9:56:20 PM UTC-5 j.ta...@gmail.com wrote:
Thanks. I am working on Sunrise IDE compatible hardware and I have added Sunrise IDE emulation in fMSX using the standard Sunrise Nextor ROM image to do some tests. If you are interested in the code changes, let me know.

 I am actually interested in these code changes. So, if you are ok with them being included into fMSX in some form, please, send them in.

Jeroen Taverne

unread,
Feb 23, 2023, 10:02:18 AM2/23/23
to EMUL8
Hi,

Find the sourcecode of fMSX with the Sunrise IDE changes and the Sunrise IDE ROM file attached.

Notes:
- All changes are marked by #if SUNRISE_IDE
- I had "extern" compile issues, even with the unmodified code, so I added --common to CFLAGS
- ide_task is currently called when the Z80 is writing or reading hardware IDE registers. There is actual "slow" disk IO in ide_task. It's better to call ide_task from a special disk thread. Perhaps this thread already exists somewhere in the fMSX code, but I haven't had a look at this yet. What would be the best place to move the ide_task call?

Best regards,

Jeroen


Op dinsdag 21 februari 2023 om 03:57:31 UTC+1 schreef fms:
fmsx_with_sunrise_ide.zip
SUNRISE_IDE.ROM
Reply all
Reply to author
Forward
0 new messages