mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-06-26 00:29:29 +00:00
second: fix apple iigs detection
there were actually quite a few bugs here in the detection
This commit is contained in:
parent
7520950fcd
commit
4e3a1257ab
|
@ -1,39 +1,34 @@
|
||||||
TODO OVERALL
|
TODO OVERALL
|
||||||
+ See if can squeeze into 64k RAM
|
+ See if can squeeze into 64k RAM
|
||||||
|
|
||||||
|
|
||||||
TODO MUSIC
|
|
||||||
+ be sure to mute channels when pausing
|
|
||||||
|
|
||||||
|
|
||||||
DISK I
|
DISK I
|
||||||
|
|
||||||
+BIOS
|
+BIOS
|
||||||
|
|
||||||
- get it working
|
|
||||||
- if it is, remove other detection code
|
- if it is, remove other detection code
|
||||||
|
- fix detection code (AUXMEM?)
|
||||||
|
|
||||||
+ Intro
|
+ Intro
|
||||||
- title cards
|
- title cards somehow?
|
||||||
- scrolling
|
- scrolling with page flipping?
|
||||||
- credits at bottom?
|
- better Sprites / explosion
|
||||||
|
- better sound sync
|
||||||
- Sprites / explosion
|
|
||||||
|
|
||||||
+ chessboard
|
+ chessboard
|
||||||
|
|
||||||
- falling effect
|
- better falling effect
|
||||||
- moving / bouncing object
|
- moving / bouncing object
|
||||||
have it reverse course?
|
have it reverse course?
|
||||||
|
|
||||||
- tunnel (for real)
|
- tunnel (for real)
|
||||||
|
|
||||||
- cirles / interference pattern (for real)
|
- cirles / interference pattern (for real)
|
||||||
scroll off to right at end
|
scroll off to right at end
|
||||||
|
|
||||||
+ gorilla
|
+ gorilla
|
||||||
scroll on, better TV effect
|
better scroll on
|
||||||
|
|
||||||
+ leaves
|
+ leaves
|
||||||
better animation?
|
better animation
|
||||||
|
|
||||||
+ Lens / Rotozoom
|
+ Lens / Rotozoom
|
||||||
- make lens do actual light bending effect
|
- make lens do actual light bending effect
|
||||||
|
@ -43,8 +38,6 @@ DISK I
|
||||||
- for rotozoom, wrap around
|
- for rotozoom, wrap around
|
||||||
note, this might mean 32x32
|
note, this might mean 32x32
|
||||||
|
|
||||||
- hook up sound file
|
|
||||||
|
|
||||||
+ Plasma
|
+ Plasma
|
||||||
- do the weird vertical wipe while still running
|
- do the weird vertical wipe while still running
|
||||||
|
|
||||||
|
@ -58,13 +51,12 @@ DISK I
|
||||||
|
|
||||||
+ Transmission / Spheres
|
+ Transmission / Spheres
|
||||||
|
|
||||||
- switch to lo-res version even though it doesn't look as good
|
- fix pause on disk load
|
||||||
- the actual transmission
|
- switch back to hi-res
|
||||||
45 degree sprite?
|
|
||||||
|
|
||||||
+ ocean / voxels
|
+ ocean / voxels
|
||||||
|
|
||||||
- at end, scroll back off screen
|
- maybe better scroll off at end
|
||||||
|
|
||||||
+ polar
|
+ polar
|
||||||
|
|
||||||
|
@ -82,7 +74,7 @@ DISK II
|
||||||
|
|
||||||
+ nuts
|
+ nuts
|
||||||
|
|
||||||
- sprite animation of ship
|
- better sprite animation of ship
|
||||||
|
|
||||||
+ credits (thumbnail)
|
+ credits (thumbnail)
|
||||||
|
|
||||||
|
|
|
@ -23,17 +23,16 @@ bios_test:
|
||||||
lda #0
|
lda #0
|
||||||
sta FAKE_KEY_COUNT
|
sta FAKE_KEY_COUNT
|
||||||
|
|
||||||
; jsr build_tables
|
|
||||||
|
|
||||||
;=======================
|
;=======================
|
||||||
; Hardware Detect Model
|
; Hardware Detect Model
|
||||||
;=======================
|
;=======================
|
||||||
; Yes Michaelangel007 I will eventually update linux_logo 6502
|
; Yes Michaelangel007 I will eventually update linux_logo 6502
|
||||||
|
|
||||||
jsr detect_appleii_model
|
; we did this earlier?
|
||||||
|
; jsr detect_appleii_model
|
||||||
|
|
||||||
lda APPLEII_MODEL
|
lda APPLEII_MODEL
|
||||||
cmp 'g'
|
cmp #'g'
|
||||||
bne not_iigs
|
bne not_iigs
|
||||||
|
|
||||||
is_a_iigs:
|
is_a_iigs:
|
||||||
|
@ -435,7 +434,7 @@ cpu_patch_2: ; +2
|
||||||
.byte "Memory Test: 0B OK",13,0
|
.byte "Memory Test: 0B OK",13,0
|
||||||
bios_message_1a:
|
bios_message_1a:
|
||||||
.byte "Press ",$17,"-D to enter SETUP",13,0
|
.byte "Press ",$17,"-D to enter SETUP",13,0
|
||||||
.byte "02/13/78-6502-564D57",0
|
.byte "02/13/78-6502-564D57 V1.1",0
|
||||||
|
|
||||||
bios_message_2:
|
bios_message_2:
|
||||||
|
|
||||||
|
@ -507,28 +506,6 @@ slot_patch1:
|
||||||
.byte "a",0
|
.byte "a",0
|
||||||
.byte "l",13,0
|
.byte "l",13,0
|
||||||
|
|
||||||
.if 0
|
|
||||||
bios_message5:
|
|
||||||
.byte 13,0
|
|
||||||
slot_patch2:
|
|
||||||
.byte "S6D1>",0 ; 112
|
|
||||||
.byte "d",0
|
|
||||||
.byte "i",0
|
|
||||||
.byte "r",0
|
|
||||||
.byte " ",0
|
|
||||||
.byte "/",0
|
|
||||||
.byte "w",13,0
|
|
||||||
|
|
||||||
bios_message_6:
|
|
||||||
.byte "Directory of s6d1:\games\lemmings\.",13,0 ; 128
|
|
||||||
.byte "[.] [..] QBOOT QLOAD",13,0
|
|
||||||
.byte "LEVEL1 LEVEL2 LEVEL3 LEVEL4",13,0
|
|
||||||
.byte "LEVEL5 LEVEL6 LEVEL7 LEVEL8",13,0
|
|
||||||
.byte "LEVEL9 LEVEL10 LEMM",13,0
|
|
||||||
.byte " 13 File(s) 90,624 Bytes.",13,0
|
|
||||||
.byte " 2 Dir(s) 52,736 Bytes free.",13,13,0
|
|
||||||
.endif
|
|
||||||
|
|
||||||
bios_message7:
|
bios_message7:
|
||||||
slot_patch3:
|
slot_patch3:
|
||||||
.byte "S6D1>",0 ; 184
|
.byte "S6D1>",0 ; 184
|
||||||
|
@ -536,6 +513,8 @@ slot_patch3:
|
||||||
.byte "2",0
|
.byte "2",0
|
||||||
.byte "r",0
|
.byte "r",0
|
||||||
|
|
||||||
|
|
||||||
|
font_data:
|
||||||
.include "font_console_1x8.s"
|
.include "font_console_1x8.s"
|
||||||
.include "fonts/a2_cga_thin.inc"
|
.include "fonts/a2_cga_thin.inc"
|
||||||
|
|
||||||
|
@ -544,12 +523,6 @@ graphics_data:
|
||||||
|
|
||||||
.include "../wait_keypress.s"
|
.include "../wait_keypress.s"
|
||||||
|
|
||||||
;wait_until_keypress:
|
|
||||||
; lda KEYPRESS ; 4
|
|
||||||
; bpl wait_until_keypress ; 3
|
|
||||||
; bit KEYRESET ; clear the keyboard buffer
|
|
||||||
; rts ; 6
|
|
||||||
|
|
||||||
|
|
||||||
memcount:
|
memcount:
|
||||||
.byte $00,$00,$00
|
.byte $00,$00,$00
|
||||||
|
@ -780,12 +753,12 @@ early_out:
|
||||||
|
|
||||||
.include "../hgr_clear_screen.s"
|
.include "../hgr_clear_screen.s"
|
||||||
|
|
||||||
;.include "pt3_lib_detect_model.s"
|
|
||||||
|
|
||||||
.include "aux_detect.s"
|
.include "aux_detect.s"
|
||||||
.include "65c02_detect.s"
|
.include "65c02_detect.s"
|
||||||
.include "pt3_lib_mockingboard_setup.s"
|
.include "pt3_lib_mockingboard_setup.s"
|
||||||
|
|
||||||
|
;.include "pt3_lib_detect_model.s"
|
||||||
;.include "../lc_detect.s"
|
;.include "../lc_detect.s"
|
||||||
;.include "../pt3_lib_mockingboard_detect.s"
|
;.include "../pt3_lib_mockingboard_detect.s"
|
||||||
;.include "../wait.s"
|
;.include "../wait.s"
|
||||||
|
|
|
@ -4,30 +4,54 @@
|
||||||
; this is mostly for IIc support
|
; this is mostly for IIc support
|
||||||
; as it does interrupts differently
|
; as it does interrupts differently
|
||||||
|
|
||||||
; ' ' ($20) = Apple II
|
; some of this info from the document:
|
||||||
; '+' ($2B) = Apple II+
|
; Apple II Family Identification Routines 2.2
|
||||||
; 'E' ($45) = Apple IIe
|
;
|
||||||
; 'C' ($43) = Apple IIc
|
|
||||||
; 'G' ($47) = Apple IIgs
|
|
||||||
|
|
||||||
|
; ' ' = Apple II
|
||||||
|
; '+' = Apple II+
|
||||||
|
; 'e' = Apple IIe
|
||||||
|
; 'c' = Apple IIc
|
||||||
|
; 'g' = Apple IIgs
|
||||||
|
; 'm' = mac L/C with board
|
||||||
|
; 'j' = jplus
|
||||||
|
; '3' = Apple III
|
||||||
|
|
||||||
detect_appleii_model:
|
detect_appleii_model:
|
||||||
lda #' '
|
lda #' '
|
||||||
|
|
||||||
ldx $FBB3
|
ldx $FBB3
|
||||||
|
|
||||||
; II is $38
|
; II is $38
|
||||||
; J-plus is $C9
|
; J-plus is $C9
|
||||||
; II+ is $EA (so is III)
|
; II+ is $EA (so is III)
|
||||||
; IIe and newer is $06
|
; IIe and newer is $06
|
||||||
|
|
||||||
cpx #$38
|
cpx #$38 ; ii
|
||||||
beq done_apple_detect
|
beq done_apple_detect
|
||||||
|
|
||||||
lda #'+'
|
|
||||||
|
; ii+ is EA FB1E=AD
|
||||||
|
; iii is EA FB1E=8A 00
|
||||||
|
|
||||||
cpx #$EA
|
cpx #$EA
|
||||||
|
bne not_ii_iii
|
||||||
|
ii_or_iii:
|
||||||
|
|
||||||
|
lda #'+' ; ii+/iii
|
||||||
|
|
||||||
|
ldx $FB1E
|
||||||
|
cpx #$AD
|
||||||
|
beq done_apple_detect ; ii+
|
||||||
|
|
||||||
|
lda #'3'
|
||||||
|
bne done_apple_detect ; bra iii
|
||||||
|
|
||||||
|
not_ii_iii:
|
||||||
|
lda #'j' ; jplus
|
||||||
|
cpx #$C9
|
||||||
beq done_apple_detect
|
beq done_apple_detect
|
||||||
|
|
||||||
; TODO: check for J-plus or III?
|
|
||||||
|
|
||||||
cpx #$06
|
cpx #$06
|
||||||
bne done_apple_detect
|
bne done_apple_detect
|
||||||
|
@ -44,19 +68,27 @@ apple_iie_or_newer:
|
||||||
|
|
||||||
beq apple_iic
|
beq apple_iic
|
||||||
|
|
||||||
lda #'E'
|
lda #'e'
|
||||||
cpx #$EA
|
cpx #$EA
|
||||||
beq done_apple_detect
|
beq done_apple_detect
|
||||||
cpx #$E0
|
; cpx #$E0
|
||||||
beq done_apple_detect
|
; beq done_apple_detect
|
||||||
|
|
||||||
; assume GS?
|
; should do something if not $E0
|
||||||
|
|
||||||
lda #'G'
|
; GS and IIe enhanced are the same, need to check
|
||||||
|
|
||||||
|
sec ; set carry
|
||||||
|
jsr $FE1F
|
||||||
|
bcs done_apple_detect ;If carry then IIe enhanced
|
||||||
|
|
||||||
|
; get here we're a IIgs?
|
||||||
|
|
||||||
|
lda #'g'
|
||||||
bne done_apple_detect
|
bne done_apple_detect
|
||||||
|
|
||||||
apple_iic:
|
apple_iic:
|
||||||
lda #'C'
|
lda #'c'
|
||||||
|
|
||||||
done_apple_detect:
|
done_apple_detect:
|
||||||
sta APPLEII_MODEL
|
sta APPLEII_MODEL
|
||||||
|
|
Loading…
Reference in New Issue
Block a user