mirror of
https://github.com/a2stuff/prodos-drivers.git
synced 2024-07-09 18:28:59 +00:00
NSC: More labels
This commit is contained in:
parent
16c6c98124
commit
934cbe2f70
@ -72,7 +72,8 @@ SETVID := $FE93
|
|||||||
|
|
||||||
init: sec
|
init: sec
|
||||||
bcs :+
|
bcs :+
|
||||||
.byte $04, $21, $91 ; ????
|
|
||||||
|
.byte $04, $21, $91 ; 4/21/91
|
||||||
|
|
||||||
;;; --------------------------------------------------
|
;;; --------------------------------------------------
|
||||||
|
|
||||||
@ -83,11 +84,13 @@ init: sec
|
|||||||
: ldx #5 ; pages
|
: ldx #5 ; pages
|
||||||
ldy #0
|
ldy #0
|
||||||
load: lda src,y ; self-modified
|
load: lda src,y ; self-modified
|
||||||
store: sta dst,y ; self-modified
|
load_hi := *-1
|
||||||
|
sta dst,y ; self-modified
|
||||||
|
store_hi := *-1
|
||||||
iny
|
iny
|
||||||
bne load
|
bne load
|
||||||
inc load+2
|
inc load_hi
|
||||||
inc store+2
|
inc store_hi
|
||||||
dex
|
dex
|
||||||
beq find_self_name
|
beq find_self_name
|
||||||
jmp load
|
jmp load
|
||||||
@ -174,9 +177,7 @@ cloop: iny
|
|||||||
|
|
||||||
.byte CR
|
.byte CR
|
||||||
HIASCII "Previous Clock Installed!"
|
HIASCII "Previous Clock Installed!"
|
||||||
.byte BELL
|
.byte BELL, CR, 0
|
||||||
.byte CR
|
|
||||||
.byte 0
|
|
||||||
|
|
||||||
jmp exit
|
jmp exit
|
||||||
.endproc
|
.endproc
|
||||||
@ -269,12 +270,9 @@ not_found:
|
|||||||
|
|
||||||
.byte CR
|
.byte CR
|
||||||
HIASCII "No-SLot Clock Not Found."
|
HIASCII "No-SLot Clock Not Found."
|
||||||
.byte CR
|
.byte CR, CR
|
||||||
.byte CR
|
|
||||||
HIASCII "Clock Not Installed!"
|
HIASCII "Clock Not Installed!"
|
||||||
.byte BELL
|
.byte BELL, CR, 0
|
||||||
.byte CR
|
|
||||||
.byte 0
|
|
||||||
|
|
||||||
jmp exit
|
jmp exit
|
||||||
|
|
||||||
@ -388,9 +386,9 @@ exit:
|
|||||||
jsr read_block
|
jsr read_block
|
||||||
|
|
||||||
lda data_buffer + entry_length
|
lda data_buffer + entry_length
|
||||||
sta adc1+1
|
sta entry_length_mod
|
||||||
lda data_buffer + entries_per_block
|
lda data_buffer + entries_per_block
|
||||||
sta cmp1+1
|
sta entries_per_block_mod
|
||||||
lda #1
|
lda #1
|
||||||
sta $A7 ; ???
|
sta $A7 ; ???
|
||||||
|
|
||||||
@ -443,13 +441,15 @@ entry: ldy #file_type ; file_type
|
|||||||
;; Move to the next entry
|
;; Move to the next entry
|
||||||
next: lda ptr
|
next: lda ptr
|
||||||
clc
|
clc
|
||||||
adc1: adc #$27 ; self-modified: entry_length
|
adc #$27 ; self-modified: entry_length
|
||||||
|
entry_length_mod := *-1
|
||||||
sta ptr
|
sta ptr
|
||||||
bcc :+
|
bcc :+
|
||||||
inc ptr+1
|
inc ptr+1
|
||||||
: inc $A7
|
: inc $A7
|
||||||
lda $A7
|
lda $A7
|
||||||
cmp1: cmp #$0D ; self-modified: entries_per_block
|
cmp #$0D ; self-modified: entries_per_block
|
||||||
|
entries_per_block_mod := *-1
|
||||||
bcc entry
|
bcc entry
|
||||||
|
|
||||||
lda data_buffer + next_block
|
lda data_buffer + next_block
|
||||||
@ -498,12 +498,9 @@ append: ldy #0
|
|||||||
not_found:
|
not_found:
|
||||||
jsr zstrout
|
jsr zstrout
|
||||||
|
|
||||||
.byte CR
|
.byte CR, CR, CR
|
||||||
.byte CR
|
|
||||||
.byte CR
|
|
||||||
HIASCII "* Unable to find next '.SYSTEM' file *"
|
HIASCII "* Unable to find next '.SYSTEM' file *"
|
||||||
.byte CR
|
.byte CR, 0
|
||||||
.byte 0
|
|
||||||
|
|
||||||
bit KBDSTRB
|
bit KBDSTRB
|
||||||
: lda KBD
|
: lda KBD
|
||||||
@ -519,22 +516,25 @@ not_found:
|
|||||||
.proc zstrout
|
.proc zstrout
|
||||||
ptr := $A5
|
ptr := $A5
|
||||||
|
|
||||||
pla
|
pla ; read address from stack
|
||||||
sta ptr
|
sta ptr
|
||||||
pla
|
pla
|
||||||
sta ptr+1
|
sta ptr+1
|
||||||
bne L1334
|
|
||||||
L132A: cmp #(HI 'a') ; lower-case?
|
bne skip ; ???
|
||||||
|
|
||||||
|
next: cmp #(HI 'a') ; lower-case?
|
||||||
bcc :+
|
bcc :+
|
||||||
and lowercase_mask ; make upper-case if needed
|
and lowercase_mask ; make upper-case if needed
|
||||||
: jsr COUT
|
: jsr COUT
|
||||||
L1334: inc ptr
|
skip: inc ptr
|
||||||
bne L133A
|
bne :+
|
||||||
inc ptr+1
|
inc ptr+1
|
||||||
L133A: ldy #$00
|
: ldy #$00
|
||||||
lda (ptr),y
|
lda (ptr),y
|
||||||
bne L132A
|
bne next
|
||||||
lda ptr+1
|
|
||||||
|
lda ptr+1 ; restore address to stack
|
||||||
pha
|
pha
|
||||||
lda ptr
|
lda ptr
|
||||||
pha
|
pha
|
||||||
@ -630,9 +630,7 @@ block_num: .word 2 ; block_num - block 2 is volume directory
|
|||||||
pha
|
pha
|
||||||
jsr zstrout
|
jsr zstrout
|
||||||
|
|
||||||
.byte CR
|
.byte CR, CR, CR
|
||||||
.byte CR
|
|
||||||
.byte CR
|
|
||||||
HIASCII "** Disk Error $"
|
HIASCII "** Disk Error $"
|
||||||
.byte 0
|
.byte 0
|
||||||
|
|
||||||
@ -641,8 +639,7 @@ block_num: .word 2 ; block_num - block 2 is volume directory
|
|||||||
jsr zstrout
|
jsr zstrout
|
||||||
|
|
||||||
HIASCII " **"
|
HIASCII " **"
|
||||||
.byte CR
|
.byte CR, 0
|
||||||
.byte 0
|
|
||||||
|
|
||||||
bit KBDSTRB
|
bit KBDSTRB
|
||||||
: lda KBD
|
: lda KBD
|
||||||
@ -691,13 +688,13 @@ self_name:
|
|||||||
driver:
|
driver:
|
||||||
php
|
php
|
||||||
sei
|
sei
|
||||||
ld4: lda $CFFF
|
ld4: lda $CFFF ; self-modified
|
||||||
pha
|
pha
|
||||||
st1: sta $C300 ; self-modified
|
st1: sta $C300 ; self-modified
|
||||||
ld1: lda $C304 ; self-modified
|
ld1: lda $C304 ; self-modified
|
||||||
ldx #8
|
ldx #8
|
||||||
L140D:
|
L140D:
|
||||||
ld3: lda $1472,x ; self-modified
|
ld3: lda unlock-1,x ; self-modified
|
||||||
sec
|
sec
|
||||||
ror a
|
ror a
|
||||||
L1412: pha
|
L1412: pha
|
||||||
@ -713,11 +710,11 @@ ld2: lda $C300,y ; self-modified
|
|||||||
ldx #8
|
ldx #8
|
||||||
L1423: ldy #8
|
L1423: ldy #8
|
||||||
st2:
|
st2:
|
||||||
L1425: lda $C304 ; self-modified
|
: lda $C304 ; self-modified
|
||||||
ror a
|
ror a
|
||||||
ror $01FF,x
|
ror $01FF,x
|
||||||
dey
|
dey
|
||||||
bne L1425
|
bne :-
|
||||||
lda $01FF,x
|
lda $01FF,x
|
||||||
lsr a
|
lsr a
|
||||||
lsr a
|
lsr a
|
||||||
@ -728,9 +725,9 @@ L1425: lda $C304 ; self-modified
|
|||||||
lda $01FF,x
|
lda $01FF,x
|
||||||
and #$0F
|
and #$0F
|
||||||
clc
|
clc
|
||||||
L143F: adc #$0A
|
: adc #$0A
|
||||||
dey
|
dey
|
||||||
bne L143F
|
bne :-
|
||||||
sta $01FF,x
|
sta $01FF,x
|
||||||
L1447: dex
|
L1447: dex
|
||||||
bne L1423
|
bne L1423
|
||||||
@ -750,9 +747,9 @@ L1447: dex
|
|||||||
rol a
|
rol a
|
||||||
sta DATELO+1
|
sta DATELO+1
|
||||||
pla
|
pla
|
||||||
bmi L1471
|
bmi done
|
||||||
st4: sta $CFFF ; self-modified
|
st4: sta $CFFF ; self-modified
|
||||||
L1471: plp
|
done: plp
|
||||||
rts
|
rts
|
||||||
|
|
||||||
unlock:
|
unlock:
|
||||||
@ -763,6 +760,8 @@ unlock:
|
|||||||
|
|
||||||
sizeof_driver := * - driver
|
sizeof_driver := * - driver
|
||||||
|
|
||||||
|
.assert (* - init <= $500), error, "Must fit in 5 pages"
|
||||||
|
|
||||||
;;; --------------------------------------------------
|
;;; --------------------------------------------------
|
||||||
;;; Junk from here on...
|
;;; Junk from here on...
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user