mirror of
https://github.com/A2osX/A2osX.git
synced 2024-06-13 11:29:44 +00:00
Kernel 0.93+ ProDOS 2.0.3 src
This commit is contained in:
parent
17d71f1040
commit
861c9c385d
Binary file not shown.
|
@ -324,7 +324,7 @@ H228E sta dst+1
|
||||||
cmp /dbuf+$800 until it points past end of buffer.
|
cmp /dbuf+$800 until it points past end of buffer.
|
||||||
bcc H228E if ok, read next block.
|
bcc H228E if ok, read next block.
|
||||||
|
|
||||||
H22B7 jmp lodintrp jmp to 'licode' (load interpreter)
|
H22B7 jmp $800 jmp to "load interpreter" code
|
||||||
|
|
||||||
* relocation/configuration error
|
* relocation/configuration error
|
||||||
|
|
||||||
|
@ -371,21 +371,25 @@ cortland .BS 1 cortland loader flag (1 = Cortland)
|
||||||
newquitflag .BS 1 1 = old quit code
|
newquitflag .BS 1 1 = old quit code
|
||||||
|
|
||||||
H232B .DA #1 move interpreter loader code
|
H232B .DA #1 move interpreter loader code
|
||||||
.DA lodintrp destination address
|
.DA $800 destination address
|
||||||
.DA H257B-licode length to move
|
.DA licode.end-licode length to move
|
||||||
.DA licode source address
|
.DA LOADINT source address
|
||||||
|
|
||||||
.DA #$01 move $3F0 vectors
|
.DA #$01 move $3F0 vectors
|
||||||
.DA p3vect destination
|
.DA p3vect destination
|
||||||
.DA $0010 16 bytes to move
|
.DA $0010 16 bytes to move
|
||||||
.DA H257B source
|
.DA H257B source
|
||||||
|
|
||||||
.DA #$01
|
.DA #$01
|
||||||
.DA lookptr
|
.DA lookptr destination address
|
||||||
.DA $0002
|
.DA $0002 length to move
|
||||||
.DA dst
|
.DA dst source
|
||||||
|
|
||||||
.DA #$01 move 128k test to zero page
|
.DA #$01 move 128k test to zero page
|
||||||
.DA tst128 destination
|
.DA tst128 destination
|
||||||
.DA LDR.Test128.Len
|
.DA LDR.Test128.Len length to move
|
||||||
.DA LDR.Test128
|
.DA LDR.Test128 source
|
||||||
|
|
||||||
.HS FF done
|
.HS FF done
|
||||||
|
|
||||||
dsp64 .DA #$01 move p8 dispatcher code
|
dsp64 .DA #$01 move p8 dispatcher code
|
||||||
|
@ -467,15 +471,16 @@ cortclock .DA #$01 relocation table. 1=move src to dst
|
||||||
|
|
||||||
* loader origin $800
|
* loader origin $800
|
||||||
|
|
||||||
ofsL .EQ *-lodintrp offset from loader org
|
LOADINT .PH $800
|
||||||
|
|
||||||
licode jsr MLI check for file 'atinit'
|
licode jsr MLI check for file 'atinit'
|
||||||
.DA #MLIGETFILEINFO
|
.DA #MLIGETFILEINFO
|
||||||
.DA gfi_list
|
.DA gfi_list
|
||||||
bcc gfi_ok branch if 'atinit' file found
|
bcc gfi_ok branch if 'atinit' file found
|
||||||
cmp #$46 file not found?
|
cmp #$46 file not found?
|
||||||
beq H23DF if so, continue loading interpreter
|
beq H23DF if so, continue loading interpreter
|
||||||
bne H23E2
|
bne H23E2
|
||||||
|
|
||||||
gfi_ok lda gfi_type
|
gfi_ok lda gfi_type
|
||||||
cmp #$E2 is 'atinit' correct file type?
|
cmp #$E2 is 'atinit' correct file type?
|
||||||
bne H23E2 error - wrong file type
|
bne H23E2 error - wrong file type
|
||||||
|
@ -500,34 +505,29 @@ H23DF jmp goloadint execute .system file
|
||||||
|
|
||||||
* fatal error
|
* fatal error
|
||||||
|
|
||||||
H23E2 ldx H23F0
|
H23E2 ldx $23F0 BUG: should be ATINIT.ERR
|
||||||
H23E5 lda H23F0,x
|
H23E5 lda $23F0,x BUG: should be ATINIT.ERR
|
||||||
sta vline16,x
|
sta vline16,x
|
||||||
dex
|
dex
|
||||||
bne H23E5
|
bne H23E5
|
||||||
beq *
|
beq *
|
||||||
|
|
||||||
H23F0 .DA #$1A length of message
|
ATINIT.ERR .DA #$1A length of message
|
||||||
.AS -"Unable to load ATInit file"
|
.AS -"Unable to load ATInit file"
|
||||||
|
|
||||||
gfi_list .EQ *-ofsL
|
gfi_list .DA #$0A
|
||||||
.DA #$0A
|
|
||||||
.DA atinitname
|
.DA atinitname
|
||||||
.HS 00
|
.HS 00
|
||||||
gfi_type .EQ *-ofsL
|
gfi_type .HS 00000000
|
||||||
.HS 00000000
|
|
||||||
.HS 0000000000000000
|
.HS 0000000000000000
|
||||||
.HS 0000
|
.HS 0000
|
||||||
atopen .EQ *-ofsL parms to open 'atinit'
|
atopen .HS 03
|
||||||
.HS 03
|
|
||||||
.DA atinitname
|
.DA atinitname
|
||||||
.DA iobuf i/o buffer
|
.DA iobuf i/o buffer
|
||||||
.HS 01 ref# hard coded since no other files
|
.HS 01 ref# hard coded since no other files
|
||||||
atinitname .EQ *-ofsL
|
atinitname .DA #06 length of name
|
||||||
.DA #06 length of name
|
|
||||||
.AS -"atinit" name of appletalk config file
|
.AS -"atinit" name of appletalk config file
|
||||||
goloadint .EQ *-ofsL
|
goloadint
|
||||||
|
|
||||||
lda /dbuf search directory buffer
|
lda /dbuf search directory buffer
|
||||||
sta idxl+1
|
sta idxl+1
|
||||||
lda #$04 start 1 entry past header
|
lda #$04 start 1 entry past header
|
||||||
|
@ -621,10 +621,10 @@ H24C8 jsr MLI close interpreter file
|
||||||
sta KBDSTROBE clear keyboard
|
sta KBDSTROBE clear keyboard
|
||||||
H24DF lda RROMBNK2 enable ROM
|
H24DF lda RROMBNK2 enable ROM
|
||||||
jmp sysentry go run interpreter
|
jmp sysentry go run interpreter
|
||||||
cflag .EQ *-ofsL
|
|
||||||
.HS 00 set if a //c.
|
cflag .HS 00 set if a //c.
|
||||||
nointrp .EQ *-ofsL no interpreter found,
|
|
||||||
jsr MLI so quit.
|
nointrp jsr MLI no interpreter found,so quit.
|
||||||
.DA #$65
|
.DA #$65
|
||||||
.DA quitparm
|
.DA quitparm
|
||||||
badlod ldy ierlen center the error message
|
badlod ldy ierlen center the error message
|
||||||
|
@ -646,41 +646,32 @@ H2508 lda lgmess,y
|
||||||
dey
|
dey
|
||||||
bpl H2508
|
bpl H2508
|
||||||
H2511 bmi H2511
|
H2511 bmi H2511
|
||||||
lgmess .EQ *-ofsL
|
lgmess .AS -"** System program too large **"
|
||||||
.AS -"** System program too large **"
|
iomess .AS -"** Unable to load"
|
||||||
iomess .EQ *-ofsL
|
|
||||||
.AS -"** Unable to load"
|
|
||||||
.AS -" X.System *********"
|
.AS -" X.System *********"
|
||||||
ierlen .EQ *-ofsL
|
ierlen .HS 00
|
||||||
.HS 00
|
opparm .HS 03
|
||||||
opparm .EQ *-ofsL parms for open call
|
|
||||||
.HS 03
|
|
||||||
.DA pbuf
|
.DA pbuf
|
||||||
.DA iobuf
|
.DA iobuf
|
||||||
.HS 01
|
.HS 01
|
||||||
efparm .EQ *-ofsL parms for get eof call
|
efparm .HS 02
|
||||||
.HS 02
|
|
||||||
.DA #01
|
.DA #01
|
||||||
eof .EQ *-ofsL
|
eof .HS 000000 length of file.
|
||||||
.HS 000000 length of file.
|
rdparm .HS 04
|
||||||
rdparm .EQ *-ofsL parms for read call
|
|
||||||
.HS 04
|
|
||||||
.HS 01
|
.HS 01
|
||||||
.DA sysentry
|
.DA sysentry
|
||||||
rdlen .EQ *-ofsL
|
rdlen .HS 0000
|
||||||
.HS 0000
|
.HS 0000
|
||||||
.HS 0000
|
clparm .HS 01
|
||||||
clparm .EQ *-ofsL parms for close call
|
|
||||||
.HS 01
|
|
||||||
.HS 00
|
.HS 00
|
||||||
quitparm .EQ *-ofsL parms for quit call
|
quitparm .HS 04
|
||||||
.HS 04
|
|
||||||
.HS 00
|
.HS 00
|
||||||
.HS 0000
|
.HS 0000
|
||||||
.HS 00
|
.HS 00
|
||||||
.HS 0000
|
.HS 0000
|
||||||
iterp .EQ *-ofsL interpreter suffix that is required
|
iterp .AS -".SYSTEM" interpreter suffix that is required
|
||||||
.AS -".SYSTEM"
|
|
||||||
|
licode.end .EP
|
||||||
|
|
||||||
* 16 bytes moved to $03F0 vectors
|
* 16 bytes moved to $03F0 vectors
|
||||||
|
|
||||||
|
@ -743,7 +734,7 @@ LDR.Test128 sta idapple H25DC-2621 was moved to location tst128
|
||||||
sta SETWRITEAUX write to aux mem while on main zp
|
sta SETWRITEAUX write to aux mem while on main zp
|
||||||
sta SETREADAUX and read aux mem.
|
sta SETREADAUX and read aux mem.
|
||||||
sta dbuf write these locs just to test aux mem
|
sta dbuf write these locs just to test aux mem
|
||||||
sta lodintrp 1k apart from each other.
|
sta $800 1k apart from each other.
|
||||||
lda dbuf
|
lda dbuf
|
||||||
cmp #$EE
|
cmp #$EE
|
||||||
bne noaux
|
bne noaux
|
||||||
|
@ -751,7 +742,7 @@ LDR.Test128 sta idapple H25DC-2621 was moved to location tst128
|
||||||
asl change value and see what happens.
|
asl change value and see what happens.
|
||||||
cmp dbuf
|
cmp dbuf
|
||||||
bne noaux branch if not sparse mapping.
|
bne noaux branch if not sparse mapping.
|
||||||
cmp lodintrp
|
cmp $800
|
||||||
bne H2606 if not sparse.
|
bne H2606 if not sparse.
|
||||||
noaux sec no aux memory available.
|
noaux sec no aux memory available.
|
||||||
bcs H2607
|
bcs H2607
|
||||||
|
|
|
@ -878,6 +878,6 @@ spunit .HS 0000000000000000 ref pathbuf-$10smartport unit numbers
|
||||||
* pathname buffer starts at this page boundary (pathbuf = $D700)
|
* pathname buffer starts at this page boundary (pathbuf = $D700)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE USR/SRC/PRODOS.203/PRODOS.S.DISKII
|
SAVE USR/SRC/PRODOS.203/PRODOS.S.XRW
|
||||||
LOAD USR/SRC/PRODOS.203/PRODOS.S
|
LOAD USR/SRC/PRODOS.203/PRODOS.S
|
||||||
ASM
|
ASM
|
|
@ -125,8 +125,8 @@ vline14 .EQ $06A8 line 14 of display
|
||||||
vline16 .EQ $07A8 line 16 of display
|
vline16 .EQ $07A8 line 16 of display
|
||||||
vline23 .EQ $0750 line 23 of display
|
vline23 .EQ $0750 line 23 of display
|
||||||
vline24 .EQ $07D0 line 24 of display
|
vline24 .EQ $07D0 line 24 of display
|
||||||
lodintrp .EQ $800
|
|
||||||
DirBlkBuf .EQ $C00
|
DirBlkBuf .EQ $0C00
|
||||||
dbuf .EQ $0C00 8 page directory buffer
|
dbuf .EQ $0C00 8 page directory buffer
|
||||||
vblock1 .EQ $0E00 ramdisk directory block
|
vblock1 .EQ $0E00 ramdisk directory block
|
||||||
volbuf .EQ $0F00 volume buffer
|
volbuf .EQ $0F00 volume buffer
|
||||||
|
@ -211,7 +211,7 @@ RAMX .PH $200
|
||||||
.EP
|
.EP
|
||||||
|
|
||||||
XRW .PH $D000
|
XRW .PH $D000
|
||||||
.INB USR/SRC/PRODOS.203/PRODOS.S.DISKII
|
.INB USR/SRC/PRODOS.203/PRODOS.S.XRW
|
||||||
.EP
|
.EP
|
||||||
|
|
||||||
SEL0 .PH $1000
|
SEL0 .PH $1000
|
||||||
|
|
Loading…
Reference in New Issue
Block a user