;------------------------------- ; #PRODOSMECC ; patch MECC-specific bits on ; ProDOS-based MECC disks ; [thanks LoGo] ;------------------------------- _prodosmecc lda gIsProDOS beq + jmp prodosmecc_exit + ldy #$0E jsr SearchTrack !byte $50,$54,$58,$5C,$60,$64,$68,00 !byte $20,$10,$30,$97,$AA,$EB bcs + sta gDisplayBytes inx inx inx inx inx inx inx inx inx inx inx ldy #$01 jsr compare !byte $DE bcc + ldy #$01 jsr modify !byte $DE + ldy #$15 jsr SearchTrack !byte $AD,$C4,$D1,$CD,$C8,$D4,08,$2C !byte $81,$C0,$28,$D0,06,$C9,$DE,$F0 !byte 02,$18,$24,$38,$60 bcs + sta gDisplayBytes inx inx inx inx inx inx inx inx inx inx inx inx inx inx inx inx inx inx inx ldy #$01 jsr compare !byte $38 bcs + ldy #$01 jsr modify !byte $18 + ldy #$18 jsr SearchTrack ; variation seen in e.g. A-232 Spelling Press !byte $AD,$C4,$D1,$CD,$C8,$D4,08,$2C !byte $81,$C0,$28,$D0,09,$8D,$97,$97 !byte $C9,$DE,$F0,02,$18,$24,$38,$60 bcs + sta gDisplayBytes inx inx inx inx inx inx inx inx inx inx inx inx inx inx inx inx inx inx inx inx inx inx ldy #$01 jsr compare !byte $38 bcs + ldy #$01 jsr modify !byte $18 + ldy #$0C jsr SearchTrack !byte $30,$A2,$20,00,$BF,$80,$97,$97,$B0,$98,$38,$60 bcs + inx inx inx inx inx inx inx inx inx inx ldy #$01 jsr compare !byte $38 bcs + ldy #$01 jsr modify !byte $18 + ldy #$0B jsr SearchTrack !byte $30,$91,$38,$60,00,$20,00,03,00,03,00 bcs prodosmecc_exit inx inx ldy #$01 jsr compare !byte $38 bcs prodosmecc_exit ldy #$01 jsr modify !byte $18 prodosmecc_exit