mirror of
https://github.com/a2-4am/anti-m.git
synced 2024-06-02 15:41:41 +00:00
support Sirius
This commit is contained in:
parent
2045e7dd50
commit
eb5ab43357
|
@ -9,7 +9,4 @@ Do not work yet:
|
|||
- Star Thief (Cavalier)
|
||||
$42C0: 4C 01 68 to bypass undocumented 6502 opcodes and 6502-specific JMP behavior
|
||||
- Quadrant 6112 (Sensible Software)
|
||||
- Beer Run (Sirius)
|
||||
- Gamma Goblins (Sirius)
|
||||
- Orbitron (Sirius)
|
||||
- Space Eggs (Sirius)
|
||||
|
|
|
@ -97,6 +97,8 @@ Tracer
|
|||
bcc BeginTheBoot
|
||||
jsr IDIDSI
|
||||
bcc BeginTheBoot
|
||||
jsr IDSirius
|
||||
bcc BeginTheBoot
|
||||
; [execution falls through here]
|
||||
Unsupported
|
||||
lda $C082
|
||||
|
@ -170,3 +172,4 @@ StringTable
|
|||
!src "src/idbroderbund.a"
|
||||
!src "src/idspiradisc.a"
|
||||
!src "src/ididsi.a"
|
||||
!src "src/sirius.a"
|
||||
|
|
97
src/idsirius.a
Normal file
97
src/idsirius.a
Normal file
|
@ -0,0 +1,97 @@
|
|||
; Sirius tracer
|
||||
; written by qkumba
|
||||
;
|
||||
; tested on
|
||||
; - Beer Run
|
||||
; - Gamma Goblins
|
||||
; - Orbitron
|
||||
;
|
||||
IDSirius
|
||||
lda #8
|
||||
ldx #1
|
||||
ldy #18
|
||||
jsr CompareMemory
|
||||
!byte $8D,$50,$C0 ;STA $C050
|
||||
!byte $8D,$52,$C0 ;STA $C052
|
||||
!byte $8D,$54,$C0 ;STA $C054
|
||||
!byte $8D,WILDCARD,$C0 ;STA $C0xx
|
||||
!byte $A6,$2B ;LDX $2B
|
||||
!byte $A9,$04 ;LDA #$04
|
||||
!byte $85,$11 ;STA $11
|
||||
bcs @exit
|
||||
|
||||
; patch code to regain control after it loads sectors into $400+
|
||||
ldy #@callback1_e-@callback1
|
||||
- lda @callback1-1,y
|
||||
sta @callback1x-1,y
|
||||
dey
|
||||
bne -
|
||||
ldx #<@callback1x
|
||||
stx $087E
|
||||
ldy #>@callback1x
|
||||
sty $087F
|
||||
lda $86F
|
||||
cmp #$4C
|
||||
clc
|
||||
bne @exit
|
||||
stx $0870
|
||||
sty $0871
|
||||
|
||||
@exit
|
||||
rts
|
||||
|
||||
@callback1 !pseudopc $300 {
|
||||
@callback1x
|
||||
; replace undocumented opcode with stack pointer restore
|
||||
ldx $525
|
||||
inx
|
||||
bne @orbitron
|
||||
ldx #$20
|
||||
txs
|
||||
ldx #$A2
|
||||
stx $525
|
||||
ldx #$01
|
||||
stx $526
|
||||
ldx #$9A
|
||||
stx $527
|
||||
bne @run1
|
||||
|
||||
@orbitron
|
||||
ldx $53C
|
||||
cpx #$85
|
||||
bne @unknown
|
||||
ldx $517
|
||||
cpx #$7A
|
||||
bne @gammagoblins
|
||||
ldx #$EA
|
||||
stx $517
|
||||
|
||||
@gammagoblins
|
||||
ldx #$4C
|
||||
stx $53C
|
||||
ldx #<@callback2
|
||||
stx $53D
|
||||
ldx #>@callback2
|
||||
stx $53E
|
||||
bne @run1
|
||||
|
||||
@unknown
|
||||
@run1
|
||||
ldx $2B
|
||||
jmp $400
|
||||
|
||||
@callback2
|
||||
lda #$EA
|
||||
sta $8F84
|
||||
sta $8F8F
|
||||
sta $8F93
|
||||
sta $8F98
|
||||
sta $8FB8
|
||||
sta $8FBC
|
||||
sta $8FD3
|
||||
sta $8FD8
|
||||
sta $8FE4
|
||||
tsx
|
||||
rts
|
||||
}
|
||||
@callback1_e
|
Loading…
Reference in New Issue
Block a user