mirror of
https://github.com/mi57730/a2d.git
synced 2025-02-16 20:31:09 +00:00
IIgs: Restore Color DHR when exiting.
This commit is contained in:
parent
1f70bcd7f1
commit
e4c68af91e
@ -2094,24 +2094,14 @@ start:
|
|||||||
|
|
||||||
;; Restore machine to text state
|
;; Restore machine to text state
|
||||||
sta ALTZPOFF
|
sta ALTZPOFF
|
||||||
lda ROMIN2
|
jsr exit_dhr_mode
|
||||||
jsr SETVID
|
|
||||||
jsr SETKBD
|
|
||||||
jsr INIT
|
|
||||||
jsr HOME
|
|
||||||
sta TXTSET
|
|
||||||
sta LOWSCR
|
|
||||||
sta LORES
|
|
||||||
sta MIXCLR
|
|
||||||
sta DHIRESOFF
|
|
||||||
sta CLRALTCHAR
|
|
||||||
sta CLR80VID
|
|
||||||
sta CLR80COL
|
|
||||||
|
|
||||||
MLI_CALL QUIT, quit_params
|
MLI_CALL QUIT, quit_params
|
||||||
.endproc
|
.endproc
|
||||||
cmd_quit := cmd_quit_impl::start
|
cmd_quit := cmd_quit_impl::start
|
||||||
|
|
||||||
|
PAD_TO $50F9 ; Maintain previous addresses
|
||||||
|
|
||||||
;;; ============================================================
|
;;; ============================================================
|
||||||
|
|
||||||
.proc cmd_view_by_icon
|
.proc cmd_view_by_icon
|
||||||
@ -3390,19 +3380,7 @@ L5AD0: .byte 0
|
|||||||
;; also invoked by launcher code
|
;; also invoked by launcher code
|
||||||
.proc reset_and_invoke
|
.proc reset_and_invoke
|
||||||
sta ALTZPOFF
|
sta ALTZPOFF
|
||||||
lda ROMIN2
|
jsr exit_dhr_mode
|
||||||
jsr SETVID
|
|
||||||
jsr SETKBD
|
|
||||||
jsr INIT
|
|
||||||
jsr HOME
|
|
||||||
sta TXTSET
|
|
||||||
sta LOWSCR
|
|
||||||
sta LORES
|
|
||||||
sta MIXCLR
|
|
||||||
sta DHIRESOFF
|
|
||||||
sta CLRALTCHAR
|
|
||||||
sta CLR80VID
|
|
||||||
sta CLR80COL
|
|
||||||
|
|
||||||
;; also used by launcher code
|
;; also used by launcher code
|
||||||
target := *+1
|
target := *+1
|
||||||
@ -3410,6 +3388,7 @@ L5AD0: .byte 0
|
|||||||
.endproc
|
.endproc
|
||||||
reset_and_invoke_target := reset_and_invoke::target
|
reset_and_invoke_target := reset_and_invoke::target
|
||||||
|
|
||||||
|
PAD_TO $5B1B ; Maintain previous addresses
|
||||||
|
|
||||||
;;; ============================================================
|
;;; ============================================================
|
||||||
|
|
||||||
@ -14304,6 +14283,36 @@ reset_grafport3a:
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
.assert * = $BEC4, error, "Segment length mismatch"
|
.assert * = $BEC4, error, "Segment length mismatch"
|
||||||
|
|
||||||
|
;;; ============================================================
|
||||||
|
;;; Invoked when exiting or launching another program.
|
||||||
|
|
||||||
|
.proc exit_dhr_mode
|
||||||
|
lda ROMIN2
|
||||||
|
jsr SETVID
|
||||||
|
jsr SETKBD
|
||||||
|
jsr INIT
|
||||||
|
jsr HOME
|
||||||
|
sta TXTSET
|
||||||
|
sta LOWSCR
|
||||||
|
sta LORES
|
||||||
|
sta MIXCLR
|
||||||
|
sta DHIRESOFF
|
||||||
|
sta CLRALTCHAR
|
||||||
|
sta CLR80VID
|
||||||
|
sta CLR80COL
|
||||||
|
|
||||||
|
;; On IIgs (only), restore DHR Color mode
|
||||||
|
sec
|
||||||
|
jsr ID_BYTE_FE1F
|
||||||
|
bcs done
|
||||||
|
lda NEWVIDEO
|
||||||
|
ora #<~(1<<5) ; Color
|
||||||
|
sta NEWVIDEO
|
||||||
|
|
||||||
|
done: rts
|
||||||
|
.endproc
|
||||||
|
|
||||||
PAD_TO $BF00
|
PAD_TO $BF00
|
||||||
|
|
||||||
.endproc ; desktop_main
|
.endproc ; desktop_main
|
||||||
@ -14392,7 +14401,7 @@ iigs_flag: ; High bit set if IIgs detected.
|
|||||||
;; Skip on IIgs since emulators (KEGS/GSport/GSplus) crash.
|
;; Skip on IIgs since emulators (KEGS/GSport/GSplus) crash.
|
||||||
sta HR2_ON
|
sta HR2_ON
|
||||||
sta HR3_ON
|
sta HR3_ON
|
||||||
bmi end
|
bpl end
|
||||||
|
|
||||||
;; Force B&W mode on the IIgs
|
;; Force B&W mode on the IIgs
|
||||||
iigs: lda NEWVIDEO
|
iigs: lda NEWVIDEO
|
||||||
|
Loading…
x
Reference in New Issue
Block a user