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. 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

View File

@ -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

View File

@ -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