mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-01-07 12:31:57 +00:00
81 lines
1.6 KiB
ArmAsm
81 lines
1.6 KiB
ArmAsm
|
;====================
|
||
|
; Hardware Detect
|
||
|
; called for disk1 and disk2
|
||
|
|
||
|
; simplified version that just detects model and mockingboard
|
||
|
; for the fake BIOS we do a bit more, but we do rely
|
||
|
; on this being run first
|
||
|
|
||
|
hardware_detect:
|
||
|
|
||
|
;=======================
|
||
|
; Hardware Detect Model
|
||
|
;=======================
|
||
|
; Yes Michaelangel007 I will eventually update linux_logo 6502
|
||
|
|
||
|
jsr detect_appleii_model
|
||
|
|
||
|
lda APPLEII_MODEL
|
||
|
cmp #'g'
|
||
|
bne not_iigs
|
||
|
|
||
|
is_a_iigs:
|
||
|
|
||
|
; enable 1MHz mode
|
||
|
; see hw.accel.a in 4cade
|
||
|
setspeed:
|
||
|
lda CYAREG
|
||
|
and #$7f
|
||
|
sta CYAREG
|
||
|
|
||
|
; gr/text page2 handling broken on early IIgs models
|
||
|
; this enables the workaround
|
||
|
|
||
|
jsr ROM_TEXT2COPY ; set alternate display mode on IIgs
|
||
|
|
||
|
|
||
|
; set background color to black instead of blue
|
||
|
lda NEWVIDEO
|
||
|
and #%00011111 ; bit 7 = 0 -> IIgs Apple II-compat video modes
|
||
|
; bit 6 = 0 -> IIgs 128K memory map same as IIe
|
||
|
; bit 5 = 0 -> IIgs DHGR is color, not mono
|
||
|
; bits 0-4 unchanged
|
||
|
sta NEWVIDEO
|
||
|
lda #$F0
|
||
|
sta TBCOLOR ; white text on black background
|
||
|
lda #$00
|
||
|
sta CLOCKCTL ; black border
|
||
|
sta CLOCKCTL ; set twice for VidHD
|
||
|
|
||
|
; gs always swaps in RAM
|
||
|
lda #<gs_interrupt_handler
|
||
|
sta $3FE
|
||
|
lda #>gs_interrupt_handler
|
||
|
sta $3FF
|
||
|
|
||
|
not_iigs:
|
||
|
|
||
|
|
||
|
;======================
|
||
|
; detect mockingboard
|
||
|
|
||
|
lda #0
|
||
|
sta SOUND_STATUS
|
||
|
|
||
|
;PT3_ENABLE_APPLE_IIC = 1 ; we set this earlier
|
||
|
|
||
|
jsr mockingboard_detect
|
||
|
bcc mockingboard_notfound
|
||
|
|
||
|
mockingboard_found:
|
||
|
|
||
|
lda SOUND_STATUS
|
||
|
ora #SOUND_MOCKINGBOARD
|
||
|
sta SOUND_STATUS
|
||
|
|
||
|
mockingboard_notfound:
|
||
|
|
||
|
rts
|
||
|
|
||
|
.include "pt3_lib_mockingboard.inc"
|