mirror of https://github.com/a2-4am/passport.git
127 lines
3.4 KiB
Plaintext
Executable File
127 lines
3.4 KiB
Plaintext
Executable File
;-------------------------------
|
|
; #MECCM7
|
|
; MECC fastloader with custom
|
|
; address and data prologues
|
|
; e.g. Phonics Prime Time series
|
|
;-------------------------------
|
|
_meccm7
|
|
lda #$00
|
|
ldx #$00
|
|
ldy #$17
|
|
jsr compare ; if T00,S00,$00 ==
|
|
!byte 01,$4C,$1A,08,$17,$0F,00,00
|
|
!byte $0D,$0B,09,07,05,03,01,$0E
|
|
!byte $0C,$0A,08,06,04,02,$0F
|
|
bcs meccm7_exit
|
|
lda #$07
|
|
ldx #$7D
|
|
ldy #$06
|
|
jsr compare ; and T00,S07,$7D ==
|
|
!byte $BD,$8C,$C0,$10,$FB,$C9
|
|
bcs meccm7_exit
|
|
lda #$07
|
|
ldx #$84
|
|
ldy #$09
|
|
jsr compare ; and T00,S07,$84 ==
|
|
!byte $D0,$F0,$EA,$BD,$8C,$C0,$10,$FB,$C9
|
|
bcs meccm7_exit
|
|
lda #$07
|
|
ldx #$8E
|
|
ldy #$0A
|
|
jsr compare ; and T00,S07,$8E ==
|
|
!byte $D0,$F2,$A0,03,$BD,$8C,$C0,$10,$FB,$C9
|
|
bcs meccm7_exit
|
|
lda #$07
|
|
ldx #$0F
|
|
ldy #$06
|
|
jsr compare ; and T00,S07,$0F ==
|
|
!byte $BD,$8C,$C0,$10,$FB,$49
|
|
bcs meccm7_exit
|
|
lda #$07
|
|
ldx #$18
|
|
ldy #$07
|
|
jsr compare ; and T00,S07,$18 ==
|
|
!byte $EA,$BD,$8C,$C0,$10,$FB,$C9
|
|
bcs meccm7_exit
|
|
lda #$07
|
|
ldx #$20
|
|
ldy #$0A
|
|
jsr compare ; and T00,S07,$20 ==
|
|
!byte $D0,$F2,$A0,$56,$BD,$8C,$C0,$10,$FB,$C9
|
|
bcc meccm7_allclear
|
|
meccm7_exit
|
|
jmp meccm7_exit2
|
|
meccm7_allclear
|
|
lda #$07
|
|
ldx #$83
|
|
ldy #$01
|
|
jsr compare ; if T00,S07,$83 !=
|
|
!byte $D5
|
|
bcc meccm7_addr2
|
|
lda #$07
|
|
ldx #$83
|
|
ldy #$01
|
|
jsr modify ; then set T00,S07,$83 =
|
|
!byte $D5
|
|
meccm7_addr2
|
|
lda #$07
|
|
ldx #$8D
|
|
ldy #$01
|
|
jsr compare ; if T00,S07,$8D !=
|
|
!byte $AA
|
|
bcc meccm7_addr3
|
|
lda #$07
|
|
ldx #$8D
|
|
ldy #$01
|
|
jsr modify ; then set T00,S07,$8D =
|
|
!byte $AA
|
|
meccm7_addr3
|
|
lda #$07
|
|
ldx #$98
|
|
ldy #$01
|
|
jsr compare ; if T00,S07,$98 !=
|
|
!byte $96
|
|
bcc meccm7_data1
|
|
lda #$07
|
|
ldx #$98
|
|
ldy #$01
|
|
jsr modify ; then set T00,S07,$98 =
|
|
!byte $96
|
|
meccm7_data1
|
|
lda #$07
|
|
ldx #$15
|
|
ldy #$01
|
|
jsr compare ; if T00,S07,$15 !=
|
|
!byte $D5
|
|
bcc meccm7_data2
|
|
lda #$07
|
|
ldx #$15
|
|
ldy #$01
|
|
jsr modify ; then set T00,S07,$15 =
|
|
!byte $D5
|
|
meccm7_data2
|
|
lda #$07
|
|
ldx #$1F
|
|
ldy #$01
|
|
jsr compare ; if T00,S07,$1F !=
|
|
!byte $AA
|
|
bcc meccm7_data3
|
|
lda #$07
|
|
ldx #$1F
|
|
ldy #$01
|
|
jsr modify ; then set T00,S07,$1F =
|
|
!byte $AA
|
|
meccm7_data3
|
|
lda #$07
|
|
ldx #$2A
|
|
ldy #$01
|
|
jsr compare ; if T00,S07,$2A !=
|
|
!byte $AD
|
|
bcc meccm7_exit2
|
|
lda #$07
|
|
ldx #$2A
|
|
ldy #$01
|
|
jsr modify ; then set T00,S07,$2A =
|
|
!byte $AD
|
|
meccm7_exit2
|