From 4841e57d4634ae2677d5a0d6374d13956621709e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Wed, 3 May 2017 17:40:02 +0200 Subject: [PATCH] Kernel version 0.9 : KConfig file now loaded by Kernel, no more QCODE bug fix in KERNEL.S.JMP table, few bytes saved here & there --- A2osX.S.QC.txt | 120 +++++++++------------------------------- Floppies/A2OSX.BOOT.po | Bin 143360 -> 143360 bytes Floppies/A2OSX.BUILD.po | Bin 819200 -> 819200 bytes Floppies/A2OSX.SRC.po | Bin 819200 -> 819200 bytes SYS/KERNEL.S.GP.txt | 23 ++++---- SYS/KERNEL.S.INIT2.txt | 80 ++++++++++++++++++++++----- SYS/KERNEL.S.INIT3.txt | 3 - SYS/KERNEL.S.JMP.txt | 27 +++++++++ SYS/KERNEL.S.txt | 2 +- 9 files changed, 134 insertions(+), 121 deletions(-) diff --git a/A2osX.S.QC.txt b/A2osX.S.QC.txt index 6352d589..72e2a2d6 100644 --- a/A2osX.S.QC.txt +++ b/A2osX.S.QC.txt @@ -7,11 +7,6 @@ AUTO 8 *-------------------------------------- * ****** START OF MLI QUIT CODE ****** * Load Address :$1000-$12FF -*-------------------------------------- -MLIOPEN00.PATH .EQ $200 -MLIOPEN00.BUFF .EQ $0C00 1k Buffer for MLI open -MLIREAD00.ADDR .EQ $2000 for loading KERNEL -MLIREAD01.ADDR .EQ A2osX.HZ for loading CONFIG *-------------------------------------- .PH $1000 *-------------------------------------- @@ -62,34 +57,15 @@ A2osX.QC.Start1 sei >LDAXI A2osX.QC.Prefix jsr A2osX.QC.PrintAX - >DEBUGOA + >DEBUG bra .3 .4 >LDAXI MSG.SETPREFIXOK jsr A2osX.QC.PrintAX - >LDAXI MSG.KLOADING - jsr A2osX.QC.PrintAX - jsr A2osX.QC.KLoad - bcs .9 - - >LDAXI MSG.CLOADING - jsr A2osX.QC.PrintAX - - jsr A2osX.QC.CLoad - bcc .8 - - >LDAXI MSG.CLOADING.KO - jsr A2osX.QC.PrintAX - - ldx #15 - -.5 lda A2OSXCONF.DEFAULT,x - sta A2osX.HZ,x - dex - bpl .5 + bcs * * >LDYAI GO.Reset * >STYA POWERUP @@ -101,52 +77,24 @@ A2osX.QC.Start1 sei >DEBUGOA jmp $2000 - -.9 >LDAXI MSG.KLOADING.KO +*-------------------------------------- +A2osX.QC.KLoad >LDAXI MSG.KLOAD jsr A2osX.QC.PrintAX - bra * -*-------------------------------------- -A2osX.QC.KLoad >LDYAI SYSKERNEL - jsr A2osX.QC.FOPENYA - bcs .9 - - >LDYAI MLIREAD00K - jsr A2osX.QC.FREADYA - -.9 rts -*-------------------------------------- -A2osX.QC.CLoad >LDYAI A2OSXCONF - jsr A2osX.QC.FOPENYA - bcs .9 - - >LDYAI MLIREAD00C - jsr A2osX.QC.FREADYA - -.9 rts -*-------------------------------------- -A2osX.QC.FOPENYA - >STYA TmpPtr1 - - ldx A2osX.QC.Prefix -.1 lda A2osX.QC.Prefix,x - sta MLIOPEN00.PATH,x - dex - bne .1 ldx A2osX.QC.Prefix + ldy #0 -.2 iny - lda (TmpPtr1),y - sta MLIOPEN00.PATH+1,x - inx - tya - cmp (TmpPtr1) +.2 inx + iny + lda SYSKERNEL,y + sta A2osX.QC.Prefix,x + cpy SYSKERNEL bne .2 - stx MLIOPEN00.PATH + stx A2osX.QC.Prefix - >LDAXI MLIOPEN00.PATH + >LDAXI A2osX.QC.Prefix jsr A2osX.QC.PrintAX jsr MLI @@ -155,16 +103,12 @@ A2osX.QC.FOPENYA bcs .9 lda MLIOPEN00+5 - sta MLIREAD00K+1 - sta MLIREAD00C+1 + sta MLIREAD00+1 sta MLICLOSE00+1 -.9 rts -*-------------------------------------- -A2osX.QC.FREADYA - >STYA .1 + jsr MLI .DA #MLIREAD -.1 .DA $ffff + .DA MLIREAD00 php pha @@ -175,7 +119,12 @@ A2osX.QC.FREADYA pla plp - rts + bcc .9 + + >LDAXI MSG.KLOAD.KO + jsr A2osX.QC.PrintAX + +.9 rts *-------------------------------------- A2osX.QC.PrintAX >STAX TmpPtr1 @@ -198,41 +147,26 @@ MLISETPREFIX00 .DA #1 .DA A2osX.QC.Prefix *-------------------------------------- MLIOPEN00 .DA #3 - .DA MLIOPEN00.PATH - .DA MLIOPEN00.BUFF + .DA A2osX.QC.Prefix + .DA $C00 .BS 1 *-------------------------------------- -MLIREAD00K .DA #4 +MLIREAD00 .DA #4 .BS 1 - .DA MLIREAD00.ADDR + .DA $2000 .DA $8000 .BS 2 *-------------------------------------- -MLIREAD00C .DA #4 - .BS 1 - .DA MLIREAD01.ADDR - .DA 16 - .BS 2 -*-------------------------------------- MLICLOSE00 .DA #1 .BS 1 *-------------------------------------- SYSKERNEL >PSTR "SYS/KERNEL" -A2OSXCONF >PSTR "A2osX.KCONFIG" -*-------------------------------------- -A2OSXCONF.DEFAULT - .DA #6 60hz - .BS 7 - .DA #0 ChRoot - .BS 7 All Slots marked as "Free" *-------------------------------------- MSG.INIT1 >PSTR "A2osX[Stage1]:Init" MSG.SETPREFIXOK >PSTR "Set Prefix OK" MSG.SETPREFIXKO >PSTR "Insert Vol:" -MSG.KLOADING >PSTR "Loading Kernel..." -MSG.KLOADING.KO >PSTR "Error While Loading Kernel." -MSG.CLOADING >PSTR "Reading Kernel Config File..." -MSG.CLOADING.KO >PSTR "Error While Reading Kernel Config File, Using Default." +MSG.KLOAD >PSTR "Loading Kernel..." +MSG.KLOAD.KO >PSTR "Error While Loading Kernel." MSG.INIT1OK >PSTR "A2osX[Stage1]:Complete." *-------------------------------------- .BS $1300-* diff --git a/Floppies/A2OSX.BOOT.po b/Floppies/A2OSX.BOOT.po index a572fc9b979c74dd029d02299d4740151ce81cc6..30d621c0b885088e0a39b65b460eb28eda5f6612 100644 GIT binary patch delta 7098 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 delta 7702 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 C-~|r= delta 5471 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

{NayEn4tBKiI=$`+o=zS}=WWy=`9U*N>q$Jk z>wX1|Xfk;og%y9Mxv&&MVvMwn`~p-7j6%ky<)DqFW;zM6wTP2eMr0-^DRGvFCzeBE zJnj^SOhYyoC{@TJ*~m~*HeQOqg+ZcP(u$mggJv=`A-^)<;4zUXH=mLV*vttU+)m!C z`DXlCNGr)yB~jr4bFu_mm+Sbuw=w0Eo_}*2vw%wBf855TQ>lEak13=Kyw%5~8`7vz zw%Wy+%|lfV>zWlDTUo)GAwQk(_c3|#8Iqv9%#pX2Bif%NnCqfoWLdXW35Jgc)4kzP)D2gPCJ%>t)rV+WB z=kjk3Fd5WB{yS9f`~vZmvZc8E2D$ALAH+T?yHMuh#u+X?h}@zgzHvMHXc2$qc4i@E z;_uncn5bg@rR_}qahg6sP3&M4g*qiGxhHY4q@Q^x-^wT4$y`iT@SS%u)wFUonGskI z=on^_xr_P6Lly8}&}zeE2Ce=;LFbhoR;uZBIL(zOw|hl@E&(i>@`x_=CH#i|iL4QS z$ArYcNMsyD;ww}2vb4MelvpQ8Mby8-Q!2HNc{L*EHQuOFr`WMH5^?A)6&6M^NWx8L zPVz5gQS1R9PFh!8hi1*breQ7?`ARP38=d=I0}=DXFgMKQUs_%r?;yw^FO wOX4(G*2vNM7W_rA80R-w(OA0^lwa}>#>75zI8m*dqz&q`^ROTs&Q!PkKY9=v3;+NC diff --git a/SYS/KERNEL.S.GP.txt b/SYS/KERNEL.S.GP.txt index 4ec0549d..74ad949e 100644 --- a/SYS/KERNEL.S.GP.txt +++ b/SYS/KERNEL.S.GP.txt @@ -246,9 +246,9 @@ GO.A2osX php sei - sta A2osX.SaveA - stx A2osX.SaveX - sty A2osX.SaveY + sta GO.EXIT.SaveA+1 + stx GO.EXIT.SaveX+1 + sty GO.EXIT.SaveY+1 pla Restore P in A for later @@ -288,16 +288,12 @@ GO.A2osX.BNK ldx #RRAMWRAMBNK1 Self Modified, initialized to BNK1 for INIT3 *-------------------------------------- GO.EXIT sty pStack pha push P on stack - ldy A2osX.SaveY - ldx A2osX.SaveX - lda A2osX.SaveA +GO.EXIT.SaveY ldy #$ff +GO.EXIT.SaveX ldx #$ff +GO.EXIT.SaveA lda #$ff plp GO.EXIT.JMP jmp $FFFF Self Modified *-------------------------------------- -A2osX.SaveA .BS 1 -A2osX.SaveX .BS 1 -A2osX.SaveY .BS 1 -*-------------------------------------- * Called for ProDOS IRQ Manager (LCBNK1) * A,X,Y, $FA->$FF Already Saved * Main RAM,ZP/LC selected @@ -333,6 +329,13 @@ IrqHandler cld .3 rts *-------------------------------------- BrkHandler bra * +*-------------------------------------- + .BS A2osX.HZ-* fill to $BEF0 +*-------------------------------------- + .DA #6 60hz + .BS 7 + .DA #0 ChRoot Disabled + .BS 7 All Slots marked as "Free" *-------------------------------------- MAN SAVE /A2OSX.SRC/SYS/KERNEL.S.GP diff --git a/SYS/KERNEL.S.INIT2.txt b/SYS/KERNEL.S.INIT2.txt index 94a8b379..a18a4c9d 100644 --- a/SYS/KERNEL.S.INIT2.txt +++ b/SYS/KERNEL.S.INIT2.txt @@ -19,7 +19,7 @@ Kernel.Init2 sei sta CLRALTZP - >LDAXI MSG.D000BNK2 + >LDAXI MSG.D2 jsr PrintFAX sta SETALTZP @@ -36,7 +36,7 @@ Kernel.Init2 sei sta CLRALTZP - >LDAXI MSG.D000BNK1 + >LDAXI MSG.D1 jsr PrintFAX sta SETALTZP @@ -53,7 +53,7 @@ Kernel.Init2 sei sta CLRALTZP - >LDAXI MSG.E000 + >LDAXI MSG.E0 jsr PrintFAX sta SETALTZP @@ -74,6 +74,8 @@ Kernel.Init2 sei sta CLRALTZP Make MAIN ZP is enabled for X.PRINT.F cli + jsr KConfigLoad + lda A2osX.HZ pha push HZ >LDAXI MSG.HZ @@ -101,20 +103,12 @@ Kernel.Move ldy #0 bne .1 .9 rts *-------------------------------------- -MSG.Init2 >CSTR "A2osX[Stage2]:Init\nInstalling KERNEL...\n - Global Page...\n" -MSG.D000BNK1 >CSTR " - $D000 Bank1...\n" -MSG.D000BNK2 >CSTR " - $D000 Bank2...\n" -MSG.E000 >CSTR " - $E000...\n" -MSG.HZ >CSTR "Kernel SYS Timer Set For %d0 hz Machine.\n" -MSG.Init2.OK >CSTR "A2osX[Stage2]:Complete.\n" -*-------------------------------------- CPU.Init >LDAXI MSG.CPU jsr PrintFAX jsr Detect6502 A = CPU type sta A2osX.CPUTYPE - lda MSG.CPUTYPEH,y - tax + ldx MSG.CPUTYPEH,y lda MSG.CPUTYPEL,y jsr PrintFAX @@ -208,8 +202,8 @@ CPU.Init.Z80 >LDAXI MSG.Z80 * Out: * A = $60, 6502 * A = $61, 65C02 -* A = $62, R65C02 -* A = $63, 65C816 +* A = $62, 65R02 +* A = $63, 65816 *-------------------------------------- Detect6502 ldy #0 Test 6502 BCD bug sed @@ -273,6 +267,38 @@ DetectZ80 ldx #Z80Code.Size clc .9 rts *-------------------------------------- +KConfigLoad >LDAXI MSG.KCREAD + jsr PrintFAX + + jsr MLI + .DA #MLIOPEN + .DA MLIOPEN00 + bcs .9 + + lda MLIOPEN00+5 + sta MLIREAD00+1 + sta MLICLOSE00+1 + + jsr MLI + .DA #MLIREAD + .DA MLIREAD00 + php + pha + jsr MLI + .DA #MLICLOSE + .DA MLICLOSE00 + pla + plp + bcs .9 + + >LDAXI MSG.KCREAD.OK + jsr PrintFAX + rts + +.9 >LDAXI MSG.KCREAD.KO + jsr PrintFAX + rts +*-------------------------------------- Z80Code.Start .HS 31FFFF START: LD SP,0FFFFH Init Stack .HS 3EFF LD A,0FFH Set Flag .HS 320D00 LD (FLAG),A @@ -281,6 +307,13 @@ Z80Code.Start .HS 31FFFF START: LD SP,0FFFFH Init Stack .HS 00 FLAG: .DB 0 Z80Code.Size .EQ *-Z80Code.Start *-------------------------------------- +MSG.Init2 >CSTR "A2osX[Stage2]:Init\nInstalling KERNEL...\n - $BE00 Global Page...\n" +MSG.D1 >CSTR " - $D000 Bank1...\n" +MSG.D2 >CSTR " - $D000 Bank2...\n" +MSG.E0 >CSTR " - $E000...\n" +MSG.HZ >CSTR "Kernel SYS Timer Set For %d0 hz Machine.\n" +MSG.Init2.OK >CSTR "A2osX[Stage2]:Complete.\n" +*-------------------------------------- MSG.CPU >CSTR "Checking CPU..." MSG.CPU.SPEED >CSTR "Detecting CPU Speed..." MSG.CPUTYPEL .DA #MSG.6502 @@ -299,6 +332,25 @@ MSG.CPU.SPEEDOK >CSTR "%d.%02d Mhz.\n" MSG.Z80 >CSTR "Detecting Z80 CPU..." MSG.Z80.OK >CSTR "Detected In Slot %d.\n" MSG.Z80.KO >CSTR "Not Detected.\n" +MSG.KCREAD >CSTR "Reading Kernel Config File..." +MSG.KCREAD.OK >CSTR "OK\n" +MSG.KCREAD.KO >CSTR "\nError While Reading Kernel Config File, Using Default.\n" +A2OSXCONF >PSTR "A2osX.KCONFIG" +*-------------------------------------- +MLIOPEN00 .DA #3 + .DA A2OSXCONF + .DA $1000 + .BS 1 +*-------------------------------------- +MLIREAD00 .DA #4 + .BS 1 + .DA A2osX.HZ + .DA 16 + .BS 2 +*-------------------------------------- +MLICLOSE00 .DA #1 + .BS 1 +*-------------------------------------- MAN SAVE /A2OSX.SRC/SYS/KERNEL.S.INIT2 LOAD /A2OSX.SRC/SYS/KERNEL.S diff --git a/SYS/KERNEL.S.INIT3.txt b/SYS/KERNEL.S.INIT3.txt index 0c536b1a..2b75b76d 100644 --- a/SYS/KERNEL.S.INIT3.txt +++ b/SYS/KERNEL.S.INIT3.txt @@ -322,9 +322,6 @@ DevMgrInit.BLK ldy #$ff inc DEV.HEADER+S.DEV.DEVID jsr DevMgrInit.AddDev rts - -DevMgrInit.BLK.JMP - jmp (DEV.HEADER+S.DEV.ROM.JMP) *-------------------------------------- DevMgrInit.SP ldy #$ff lda (ZPPtr1),y diff --git a/SYS/KERNEL.S.JMP.txt b/SYS/KERNEL.S.JMP.txt index ecbba2f6..fa117d2c 100644 --- a/SYS/KERNEL.S.JMP.txt +++ b/SYS/KERNEL.S.JMP.txt @@ -299,6 +299,15 @@ KERNEL.SYSCALL.FLAGS .DA 0 .DA 0 .DA 0 + + .DA 0 + .DA 0 + .DA 0 + .DA 0 + .DA 0 + .DA 0 + .DA 0 + .DA 0 *-------------------------------------- .DA 0 $A0 .DA 0 @@ -308,6 +317,15 @@ KERNEL.SYSCALL.FLAGS .DA 0 .DA 0 .DA 0 + + .DA 0 + .DA 0 + .DA 0 + .DA 0 + .DA 0 + .DA 0 + .DA 0 + .DA 0 *-------------------------------------- .DA 0 $B0 .DA 0 @@ -317,6 +335,15 @@ KERNEL.SYSCALL.FLAGS .DA 0 .DA 0 .DA 0 + + .DA 0 + .DA 0 + .DA 0 + .DA 0 + .DA 0 + .DA 0 + .DA 0 + .DA 0 *-------------------------------------- MAN SAVE /A2OSX.SRC/SYS/KERNEL.S.JMP diff --git a/SYS/KERNEL.S.txt b/SYS/KERNEL.S.txt index 0c3f90dc..41804eb3 100644 --- a/SYS/KERNEL.S.txt +++ b/SYS/KERNEL.S.txt @@ -88,7 +88,7 @@ A2osX.GP.S .EQ A2osX.GP.E-A2osX.GP A2osX.D1.S .EQ A2osX.D1.E-A2osX.D1 A2osX.D2.S .EQ A2osX.D2.E-A2osX.D2 A2osX.E0.S .EQ A2osX.E0.E-A2osX.E0 - .DO A2osX.GP.S>$1E0 + .DO A2osX.GP.S>$200 * ERROR:GP too big .FIN .DO A2osX.D1.S>$1000