mist: fix up detection to be more like mist_hgr
This commit is contained in:
parent
dbbb8bed46
commit
571dd34d27
|
@ -62,7 +62,7 @@ mist.dsk: QBOOT TEXT_TITLE QLOAD \
|
||||||
$(DOS33_RAW) mist.dsk 0 14 SAVE4 0 1
|
$(DOS33_RAW) mist.dsk 0 14 SAVE4 0 1
|
||||||
$(DOS33_RAW) mist.dsk 0 15 SAVE5 0 1
|
$(DOS33_RAW) mist.dsk 0 15 SAVE5 0 1
|
||||||
$(DOS33_RAW) mist.dsk 1 0 QLOAD 0 14
|
$(DOS33_RAW) mist.dsk 1 0 QLOAD 0 14
|
||||||
$(DOS33_RAW) mist.dsk 2 0 MIST_TITLE 0 83
|
$(DOS33_RAW) mist.dsk 2 0 MIST_TITLE 0 0
|
||||||
$(DOS33_RAW) mist.dsk 8 0 MIST 0 159
|
$(DOS33_RAW) mist.dsk 8 0 MIST 0 159
|
||||||
$(DOS33_RAW) mist.dsk 18 0 OCTAGON 0 128
|
$(DOS33_RAW) mist.dsk 18 0 OCTAGON 0 128
|
||||||
$(DOS33_RAW) mist.dsk 26 0 DENTIST 0 31
|
$(DOS33_RAW) mist.dsk 26 0 DENTIST 0 31
|
||||||
|
@ -542,6 +542,8 @@ clean:
|
||||||
MECHE SELENA SHIP STONEY CHANNEL ARBOR NIBEL \
|
MECHE SELENA SHIP STONEY CHANNEL ARBOR NIBEL \
|
||||||
GENERATOR \
|
GENERATOR \
|
||||||
generate_common
|
generate_common
|
||||||
|
|
||||||
|
distclean: clean
|
||||||
cd graphics_title && make clean
|
cd graphics_title && make clean
|
||||||
cd graphics_mist && make clean
|
cd graphics_mist && make clean
|
||||||
cd graphics_octagon && make clean
|
cd graphics_octagon && make clean
|
||||||
|
|
Binary file not shown.
|
@ -12,18 +12,12 @@
|
||||||
.include "common_routines.inc"
|
.include "common_routines.inc"
|
||||||
|
|
||||||
mist_start:
|
mist_start:
|
||||||
|
|
||||||
;===================
|
;===================
|
||||||
; init screen
|
; detect model
|
||||||
;===================
|
;===================
|
||||||
|
|
||||||
jsr TEXT
|
jsr detect_appleii_model
|
||||||
jsr HOME
|
|
||||||
bit KEYRESET
|
|
||||||
|
|
||||||
bit SET_GR
|
|
||||||
bit PAGE0
|
|
||||||
bit HIRES
|
|
||||||
bit FULLGR
|
|
||||||
|
|
||||||
;===================
|
;===================
|
||||||
; machine workarounds
|
; machine workarounds
|
||||||
|
@ -59,29 +53,33 @@ mist_start:
|
||||||
sta CLOCKCTL ; set twice for VidHD
|
sta CLOCKCTL ; set twice for VidHD
|
||||||
|
|
||||||
not_a_iigs:
|
not_a_iigs:
|
||||||
|
|
||||||
;===================
|
;===================
|
||||||
; setup location
|
; print config
|
||||||
;===================
|
;===================
|
||||||
|
|
||||||
lda #<locations
|
; print non-inverse
|
||||||
sta LOCATIONS_L
|
jsr set_normal
|
||||||
lda #>locations
|
|
||||||
sta LOCATIONS_H
|
|
||||||
|
|
||||||
;===================
|
lda #<config_string
|
||||||
; Load hires graphics
|
sta OUTL
|
||||||
;===================
|
lda #>config_string
|
||||||
reload_everything:
|
sta OUTH
|
||||||
|
|
||||||
lda #<file
|
jsr move_and_print
|
||||||
sta getsrc_smc+1 ; LZSA_SRC_LO
|
|
||||||
lda #>file
|
|
||||||
sta getsrc_smc+2 ; LZSA_SRC_HI
|
|
||||||
|
|
||||||
lda #$20
|
; print detected model
|
||||||
|
|
||||||
jsr decompress_lzsa2_fast
|
lda APPLEII_MODEL
|
||||||
|
ora #$80
|
||||||
|
sta $7d0+8 ; 23,8
|
||||||
|
|
||||||
|
; if GS print the extra S
|
||||||
|
cmp #'G'|$80
|
||||||
|
bne not_gs
|
||||||
|
lda #'S'|$80
|
||||||
|
sta $7d0+9
|
||||||
|
|
||||||
|
not_gs:
|
||||||
|
|
||||||
;===================================
|
;===================================
|
||||||
; detect if we have a language card
|
; detect if we have a language card
|
||||||
|
@ -94,6 +92,13 @@ reload_everything:
|
||||||
jsr detect_language_card
|
jsr detect_language_card
|
||||||
bcs no_language_card
|
bcs no_language_card
|
||||||
|
|
||||||
|
yes_language_card:
|
||||||
|
; update status
|
||||||
|
lda #'6'|$80
|
||||||
|
sta $7d0+11 ; 23,11
|
||||||
|
lda #'4'|$80
|
||||||
|
sta $7d0+12 ; 23,12
|
||||||
|
|
||||||
; update sound status
|
; update sound status
|
||||||
lda SOUND_STATUS
|
lda SOUND_STATUS
|
||||||
ora #SOUND_IN_LC
|
ora #SOUND_IN_LC
|
||||||
|
@ -124,6 +129,9 @@ no_language_card:
|
||||||
;===================================
|
;===================================
|
||||||
; Setup Mockingboard
|
; Setup Mockingboard
|
||||||
;===================================
|
;===================================
|
||||||
|
|
||||||
|
PT3_ENABLE_APPLEIIC = 1
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
sta DONE_PLAYING
|
sta DONE_PLAYING
|
||||||
sta LOOP
|
sta LOOP
|
||||||
|
@ -134,12 +142,45 @@ no_language_card:
|
||||||
bcc mockingboard_notfound
|
bcc mockingboard_notfound
|
||||||
|
|
||||||
mockingboard_found:
|
mockingboard_found:
|
||||||
; jsr mockingboard_patch ; patch to work in slots other than 4?
|
|
||||||
|
; print detected location
|
||||||
|
|
||||||
|
lda #'S'+$80 ; change NO to slot
|
||||||
|
sta $7d0+30
|
||||||
|
|
||||||
|
lda MB_ADDR_H ; $C4 = 4, want $B4 1100 -> 1011
|
||||||
|
and #$87
|
||||||
|
ora #$30
|
||||||
|
|
||||||
|
sta $7d0+31 ; 23,31
|
||||||
|
|
||||||
lda SOUND_STATUS
|
lda SOUND_STATUS
|
||||||
ora #SOUND_MOCKINGBOARD
|
ora #SOUND_MOCKINGBOARD
|
||||||
sta SOUND_STATUS
|
sta SOUND_STATUS
|
||||||
|
|
||||||
|
;===========================
|
||||||
|
; detect SSI-263 too
|
||||||
|
;===========================
|
||||||
|
;detect_ssi:
|
||||||
|
; lda MB_ADDR_H
|
||||||
|
; and #$87 ; slot
|
||||||
|
; jsr detect_ssi263
|
||||||
|
;
|
||||||
|
; lda irq_count
|
||||||
|
; beq ssi_not_found
|
||||||
|
;
|
||||||
|
; lda #'Y'+$80
|
||||||
|
; sta $7d0+39 ; 23,39
|
||||||
|
;
|
||||||
|
; lda #SOUND_SSI263
|
||||||
|
; ora SOUND_STATUS
|
||||||
|
; sta SOUND_STATUS
|
||||||
|
|
||||||
|
ssi_not_found:
|
||||||
|
|
||||||
|
jsr mockingboard_patch ; patch to work in slots other than 4?
|
||||||
|
|
||||||
|
|
||||||
;=======================
|
;=======================
|
||||||
; Set up 50Hz interrupt
|
; Set up 50Hz interrupt
|
||||||
;========================
|
;========================
|
||||||
|
@ -168,6 +209,54 @@ mockingboard_notfound:
|
||||||
|
|
||||||
done_setup_sound:
|
done_setup_sound:
|
||||||
|
|
||||||
|
;==========================
|
||||||
|
; wait a bit at text title
|
||||||
|
;==========================
|
||||||
|
|
||||||
|
lda #40
|
||||||
|
jsr wait_a_bit
|
||||||
|
|
||||||
|
|
||||||
|
;===================
|
||||||
|
; init screen
|
||||||
|
;===================
|
||||||
|
|
||||||
|
jsr TEXT
|
||||||
|
jsr HOME
|
||||||
|
bit KEYRESET
|
||||||
|
|
||||||
|
bit SET_GR
|
||||||
|
bit PAGE0
|
||||||
|
bit HIRES
|
||||||
|
bit FULLGR
|
||||||
|
|
||||||
|
|
||||||
|
;===================
|
||||||
|
; setup location
|
||||||
|
;===================
|
||||||
|
|
||||||
|
lda #<locations
|
||||||
|
sta LOCATIONS_L
|
||||||
|
lda #>locations
|
||||||
|
sta LOCATIONS_H
|
||||||
|
|
||||||
|
;===================
|
||||||
|
; Load hires graphics
|
||||||
|
;===================
|
||||||
|
reload_everything:
|
||||||
|
|
||||||
|
lda #<file
|
||||||
|
sta getsrc_smc+1 ; LZSA_SRC_LO
|
||||||
|
lda #>file
|
||||||
|
sta getsrc_smc+2 ; LZSA_SRC_HI
|
||||||
|
|
||||||
|
lda #$20
|
||||||
|
|
||||||
|
jsr decompress_lzsa2_fast
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;===================================
|
;===================================
|
||||||
|
@ -497,11 +586,13 @@ really_exit:
|
||||||
|
|
||||||
|
|
||||||
; pt3 player
|
; pt3 player
|
||||||
|
.include "pt3_lib_detect_model.s"
|
||||||
.include "pt3_lib_core.s"
|
.include "pt3_lib_core.s"
|
||||||
.include "pt3_lib_init.s"
|
.include "pt3_lib_init.s"
|
||||||
|
.include "pt3_lib_mockingboard_setup.s"
|
||||||
.include "interrupt_handler.s"
|
.include "interrupt_handler.s"
|
||||||
.include "pt3_lib_mockingboard_detect.s"
|
.include "pt3_lib_mockingboard_detect.s"
|
||||||
.include "pt3_lib_mockingboard_setup.s"
|
|
||||||
|
|
||||||
|
|
||||||
.include "wait_a_bit.s"
|
.include "wait_a_bit.s"
|
||||||
|
@ -607,5 +698,29 @@ theme_music:
|
||||||
; 0123456789012345678901234567890123456789
|
; 0123456789012345678901234567890123456789
|
||||||
.byte " THE ENDING HAS NOT YET BEEN WRITTEN"
|
.byte " THE ENDING HAS NOT YET BEEN WRITTEN"
|
||||||
|
|
||||||
|
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
|
config_string:
|
||||||
|
; 0123456789012345678901234567890123456789
|
||||||
|
.byte 0,23,"APPLE II?, 48K, MOCKINGBOARD: NO, SSI: N",0
|
||||||
|
; MOCKINGBOARD: NONE
|
||||||
|
|
||||||
|
|
||||||
|
; set normal text
|
||||||
|
set_normal:
|
||||||
|
lda #$80
|
||||||
|
sta ps_smc1+1
|
||||||
|
|
||||||
|
lda #09 ; ora
|
||||||
|
sta ps_smc1
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
|
; restore inverse text
|
||||||
|
set_inverse:
|
||||||
|
lda #$29
|
||||||
|
sta ps_smc1
|
||||||
|
lda #$3f
|
||||||
|
sta ps_smc1+1
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
|
@ -0,0 +1,63 @@
|
||||||
|
;===========================
|
||||||
|
; Check Apple II model
|
||||||
|
;===========================
|
||||||
|
; this is mostly for IIc support
|
||||||
|
; as it does interrupts differently
|
||||||
|
|
||||||
|
; ' ' ($20) = Apple II
|
||||||
|
; '+' ($2B) = Apple II+
|
||||||
|
; 'E' ($45) = Apple IIe
|
||||||
|
; 'C' ($43) = Apple IIc
|
||||||
|
; 'G' ($47) = Apple IIgs
|
||||||
|
|
||||||
|
|
||||||
|
detect_appleii_model:
|
||||||
|
lda #' '
|
||||||
|
|
||||||
|
ldx $FBB3
|
||||||
|
; II is $38
|
||||||
|
; J-plus is $C9
|
||||||
|
; II+ is $EA (so is III)
|
||||||
|
; IIe and newer is $06
|
||||||
|
|
||||||
|
cpx #$38
|
||||||
|
beq done_apple_detect
|
||||||
|
|
||||||
|
lda #'+'
|
||||||
|
cpx #$EA
|
||||||
|
beq done_apple_detect
|
||||||
|
|
||||||
|
; TODO: check for J-plus or III?
|
||||||
|
|
||||||
|
cpx #$06
|
||||||
|
bne done_apple_detect
|
||||||
|
|
||||||
|
apple_iie_or_newer:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ldx $FBC0 ; $EA on a IIe
|
||||||
|
; $E0 on a IIe enhanced
|
||||||
|
; $00 on a IIc/IIc+
|
||||||
|
|
||||||
|
; $FE1F = $60, IIgs
|
||||||
|
|
||||||
|
beq apple_iic
|
||||||
|
|
||||||
|
lda #'E'
|
||||||
|
cpx #$EA
|
||||||
|
beq done_apple_detect
|
||||||
|
cpx #$E0
|
||||||
|
beq done_apple_detect
|
||||||
|
|
||||||
|
; assume GS?
|
||||||
|
|
||||||
|
lda #'G'
|
||||||
|
bne done_apple_detect
|
||||||
|
|
||||||
|
apple_iic:
|
||||||
|
lda #'C'
|
||||||
|
|
||||||
|
done_apple_detect:
|
||||||
|
sta APPLEII_MODEL
|
||||||
|
rts
|
|
@ -33,6 +33,26 @@
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
|
|
||||||
mockingboard_detect:
|
mockingboard_detect:
|
||||||
|
|
||||||
|
; activate IIc mockingboard?
|
||||||
|
; this might only be necessary to allow detection
|
||||||
|
; I get the impression the Mockingboard 4c activates
|
||||||
|
; when you access any of the 6522 ports in Slot 4
|
||||||
|
|
||||||
|
.ifdef PT3_ENABLE_APPLE_IIC
|
||||||
|
lda APPLEII_MODEL
|
||||||
|
cmp #'C'
|
||||||
|
bne not_iic
|
||||||
|
|
||||||
|
lda #$ff
|
||||||
|
|
||||||
|
; don't bother patching these, IIc mockingboard always slot 4?
|
||||||
|
|
||||||
|
sta MOCK_6522_DDRA1
|
||||||
|
sta MOCK_6522_T1CL
|
||||||
|
.endif
|
||||||
|
|
||||||
|
not_iic:
|
||||||
lda #$00
|
lda #$00
|
||||||
sta MB_ADDR_L
|
sta MB_ADDR_L
|
||||||
ldx #$C7 ; start at slot #7
|
ldx #$C7 ; start at slot #7
|
||||||
|
|
|
@ -170,47 +170,56 @@ clear_ay_end:
|
||||||
;=============================
|
;=============================
|
||||||
mockingboard_setup_interrupt:
|
mockingboard_setup_interrupt:
|
||||||
|
|
||||||
;===========================
|
.ifdef PT3_ENABLE_APPLE_IIC
|
||||||
; Check for Apple IIc
|
lda APPLEII_MODEL
|
||||||
;===========================
|
cmp #'C'
|
||||||
; it does interrupts differently
|
bne done_iic_hack
|
||||||
|
|
||||||
lda $FBB3 ; IIe and newer is $06
|
|
||||||
cmp #6
|
|
||||||
beq apple_iie_or_newer
|
|
||||||
|
|
||||||
jmp done_apple_detect
|
|
||||||
apple_iie_or_newer:
|
|
||||||
lda $FBC0 ; 0 on a IIc
|
|
||||||
bne done_apple_detect
|
|
||||||
apple_iic:
|
|
||||||
; activate IIc mockingboard?
|
|
||||||
; this might only be necessary to allow detection
|
|
||||||
; I get the impression the Mockingboard 4c activates
|
|
||||||
; when you access any of the 6522 ports in Slot 4
|
|
||||||
lda #$ff
|
|
||||||
|
|
||||||
; don't bother patching these, IIc mockingboard always slot 4?
|
|
||||||
|
|
||||||
sta MOCK_6522_DDRA1
|
|
||||||
sta MOCK_6522_T1CL
|
|
||||||
|
|
||||||
; bypass the firmware interrupt handler
|
; bypass the firmware interrupt handler
|
||||||
; should we do this on IIe too? probably faster
|
; should we do this on IIe too? probably faster
|
||||||
|
|
||||||
|
; first we have to copy the ROM to the language card
|
||||||
|
|
||||||
sei ; disable interrupts
|
sei ; disable interrupts
|
||||||
lda $c08b ; disable ROM (enable language card)
|
|
||||||
lda $c08b
|
|
||||||
|
|
||||||
|
copy_rom_loop:
|
||||||
|
lda $c089 ; read ROM, write RAM1
|
||||||
|
lda $c089
|
||||||
|
|
||||||
|
ldy #0
|
||||||
|
read_rom_loop:
|
||||||
|
lda $D000,Y
|
||||||
|
sta $400,Y ; note this uses text page as
|
||||||
|
; temporary data store
|
||||||
|
iny
|
||||||
|
bne read_rom_loop
|
||||||
|
|
||||||
|
lda $c08B ; read/write RAM1
|
||||||
|
lda $c08B ;
|
||||||
|
|
||||||
|
write_rom_loop:
|
||||||
|
lda $400,Y
|
||||||
|
sta $D000,Y
|
||||||
|
iny
|
||||||
|
bne write_rom_loop
|
||||||
|
|
||||||
|
inc read_rom_loop+2
|
||||||
|
inc write_rom_loop+5
|
||||||
|
bne copy_rom_loop
|
||||||
|
|
||||||
lda #<interrupt_handler
|
lda #<interrupt_handler
|
||||||
sta $fffe
|
sta $fffe
|
||||||
lda #>interrupt_handler
|
lda #>interrupt_handler
|
||||||
sta $ffff
|
sta $ffff
|
||||||
|
|
||||||
lda #$EA ; nop out the "lda $45" in the irq hand
|
lda #$EA ; nop out the "lda $45" in the irq handler
|
||||||
sta interrupt_smc
|
sta interrupt_smc
|
||||||
sta interrupt_smc+1
|
sta interrupt_smc+1
|
||||||
|
.endif
|
||||||
|
|
||||||
done_apple_detect:
|
done_iic_hack:
|
||||||
|
|
||||||
|
|
||||||
;=========================
|
;=========================
|
||||||
|
@ -228,10 +237,16 @@ done_apple_detect:
|
||||||
; Enable 50Hz clock on 6522
|
; Enable 50Hz clock on 6522
|
||||||
;============================
|
;============================
|
||||||
|
|
||||||
; 4fe7 / 1e6 = .020s, 50Hz
|
|
||||||
|
|
||||||
; 9c40 / 1e6 = .040s, 25Hz
|
; Note, on Apple II the clock isn't 1MHz but is actually closer to
|
||||||
; 411a / 1e6 = .016s, 60Hz
|
; roughly 1.023MHz, and every 65th clock is stretched (it's complicated)
|
||||||
|
|
||||||
|
; 4fe7 / 1.023e6 = .020s, 50Hz
|
||||||
|
; 9c40 / 1.023e6 = .040s, 25Hz
|
||||||
|
; 411a / 1.023e6 = .016s, 60Hz
|
||||||
|
|
||||||
|
; French Touch uses
|
||||||
|
; 4e20 / 1.000e6 = .020s, 50Hz, which assumes 1MHz clock freq
|
||||||
|
|
||||||
sei ; disable interrupts just in case
|
sei ; disable interrupts just in case
|
||||||
|
|
||||||
|
@ -249,12 +264,33 @@ setup_irq_smc4:
|
||||||
sta MOCK_6522_IER ; IER: 1100, enable timer one interrupt
|
sta MOCK_6522_IER ; IER: 1100, enable timer one interrupt
|
||||||
|
|
||||||
lda #$E7
|
lda #$E7
|
||||||
|
; lda #$20
|
||||||
setup_irq_smc5:
|
setup_irq_smc5:
|
||||||
sta MOCK_6522_T1CL ; write into low-order latch
|
sta MOCK_6522_T1CL ; write into low-order latch
|
||||||
lda #$4f
|
lda #$4f
|
||||||
|
; lda #$4E
|
||||||
setup_irq_smc6:
|
setup_irq_smc6:
|
||||||
sta MOCK_6522_T1CH ; write into high-order latch,
|
sta MOCK_6522_T1CH ; write into high-order latch,
|
||||||
; load both values into counter
|
; load both values into counter
|
||||||
; clear interrupt and start counting
|
; clear interrupt and start counting
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;=============================
|
||||||
|
; Disable Interrupt
|
||||||
|
;=============================
|
||||||
|
mockingboard_disable_interrupt:
|
||||||
|
|
||||||
|
sei ; disable interrupts just in case
|
||||||
|
|
||||||
|
lda #$40 ; Continuous interrupts, don't touch PB7
|
||||||
|
disable_irq_smc1:
|
||||||
|
sta MOCK_6522_ACR ; ACR register
|
||||||
|
lda #$7F ; clear all interrupt flags
|
||||||
|
disable_irq_smc2:
|
||||||
|
sta MOCK_6522_IER ; IER register (interrupt enable)
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
|
|
|
@ -213,7 +213,7 @@ sector_array:
|
||||||
.byte 0 ; FIRST_SECTOR
|
.byte 0 ; FIRST_SECTOR
|
||||||
|
|
||||||
length_array:
|
length_array:
|
||||||
.byte 83,159,157,145 ; MIST_TITLE,MIST,MECHE,SELENA
|
.byte 95,159,157,145 ; MIST_TITLE,MIST,MECHE,SELENA
|
||||||
.byte 128, 20,158,135 ; OCTAGON,VIEWER,STONEY,CHANNEL
|
.byte 128, 20,158,135 ; OCTAGON,VIEWER,STONEY,CHANNEL
|
||||||
.byte 61, 31,159,109 ; CABIN,DENTIST,ARBOR,NIBEL
|
.byte 61, 31,159,109 ; CABIN,DENTIST,ARBOR,NIBEL
|
||||||
.byte 20, 33, 27, 78 ; SHIP,GENERATOR,D'NI,SUB
|
.byte 20, 33, 27, 78 ; SHIP,GENERATOR,D'NI,SUB
|
||||||
|
|
|
@ -60,6 +60,7 @@ done_print_string:
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
.if 0
|
.if 0
|
||||||
;================================
|
;================================
|
||||||
; move and print a list of lines
|
; move and print a list of lines
|
||||||
|
|
|
@ -29,9 +29,8 @@ text_loop:
|
||||||
dex
|
dex
|
||||||
bne text_loop
|
bne text_loop
|
||||||
|
|
||||||
|
; lda #40
|
||||||
lda #40
|
; jsr wait_a_bit
|
||||||
jsr wait_a_bit
|
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
;; LZSA addresses
|
;; LZSA addresses
|
||||||
NIBCOUNT = $00
|
NIBCOUNT = $00
|
||||||
|
APPLEII_MODEL = $01
|
||||||
|
|
||||||
;; Zero page monitor routines addresses
|
;; Zero page monitor routines addresses
|
||||||
|
|
||||||
|
|
|
@ -155,6 +155,9 @@ mockingboard_found:
|
||||||
|
|
||||||
; print detected location
|
; print detected location
|
||||||
|
|
||||||
|
lda #'S'+$80 ; change NO to Slot
|
||||||
|
sta $7d0+30
|
||||||
|
|
||||||
lda MB_ADDR_H ; $C4 = 4, want $B4 1100 -> 1011
|
lda MB_ADDR_H ; $C4 = 4, want $B4 1100 -> 1011
|
||||||
and #$87
|
and #$87
|
||||||
ora #$30
|
ora #$30
|
||||||
|
@ -1048,7 +1051,7 @@ narration6:
|
||||||
|
|
||||||
config_string:
|
config_string:
|
||||||
; 0123456789012345678901234567890123456789
|
; 0123456789012345678901234567890123456789
|
||||||
.byte 0,23,"APPLE II?, 48K, MOCKINGBOARD: S?, SSI: N",0
|
.byte 0,23,"APPLE II?, 48K, MOCKINGBOARD: NO, SSI: N",0
|
||||||
; MOCKINGBOARD: NONE
|
; MOCKINGBOARD: NONE
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue