Fix IRQ handling for MLI calls. (#133)

* remove all IRQ-disabling wrappeds to MLI calls
This commit is contained in:
mgcaret 2019-02-23 23:32:32 -08:00 committed by Joshua Bell
parent 17184ec4d2
commit efa6842ea9
8 changed files with 2 additions and 38 deletions

View File

@ -856,8 +856,6 @@ L46AE: jsr disable_eject_menu_item
.proc MLI_RELAY .proc MLI_RELAY
sty call sty call
stax params stax params
php
sei
sta ALTZPOFF sta ALTZPOFF
sta ROMIN2 sta ROMIN2
jsr MLI jsr MLI
@ -867,7 +865,6 @@ params: .addr dummy0000
tax tax
lda LCBANK1 lda LCBANK1
lda LCBANK1 lda LCBANK1
plp
txa txa
rts rts
.endproc .endproc

View File

@ -265,21 +265,13 @@ start:
bpl :- bpl :-
;; Open this system file ;; Open this system file
php
sei
MLI_CALL OPEN, open_params MLI_CALL OPEN, open_params
plp
and #$FF ; ???
beq :+ beq :+
brk ; crash brk ; crash
: lda open_params::ref_num : lda open_params::ref_num
sta set_mark_params::ref_num sta set_mark_params::ref_num
sta read_params::ref_num sta read_params::ref_num
php
sei
MLI_CALL SET_MARK, set_mark_params MLI_CALL SET_MARK, set_mark_params
plp
and #$FF ; ???
beq :+ beq :+
brk ; crash brk ; crash
: lda #0 : lda #0
@ -290,11 +282,7 @@ loop: lda segment_num
bne continue bne continue
;; Close and invoke DeskTop init routine ;; Close and invoke DeskTop init routine
php
sei
MLI_CALL CLOSE, close_params MLI_CALL CLOSE, close_params
plp
and #$FF ; ???
beq :+ beq :+
brk ; crash brk ; crash
: jmp DESKTOP_INIT : jmp DESKTOP_INIT
@ -304,11 +292,7 @@ continue:
tax tax
copy16 segment_addr_table,x, read_params::data_buffer copy16 segment_addr_table,x, read_params::data_buffer
copy16 segment_size_table,x, read_params::request_count copy16 segment_size_table,x, read_params::request_count
php
sei
MLI_CALL READ, read_params MLI_CALL READ, read_params
plp
and #$FF ; ???
beq :+ beq :+
brk ; crash brk ; crash
: ldx segment_num : ldx segment_num

View File

@ -81,8 +81,6 @@ start: lda #$80
sty call sty call
sta params sta params
stx params+1 stx params+1
php
sei
sta ALTZPOFF sta ALTZPOFF
lda ROMIN2 lda ROMIN2
jsr MLI jsr MLI
@ -92,7 +90,6 @@ params: .addr 0
sta ALTZPON sta ALTZPON
lda LCBANK1 lda LCBANK1
lda LCBANK1 lda LCBANK1
plp
txa txa
self: bne self ; hang on error? self: bne self ; hang on error?
rts rts

View File

@ -120,13 +120,9 @@ loop: lda (src),y
.proc MLI_RELAY .proc MLI_RELAY
sty call sty call
stax params stax params
php
sei
jsr MLI jsr MLI
call: .byte 0 call: .byte 0
params: .addr 0 params: .addr 0
plp
and #$FF
self: bne self ; hang if fails self: bne self ; hang if fails
rts rts
.endproc .endproc

View File

@ -630,8 +630,6 @@ on_line_buffer:
.proc MLI_RELAY .proc MLI_RELAY
sty call sty call
stax params stax params
php
sei
sta ALTZPOFF sta ALTZPOFF
lda ROMIN2 lda ROMIN2
jsr MLI jsr MLI
@ -641,7 +639,6 @@ params: .addr 0
sta ALTZPON sta ALTZPON
lda LCBANK1 lda LCBANK1
lda LCBANK1 lda LCBANK1
plp
txa txa
rts rts
.endproc .endproc

View File

@ -516,6 +516,8 @@ L0D8D: .byte 0
PAD_TO $E00 PAD_TO $E00
; This is (probably) a Disk II formatter routine
L0E00: php L0E00: php
sei sei
jsr L0E3A jsr L0E3A
@ -1063,8 +1065,6 @@ L124A: .byte $00
.proc MLI_RELAY .proc MLI_RELAY
sty call sty call
stax params stax params
php
sei
sta ALTZPOFF sta ALTZPOFF
lda ROMIN2 lda ROMIN2
jsr MLI jsr MLI
@ -1074,7 +1074,6 @@ params: .addr 0
sta ALTZPON sta ALTZPON
lda LCBANK1 lda LCBANK1
lda LCBANK1 lda LCBANK1
plp
txa txa
rts rts
.endproc .endproc

View File

@ -1424,8 +1424,6 @@ L9DC8: .byte 0
.proc MLI_RELAY .proc MLI_RELAY
sty call sty call
stax params stax params
php
sei
sta ALTZPOFF sta ALTZPOFF
sta ROMIN2 sta ROMIN2
jsr MLI jsr MLI
@ -1435,7 +1433,6 @@ params: .addr 0
tax tax
lda LCBANK1 lda LCBANK1
lda LCBANK1 lda LCBANK1
plp
txa txa
rts rts
.endproc .endproc

View File

@ -844,8 +844,6 @@ L5993: .byte 0
.proc MLI_RELAY .proc MLI_RELAY
sty call sty call
stax params stax params
php
sei
sta ALTZPOFF sta ALTZPOFF
lda ROMIN2 lda ROMIN2
jsr MLI jsr MLI
@ -855,7 +853,6 @@ params: .addr 0
tax tax
lda LCBANK1 lda LCBANK1
lda LCBANK1 lda LCBANK1
plp
txa txa
rts rts
.endproc .endproc