mirror of
https://github.com/a2stuff/IIcSystemClock.git
synced 2025-01-15 01:31:43 +00:00
disasm: patches
This commit is contained in:
parent
7a7a3ffa33
commit
4a578b395a
142
clock.system.s
142
clock.system.s
@ -120,7 +120,7 @@ L2099 := * + 1
|
|||||||
lsr a
|
lsr a
|
||||||
sta L22C7
|
sta L22C7
|
||||||
jsr L222B
|
jsr L222B
|
||||||
sta $11FF
|
sta L11FF
|
||||||
ldx DEVCNT
|
ldx DEVCNT
|
||||||
L20AF: lda DEVLST,x
|
L20AF: lda DEVLST,x
|
||||||
and #$0F
|
and #$0F
|
||||||
@ -142,7 +142,7 @@ L20C8: lda DEVLST,x
|
|||||||
L20CB: and #%01110000 ; slot
|
L20CB: and #%01110000 ; slot
|
||||||
ora #$80
|
ora #$80
|
||||||
sta L22E3 ; Set $C0nn address
|
sta L22E3 ; Set $C0nn address
|
||||||
lda $11FE
|
lda L11FE
|
||||||
and #$03
|
and #$03
|
||||||
beq L20E3
|
beq L20E3
|
||||||
cmp #$02
|
cmp #$02
|
||||||
@ -150,13 +150,14 @@ L20CB: and #%01110000 ; slot
|
|||||||
lda $07
|
lda $07
|
||||||
bne L20EE
|
bne L20EE
|
||||||
beq L20FE
|
beq L20FE
|
||||||
L20E3: ldy #$38
|
L20E3: ldy #$38 ; offset into patch #1
|
||||||
lda $07
|
lda $07
|
||||||
beq L20F0
|
beq L20F0
|
||||||
ldy #$00
|
ldy #$00 ; offset into patch #2
|
||||||
jmp L20F0
|
jmp L20F0
|
||||||
|
|
||||||
L20EE: ldy #$70
|
;; Patch bytes on top of driver
|
||||||
|
L20EE: ldy #$70 ; offset into patch #3
|
||||||
L20F0: ldx #$00
|
L20F0: ldx #$00
|
||||||
L20F2: lda L22E2,y
|
L20F2: lda L22E2,y
|
||||||
sta L2269,x
|
sta L2269,x
|
||||||
@ -164,6 +165,7 @@ L20F2: lda L22E2,y
|
|||||||
inx
|
inx
|
||||||
cpx #$38
|
cpx #$38
|
||||||
bne L20F2
|
bne L20F2
|
||||||
|
|
||||||
L20FE: lda #$02
|
L20FE: lda #$02
|
||||||
sta L210F
|
sta L210F
|
||||||
L2103: jsr L223F
|
L2103: jsr L223F
|
||||||
@ -183,7 +185,7 @@ L2111: lda $07
|
|||||||
iny
|
iny
|
||||||
sty L226A
|
sty L226A
|
||||||
sty L2274
|
sty L2274
|
||||||
lda $11FE
|
lda L11FE
|
||||||
and #$03
|
and #$03
|
||||||
beq L20FE
|
beq L20FE
|
||||||
sty L229F
|
sty L229F
|
||||||
@ -196,6 +198,8 @@ L2135: ldy #$07
|
|||||||
jsr MON_HOME
|
jsr MON_HOME
|
||||||
jmp L1000
|
jmp L1000
|
||||||
|
|
||||||
|
;; --------------------------------------------------
|
||||||
|
|
||||||
L2145: lda #$00
|
L2145: lda #$00
|
||||||
sta DATELO
|
sta DATELO
|
||||||
sta DATELO+1
|
sta DATELO+1
|
||||||
@ -213,7 +217,7 @@ L2156: lda #OPC_JMP_abs
|
|||||||
lda $0A
|
lda $0A
|
||||||
cmp #$0B
|
cmp #$0B
|
||||||
bcc L2176
|
bcc L2176
|
||||||
bit $11FE
|
bit L11FE
|
||||||
bpl L2176
|
bpl L2176
|
||||||
sta $1204
|
sta $1204
|
||||||
L2176: lda $1204
|
L2176: lda $1204
|
||||||
@ -226,13 +230,13 @@ L2176: lda $1204
|
|||||||
sbc $1204
|
sbc $1204
|
||||||
bcs L21DF
|
bcs L21DF
|
||||||
L218C: bit KBDSTRB
|
L218C: bit KBDSTRB
|
||||||
rol $11FE
|
rol L11FE
|
||||||
lda #$03
|
lda #$03
|
||||||
cmp $0A
|
cmp $0A
|
||||||
ror $11FE
|
ror L11FE
|
||||||
L2199: ldy #$05
|
L2199: ldy #$05
|
||||||
jsr L10EF
|
jsr L10EF
|
||||||
lda $11FF
|
lda L11FF
|
||||||
jsr PRBYTE
|
jsr PRBYTE
|
||||||
ldy #$06
|
ldy #$06
|
||||||
jsr L10EF
|
jsr L10EF
|
||||||
@ -249,11 +253,11 @@ L21A9: jsr RDKEY
|
|||||||
asl a
|
asl a
|
||||||
asl a
|
asl a
|
||||||
asl a
|
asl a
|
||||||
sta $11FF
|
sta L11FF
|
||||||
jsr L238E
|
jsr L238E
|
||||||
and #$0F
|
and #$0F
|
||||||
ora $11FF
|
ora L11FF
|
||||||
sta $11FF
|
sta L11FF
|
||||||
jmp L2199
|
jmp L2199
|
||||||
|
|
||||||
L21D3: lda $1204
|
L21D3: lda $1204
|
||||||
@ -269,7 +273,7 @@ L21DF: lda RWRAM1
|
|||||||
sta L22B1
|
sta L22B1
|
||||||
lda DATETIME+2
|
lda DATETIME+2
|
||||||
sta L2203
|
sta L2203
|
||||||
adc #$00
|
adc #0
|
||||||
sta L22B2
|
sta L22B2
|
||||||
|
|
||||||
;; Relocate clock driver
|
;; Relocate clock driver
|
||||||
@ -285,7 +289,7 @@ L2203 := * + 2
|
|||||||
lda ROMIN2
|
lda ROMIN2
|
||||||
jmp L1000
|
jmp L1000
|
||||||
|
|
||||||
L2210: lda $11FF
|
L2210: lda L11FF
|
||||||
pha
|
pha
|
||||||
lsr a
|
lsr a
|
||||||
lsr a
|
lsr a
|
||||||
@ -427,6 +431,15 @@ L22DB := * + 1
|
|||||||
.byte $63
|
.byte $63
|
||||||
.byte $FF
|
.byte $FF
|
||||||
.byte $62
|
.byte $62
|
||||||
|
|
||||||
|
;; End of relocated clock driver
|
||||||
|
|
||||||
|
;;; ============================================================
|
||||||
|
|
||||||
|
;; Patches applied to driver (length $38, at offset 0)
|
||||||
|
|
||||||
|
;; Patch #1
|
||||||
|
patch1:
|
||||||
L22E2:
|
L22E2:
|
||||||
L22E3 := * + 1
|
L22E3 := * + 1
|
||||||
lda $C0E0 ; Set to $C0x0, n=slot+8
|
lda $C0E0 ; Set to $C0x0, n=slot+8
|
||||||
@ -458,6 +471,13 @@ L2307: lda MOUSE_BTN
|
|||||||
ldy #$04
|
ldy #$04
|
||||||
dex
|
dex
|
||||||
bpl L2300
|
bpl L2300
|
||||||
|
.assert * - patch1 = $38, error, "Patch length"
|
||||||
|
|
||||||
|
;; --------------------------------------------------
|
||||||
|
;; Patch #2
|
||||||
|
patch2:
|
||||||
|
.assert * - $38 = L22E2, error, "Offset changed"
|
||||||
|
|
||||||
lda PORT2_ACIA_COMMAND
|
lda PORT2_ACIA_COMMAND
|
||||||
nop
|
nop
|
||||||
ldy #$03
|
ldy #$03
|
||||||
@ -489,8 +509,17 @@ L233A: lda PORT2_ACIA_STATUS
|
|||||||
ldy #$04
|
ldy #$04
|
||||||
dex
|
dex
|
||||||
bpl L2335
|
bpl L2335
|
||||||
|
|
||||||
nop
|
nop
|
||||||
nop
|
nop
|
||||||
|
|
||||||
|
.assert * - patch2 = $38, error, "Patch length"
|
||||||
|
|
||||||
|
;; --------------------------------------------------
|
||||||
|
;; Patch #3
|
||||||
|
patch3:
|
||||||
|
.assert * - $70 = L22E2, error, "Offset changed"
|
||||||
|
|
||||||
lda ENVBL
|
lda ENVBL
|
||||||
sta ENBXY
|
sta ENBXY
|
||||||
sta X0EDGE1
|
sta X0EDGE1
|
||||||
@ -521,13 +550,18 @@ L236B: lda MOUSE_BTN
|
|||||||
dex
|
dex
|
||||||
bpl L2369
|
bpl L2369
|
||||||
lda DISVBL
|
lda DISVBL
|
||||||
|
.assert * - patch3 = $38, error, "Patch length"
|
||||||
|
|
||||||
|
;;; ============================================================
|
||||||
|
|
||||||
|
|
||||||
L238A: jsr L2265
|
L238A: jsr L2265
|
||||||
rts
|
rts
|
||||||
|
|
||||||
L238E: jsr RDKEY
|
L238E: jsr RDKEY
|
||||||
cmp #$B0
|
cmp #'0' | $80
|
||||||
bcc L238E
|
bcc L238E
|
||||||
cmp #$BA
|
cmp #('9'+1) | $80
|
||||||
bcs L238E
|
bcs L238E
|
||||||
jmp COUT
|
jmp COUT
|
||||||
|
|
||||||
@ -547,11 +581,11 @@ L239E:
|
|||||||
|
|
||||||
L1000:
|
L1000:
|
||||||
ldy #$00
|
ldy #$00
|
||||||
sty $11E8
|
sty L11E8
|
||||||
iny
|
iny
|
||||||
sty $04
|
sty $04
|
||||||
iny
|
iny
|
||||||
sty $11E7
|
sty L11E7
|
||||||
jsr L119F
|
jsr L119F
|
||||||
lda $1C23
|
lda $1C23
|
||||||
sta $02
|
sta $02
|
||||||
@ -573,16 +607,16 @@ L1021: ldy #$10
|
|||||||
and #$0F
|
and #$0F
|
||||||
sta $05
|
sta $05
|
||||||
tay
|
tay
|
||||||
ldx #$06
|
ldx #strlen_str_system - 1
|
||||||
L103A: lda ($00),y
|
L103A: lda ($00),y
|
||||||
cmp $122E,x
|
cmp str_system,x
|
||||||
bne L10A8
|
bne L10A8
|
||||||
dey
|
dey
|
||||||
dex
|
dex
|
||||||
bpl L103A
|
bpl L103A
|
||||||
ldy #$0C
|
ldy #strlen_str_clock_system
|
||||||
L1047: lda ($00),y
|
L1047: lda ($00),y
|
||||||
cmp $1235,y
|
cmp str_clock_system,y
|
||||||
bne L1053
|
bne L1053
|
||||||
dey
|
dey
|
||||||
bne L1047
|
bne L1047
|
||||||
@ -637,9 +671,9 @@ L10A8: clc
|
|||||||
cmp $03
|
cmp $03
|
||||||
bne L10E2
|
bne L10E2
|
||||||
ldy $1C02
|
ldy $1C02
|
||||||
sty $11E7
|
sty L11E7
|
||||||
lda $1C03
|
lda $1C03
|
||||||
sta $11E8
|
sta L11E8
|
||||||
bne L10D3
|
bne L10D3
|
||||||
tya
|
tya
|
||||||
bne L10D3
|
bne L10D3
|
||||||
@ -655,22 +689,25 @@ L10D3: jsr L119F
|
|||||||
sta $01
|
sta $01
|
||||||
L10E2: jmp L1021
|
L10E2: jmp L1021
|
||||||
|
|
||||||
L10E5: lda $11FE
|
L10E5: lda L11FE
|
||||||
and #$03
|
and #$03
|
||||||
bne L10EE
|
bne L10EE
|
||||||
ldy #$09
|
ldy #$09
|
||||||
L10EE: rts
|
L10EE: rts
|
||||||
|
|
||||||
L10EF: lda $1242,y
|
L10EF: lda $1242,y
|
||||||
sta $1109
|
sta L1109
|
||||||
lda $124E,y
|
lda L124E,y
|
||||||
sta $110A
|
sta L1109+1
|
||||||
cpy #$06
|
cpy #$06
|
||||||
beq L1106
|
beq L1106
|
||||||
cpy #$08
|
cpy #$08
|
||||||
beq L1106
|
beq L1106
|
||||||
jsr MON_HOME
|
jsr MON_HOME
|
||||||
L1106: ldy #$00
|
L1106: ldy #$00
|
||||||
|
|
||||||
|
L1109 := *+1
|
||||||
|
|
||||||
L1108: lda $F000,y
|
L1108: lda $F000,y
|
||||||
beq L1119
|
beq L1119
|
||||||
cmp #$E0
|
cmp #$E0
|
||||||
@ -682,7 +719,7 @@ L1113: jsr COUT
|
|||||||
L1119: rts
|
L1119: rts
|
||||||
|
|
||||||
L111A: lda #$07
|
L111A: lda #$07
|
||||||
sta $11F9
|
sta L11F9
|
||||||
ldy #$03
|
ldy #$03
|
||||||
L1121: lda DATELO,y
|
L1121: lda DATELO,y
|
||||||
sta $1203,y
|
sta $1203,y
|
||||||
@ -690,7 +727,7 @@ L1121: lda DATELO,y
|
|||||||
bpl L1121
|
bpl L1121
|
||||||
lda #OPC_RTS
|
lda #OPC_RTS
|
||||||
sta DATETIME
|
sta DATETIME
|
||||||
PRODOS_CALL MLI_SET_FILE_INFO, $11F9
|
PRODOS_CALL MLI_SET_FILE_INFO, L11F9
|
||||||
bne :+
|
bne :+
|
||||||
|
|
||||||
lda #OPC_JMP_abs
|
lda #OPC_JMP_abs
|
||||||
@ -707,8 +744,8 @@ L1121: lda DATELO,y
|
|||||||
|
|
||||||
L114F: PRODOS_CALL MLI_OPEN, $11E9
|
L114F: PRODOS_CALL MLI_OPEN, $11E9
|
||||||
bne L11A8
|
bne L11A8
|
||||||
lda $11EE
|
lda L11EE
|
||||||
sta $11F0
|
sta L11F0
|
||||||
|
|
||||||
PRODOS_CALL MLI_READ, $11EF
|
PRODOS_CALL MLI_READ, $11EF
|
||||||
bne L11A8
|
bne L11A8
|
||||||
@ -718,8 +755,8 @@ L114F: PRODOS_CALL MLI_OPEN, $11E9
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
L116E: lda DEVNUM
|
L116E: lda DEVNUM
|
||||||
sta $11DD
|
sta L11DD
|
||||||
sta $11E4
|
sta L11E4
|
||||||
|
|
||||||
PRODOS_CALL MLI_ON_LINE, $11DC
|
PRODOS_CALL MLI_ON_LINE, $11DC
|
||||||
bne L11A8
|
bne L11A8
|
||||||
@ -735,7 +772,7 @@ L116E: lda DEVNUM
|
|||||||
PRODOS_CALL MLI_SET_PREFIX, $11E0
|
PRODOS_CALL MLI_SET_PREFIX, $11E0
|
||||||
bne L11A8
|
bne L11A8
|
||||||
|
|
||||||
PRODOS_CALL MLI_GET_FILE_INFO, $11F9
|
PRODOS_CALL MLI_GET_FILE_INFO, L11F9
|
||||||
bne L11A8
|
bne L11A8
|
||||||
rts
|
rts
|
||||||
|
|
||||||
@ -769,24 +806,43 @@ L11C7: lda #$02
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
.byte $02
|
.byte $02
|
||||||
rts
|
L11DD: .byte $60
|
||||||
|
|
||||||
.byte $0C
|
.byte $0C
|
||||||
.byte $12
|
.byte $12
|
||||||
ora ($0B,x)
|
.byte $01,$0B
|
||||||
.byte $12,$03,$60,$00,$1C,$00,$00,$03
|
.byte $12,$03
|
||||||
.byte $1D,$12,$00,$1C,$00,$04,$00,$00
|
L11E4: .byte $60
|
||||||
.byte $20,$00,$9F,$00,$00,$01,$00,$0A
|
.byte $00,$1C
|
||||||
|
L11E7: .byte $00
|
||||||
|
L11E8: .byte $00
|
||||||
|
.byte $03
|
||||||
|
.byte $1D,$12,$00,$1C
|
||||||
|
L11EE: .byte $00
|
||||||
|
.byte $04
|
||||||
|
L11F0: .byte $00
|
||||||
|
.byte $00
|
||||||
|
.byte $20,$00,$9F,$00,$00,$01,$00
|
||||||
|
L11F9: .byte $0A
|
||||||
.byte $35,$12
|
.byte $35,$12
|
||||||
|
|
||||||
.res 50, 0
|
L11FC: .byte 0
|
||||||
|
L11FD: .byte 0
|
||||||
|
L11FE: .byte 0
|
||||||
|
L11FF: .byte 0
|
||||||
|
.res 46, 0
|
||||||
|
|
||||||
|
str_system:
|
||||||
.byte ".SYSTEM"
|
.byte ".SYSTEM"
|
||||||
|
strlen_str_system = .strlen(".SYSTEM")
|
||||||
|
|
||||||
|
str_clock_system:
|
||||||
PASCAL_STRING "CLOCK.SYSTEM"
|
PASCAL_STRING "CLOCK.SYSTEM"
|
||||||
|
strlen_str_clock_system = .strlen("CLOCK.SYSTEM")
|
||||||
|
|
||||||
.byte $5A,$AC,$08,$30,$4D,$64,$77,$87
|
.byte $5A,$AC,$08,$30,$4D,$64,$77,$87
|
||||||
.byte $AA,$2A,$47,$CD,$12,$12,$13,$13
|
.byte $AA,$2A,$47,$CD
|
||||||
|
L124E: .byte $12,$12,$13,$13
|
||||||
.byte $13,$13,$13,$13,$13,$13,$13,$12
|
.byte $13,$13,$13,$13,$13,$13,$13,$12
|
||||||
|
|
||||||
HIASCII "Install Clock Driver 1.5"
|
HIASCII "Install Clock Driver 1.5"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user