From 1c5a03e3ea2b55d7563e006ef792c5297a29cec6 Mon Sep 17 00:00:00 2001 From: mgcaret Date: Sun, 26 Nov 2017 20:59:56 -0800 Subject: [PATCH] optional patches to let MAME IIc+ emulation boot --- rom5x/options/mame/B0_C500_MAME_no_35_1.s | 13 +++++++++++++ rom5x/options/mame/B0_C5F8_MAME_no_35_2.s | 8 ++++++++ rom5x/options/mame/B0_C61A_MAME_no_35_3.s | 7 +++++++ 3 files changed, 28 insertions(+) create mode 100644 rom5x/options/mame/B0_C500_MAME_no_35_1.s create mode 100644 rom5x/options/mame/B0_C5F8_MAME_no_35_2.s create mode 100644 rom5x/options/mame/B0_C61A_MAME_no_35_3.s diff --git a/rom5x/options/mame/B0_C500_MAME_no_35_1.s b/rom5x/options/mame/B0_C500_MAME_no_35_1.s new file mode 100644 index 0000000..ec7d2d8 --- /dev/null +++ b/rom5x/options/mame/B0_C500_MAME_no_35_1.s @@ -0,0 +1,13 @@ +; remove 3.5" functionality for MAME +; this bit causes slot 5 boot to go to do 6 boot instead +; and also overwrites the firmware protocol bits to not +; identify as a block device. +.code +.include "iic+.defs" +rompatch $c500,0,"MAME_no_35_1" + ldx #$00 + lda #$c6 + stx $00 + sta $01 + jmp ($00) +endpatch diff --git a/rom5x/options/mame/B0_C5F8_MAME_no_35_2.s b/rom5x/options/mame/B0_C5F8_MAME_no_35_2.s new file mode 100644 index 0000000..597e3fc --- /dev/null +++ b/rom5x/options/mame/B0_C5F8_MAME_no_35_2.s @@ -0,0 +1,8 @@ +; remove 3.5" functionality for MAME +; this bit removes protocol converter initialization +; so the 3.5" drive code is never called +.code +.include "iic+.defs" +rompatch $c5f8,0,"MAME_no_35_2" + rts +endpatch diff --git a/rom5x/options/mame/B0_C61A_MAME_no_35_3.s b/rom5x/options/mame/B0_C61A_MAME_no_35_3.s new file mode 100644 index 0000000..1a38294 --- /dev/null +++ b/rom5x/options/mame/B0_C61A_MAME_no_35_3.s @@ -0,0 +1,7 @@ +; remove 3.5" functionality for MAME +; this bit removes some 3.5" cruft added to the 5.25" boot code +.code +.include "iic+.defs" +rompatch $c61a,0,"MAME_no_35_3" + lda $c089,x +endpatch