mirror of
https://github.com/mi57730/a2d.git
synced 2025-02-20 02:29:11 +00:00
Re-enable Le Chat Mauve/AppleColor DHR color mode on exit. Fixes #111
This commit is contained in:
parent
0078eb6b96
commit
b817f5c0b0
@ -37,6 +37,10 @@ prefix_path: .res 65, 0
|
||||
|
||||
;;; ============================================================
|
||||
|
||||
;; Early errors - show alert and return to DeskTop
|
||||
fail: jsr JUMP_TABLE_ALERT_X
|
||||
rts
|
||||
|
||||
start:
|
||||
;; Get active window's path
|
||||
jsr get_win_path
|
||||
@ -64,6 +68,33 @@ start:
|
||||
sta LOWSCR
|
||||
sta LORES
|
||||
sta MIXCLR
|
||||
|
||||
;; AppleColor Card - Mode 2 (Color 140x192)
|
||||
sta SET80VID
|
||||
lda AN3_OFF
|
||||
lda AN3_ON
|
||||
lda AN3_OFF
|
||||
lda AN3_ON
|
||||
lda AN3_OFF
|
||||
|
||||
;; IIgs?
|
||||
sec
|
||||
jsr ID_BYTE_FE1F
|
||||
bcc iigs
|
||||
|
||||
;; Le Chat Mauve - COL140 mode
|
||||
;; (AN3 off, HR1 off, HR2 off, HR3 off)
|
||||
;; Skip on IIgs since emulators (KEGS/GSport/GSplus) crash.
|
||||
sta HR2_OFF
|
||||
sta HR3_OFF
|
||||
bcs finish_video
|
||||
|
||||
;; Apple IIgs - DHR Color
|
||||
iigs: lda NEWVIDEO
|
||||
and #<~(1<<5) ; Color
|
||||
sta NEWVIDEO
|
||||
|
||||
finish_video:
|
||||
sta DHIRESOFF
|
||||
sta CLRALTCHAR
|
||||
sta CLR80VID
|
||||
@ -93,11 +124,6 @@ start:
|
||||
;; Launch
|
||||
jmp $2000
|
||||
|
||||
|
||||
;; Early errors - show alert and return to DeskTop
|
||||
fail: jsr JUMP_TABLE_ALERT_X
|
||||
rts
|
||||
|
||||
;; Late errors - QUIT, which should relaunch DeskTop
|
||||
quit: MLI_CALL QUIT, quit_params
|
||||
|
||||
|
@ -9343,6 +9343,53 @@ open: MLI_RELAY_CALL OPEN, open_params
|
||||
done: rts
|
||||
.endproc
|
||||
|
||||
;;; ============================================================
|
||||
;;; 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
|
||||
|
||||
;; AppleColor Card - Mode 2 (Color 140x192)
|
||||
sta SET80VID
|
||||
lda AN3_OFF
|
||||
lda AN3_ON
|
||||
lda AN3_OFF
|
||||
lda AN3_ON
|
||||
lda AN3_OFF
|
||||
|
||||
;; IIgs?
|
||||
sec
|
||||
jsr ID_BYTE_FE1F
|
||||
bcc iigs
|
||||
|
||||
;; Le Chat Mauve - COL140 mode
|
||||
;; (AN3 off, HR1 off, HR2 off, HR3 off)
|
||||
;; Skip on IIgs since emulators (KEGS/GSport/GSplus) crash.
|
||||
sta HR2_OFF
|
||||
sta HR3_OFF
|
||||
bcs finish_video
|
||||
|
||||
;; Apple IIgs - DHR Color
|
||||
iigs: lda NEWVIDEO
|
||||
and #<~(1<<5) ; Color
|
||||
sta NEWVIDEO
|
||||
|
||||
finish_video:
|
||||
sta DHIRESOFF
|
||||
sta CLRALTCHAR
|
||||
sta CLR80VID
|
||||
sta CLR80COL
|
||||
rts
|
||||
.endproc
|
||||
|
||||
;;; ============================================================
|
||||
|
||||
PAD_TO $8F00
|
||||
@ -14863,33 +14910,6 @@ reset_grafport3a:
|
||||
rts
|
||||
|
||||
;;; ============================================================
|
||||
;;; 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
|
||||
and #<~(1<<5) ; Color
|
||||
sta NEWVIDEO
|
||||
|
||||
done: rts
|
||||
.endproc
|
||||
|
||||
PAD_TO $BF00
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user