Kernel 0.93+ ProDOS 2.0.3 src

This commit is contained in:
Rémy GIBERT 2019-09-17 20:38:45 +02:00
parent 17d71f1040
commit 861c9c385d
4 changed files with 47 additions and 56 deletions

Binary file not shown.

View File

@ -324,7 +324,7 @@ H228E sta dst+1
cmp /dbuf+$800 until it points past end of buffer.
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
@ -371,21 +371,25 @@ cortland .BS 1 cortland loader flag (1 = Cortland)
newquitflag .BS 1 1 = old quit code
H232B .DA #1 move interpreter loader code
.DA lodintrp destination address
.DA H257B-licode length to move
.DA licode source address
.DA $800 destination address
.DA licode.end-licode length to move
.DA LOADINT source address
.DA #$01 move $3F0 vectors
.DA p3vect destination
.DA $0010 16 bytes to move
.DA H257B source
.DA #$01
.DA lookptr
.DA $0002
.DA dst
.DA lookptr destination address
.DA $0002 length to move
.DA dst source
.DA #$01 move 128k test to zero page
.DA tst128 destination
.DA LDR.Test128.Len
.DA LDR.Test128
.DA LDR.Test128.Len length to move
.DA LDR.Test128 source
.HS FF done
dsp64 .DA #$01 move p8 dispatcher code
@ -467,15 +471,16 @@ cortclock .DA #$01 relocation table. 1=move src to dst
* 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 gfi_list
bcc gfi_ok branch if 'atinit' file found
cmp #$46 file not found?
beq H23DF if so, continue loading interpreter
bne H23E2
gfi_ok lda gfi_type
cmp #$E2 is 'atinit' correct file type?
bne H23E2 error - wrong file type
@ -500,34 +505,29 @@ H23DF jmp goloadint execute .system file
* fatal error
H23E2 ldx H23F0
H23E5 lda H23F0,x
H23E2 ldx $23F0 BUG: should be ATINIT.ERR
H23E5 lda $23F0,x BUG: should be ATINIT.ERR
sta vline16,x
dex
bne H23E5
beq *
H23F0 .DA #$1A length of message
ATINIT.ERR .DA #$1A length of message
.AS -"Unable to load ATInit file"
gfi_list .EQ *-ofsL
.DA #$0A
gfi_list .DA #$0A
.DA atinitname
.HS 00
gfi_type .EQ *-ofsL
.HS 00000000
gfi_type .HS 00000000
.HS 0000000000000000
.HS 0000
atopen .EQ *-ofsL parms to open 'atinit'
.HS 03
atopen .HS 03
.DA atinitname
.DA iobuf i/o buffer
.HS 01 ref# hard coded since no other files
atinitname .EQ *-ofsL
.DA #06 length of name
atinitname .DA #06 length of name
.AS -"atinit" name of appletalk config file
goloadint .EQ *-ofsL
goloadint
lda /dbuf search directory buffer
sta idxl+1
lda #$04 start 1 entry past header
@ -621,10 +621,10 @@ H24C8 jsr MLI close interpreter file
sta KBDSTROBE clear keyboard
H24DF lda RROMBNK2 enable ROM
jmp sysentry go run interpreter
cflag .EQ *-ofsL
.HS 00 set if a //c.
nointrp .EQ *-ofsL no interpreter found,
jsr MLI so quit.
cflag .HS 00 set if a //c.
nointrp jsr MLI no interpreter found,so quit.
.DA #$65
.DA quitparm
badlod ldy ierlen center the error message
@ -646,41 +646,32 @@ H2508 lda lgmess,y
dey
bpl H2508
H2511 bmi H2511
lgmess .EQ *-ofsL
.AS -"** System program too large **"
iomess .EQ *-ofsL
.AS -"** Unable to load"
lgmess .AS -"** System program too large **"
iomess .AS -"** Unable to load"
.AS -" X.System *********"
ierlen .EQ *-ofsL
.HS 00
opparm .EQ *-ofsL parms for open call
.HS 03
ierlen .HS 00
opparm .HS 03
.DA pbuf
.DA iobuf
.HS 01
efparm .EQ *-ofsL parms for get eof call
.HS 02
efparm .HS 02
.DA #01
eof .EQ *-ofsL
.HS 000000 length of file.
rdparm .EQ *-ofsL parms for read call
.HS 04
eof .HS 000000 length of file.
rdparm .HS 04
.HS 01
.DA sysentry
rdlen .EQ *-ofsL
rdlen .HS 0000
.HS 0000
.HS 0000
clparm .EQ *-ofsL parms for close call
.HS 01
clparm .HS 01
.HS 00
quitparm .EQ *-ofsL parms for quit call
.HS 04
quitparm .HS 04
.HS 00
.HS 0000
.HS 00
.HS 0000
iterp .EQ *-ofsL interpreter suffix that is required
.AS -".SYSTEM"
iterp .AS -".SYSTEM" interpreter suffix that is required
licode.end .EP
* 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 SETREADAUX and read 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
cmp #$EE
bne noaux
@ -751,7 +742,7 @@ LDR.Test128 sta idapple H25DC-2621 was moved to location tst128
asl change value and see what happens.
cmp dbuf
bne noaux branch if not sparse mapping.
cmp lodintrp
cmp $800
bne H2606 if not sparse.
noaux sec no aux memory available.
bcs H2607

View File

@ -878,6 +878,6 @@ spunit .HS 0000000000000000 ref pathbuf-$10smartport unit numbers
* pathname buffer starts at this page boundary (pathbuf = $D700)
*--------------------------------------
MAN
SAVE USR/SRC/PRODOS.203/PRODOS.S.DISKII
SAVE USR/SRC/PRODOS.203/PRODOS.S.XRW
LOAD USR/SRC/PRODOS.203/PRODOS.S
ASM

View File

@ -125,8 +125,8 @@ vline14 .EQ $06A8 line 14 of display
vline16 .EQ $07A8 line 16 of display
vline23 .EQ $0750 line 23 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
vblock1 .EQ $0E00 ramdisk directory block
volbuf .EQ $0F00 volume buffer
@ -211,7 +211,7 @@ RAMX .PH $200
.EP
XRW .PH $D000
.INB USR/SRC/PRODOS.203/PRODOS.S.DISKII
.INB USR/SRC/PRODOS.203/PRODOS.S.XRW
.EP
SEL0 .PH $1000