support some AGI games

This commit is contained in:
Peter Ferrie
2017-07-11 21:19:36 -07:00
parent 01691a5f9c
commit aa82787654
3 changed files with 68 additions and 8 deletions

View File

@@ -62,11 +62,34 @@ IDDOS33
!byte $6C,$3E,$00 !byte $6C,$3E,$00
!byte $EE,$FE,$08 !byte $EE,$FE,$08
!byte $EE,$FE,$08 !byte $EE,$FE,$08
!byte WILDCARD,WILDCARD,WILDCARD
!byte WILDCARD,WILDCARD,WILDCARD
!byte WILDCARD,WILDCARD,WILDCARD
!byte $A6,$2B
bcs .exit
;
; DOS 3.3 has JSR $FE89 / JSR $FE93 / JSR $FB2F
; some Sierra have STA $C050 / STA $C057 / STA $C055 instead
; with the unpleasant side-effect of showing text-mode garbage
; if mixed-mode was enabled at the time
;
lda #$00
ldx #$3F
ldy #$09
jsr compare ; if T00,S00,$3F ==
!byte $20,$89,$FE !byte $20,$89,$FE
!byte $20,$93,$FE !byte $20,$93,$FE
!byte $20,$2F,$FB !byte $20,$2F,$FB
!byte $A6,$2B bcc +
bcs .exit lda #$00
ldx #$3F
ldy #$09
jsr compare ; if T00,S00,$3F ==
!byte $8D,$50,$C0
!byte $8D,$57,$C0
!byte $8D,$55,$C0
+
; ;
; Sector order map must be standard (no exceptions) ; Sector order map must be standard (no exceptions)
; ;

View File

@@ -44,10 +44,12 @@ TraceDOS33b
sta $084B sta $084B
lda #>TraceDOS33c lda #>TraceDOS33c
sta $084C sta $084C
lda #$2C ; disable calls to lda #$EA
sta $083F ; TEXt/PR0/IN0 ldy #9
sta $0842 .noppatch
sta $0845 sta $83E,Y ; disable calls to
dey ; TEXt/PR0/IN0
bne .noppatch ; including "Grafboot"
jmp $0801 jmp $0801
TraceDOS33c TraceDOS33c

View File

@@ -20,6 +20,10 @@
; Winnie the Pooh ; Winnie the Pooh
; Donald Duck ; Donald Duck
; Mickey's Space Adventure ; Mickey's Space Adventure
; King's Quest
; Leisure Suit Larry
; Space Quest
; The Black Cauldron
; ;
; module by qkumba ; module by qkumba
;------------------------------- ;-------------------------------
@@ -185,7 +189,7 @@
!byte $80 ;dummy !byte $80 ;dummy
!byte $08,$CE,$CF,$CD,$CF,$CE,$C9,$C3,$CF !byte $08,$CE,$CF,$CD,$CF,$CE,$C9,$C3,$CF
;NOMONICO ;NOMONICO
bcc + + bcc +
ldy #19 ldy #19
jsr SearchTrack jsr SearchTrack
!byte $20,$07,$FF ;JSR $FF07 !byte $20,$07,$FF ;JSR $FF07
@@ -197,13 +201,44 @@
!byte $A9,$02 ;LDA #$02 !byte $A9,$02 ;LDA #$02
!byte $85,$0C ;STA $0C !byte $85,$0C ;STA $0C
!byte $4C,$41,$7E ;JMP $7E41 !byte $4C,$41,$7E ;JMP $7E41
bcc + + bcc +
ldy #17 ldy #17
jsr SearchTrack jsr SearchTrack
!byte $20,$27,$15 ;JSR $1527 !byte $20,$27,$15 ;JSR $1527
!byte $4C,$6C,$41 ;JMP $416C !byte $4C,$6C,$41 ;JMP $416C
!byte $84,$C2,$CC,$CF,$C1,$C4,$A0,$D7,$C1,$CC,$D4 !byte $84,$C2,$CC,$CF,$C1,$C4,$A0,$D7,$C1,$CC,$D4
;"BLOAD WALT..." ;"BLOAD WALT..."
+ bcc +
ldy #11
jsr SearchTrack
!byte $20,$00,$FF ;JSR $FF00
!byte $18 ;CLC
!byte $A9,$7A ;LDA #$7A
!byte $65,$08 ;ADC $08
!byte $8D,$65,$66 ;STA $6665
+ bcc +
ldy #18
jsr SearchTrack
!byte $20,$00,$FF ;JSR $FF00
!byte $A9,$00 ;LDA #$00
!byte $85,$A6 ;STA $A6
!byte $85,$A7 ;STA $A7
!byte $A9,$00 ;LDA #$00
!byte $85,$A8 ;STA $A8
!byte $85,$A9 ;STA $A9
!byte $20,$3A,$53 ;JSR $533A
+ bcc +
ldy #21
jsr SearchTrack
!byte $20,$00,$FF ;JSR $FF00
!byte $A5,$AC ;LDA $AC
!byte $8D,$E0,$7E ;STA $7EE0
!byte $A5,$AD ;LDA $AD
!byte $8D,$E1,$7E ;STA $7EE1
!byte $A5,$06 ;LDA $06
!byte $85,$AC ;STA $AC
!byte $A5,$07 ;LDA $07
!byte $85,$AD ;STA $AD
bcs ++ bcs ++
+ sta gDisplayBytes + sta gDisplayBytes
pha pha