From 428cc20154c59dabf7de753b547d07c1990b178e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Mon, 21 Oct 2019 16:25:37 +0200 Subject: [PATCH] Kernel 0.93+ --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes INC/A2osX.I.txt | 9 ++- SYS/KERNEL.S.INIT.txt | 122 +++++++++++++++++++++++++++++++++------ SYS/KM.APPLETALK.S.txt | 4 +- SYS/KM.RAMWORKS.S.txt | 4 +- SYS/KM.VSDRIVE.S.txt | 4 +- 6 files changed, 120 insertions(+), 23 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 8e916513f7846713d583d4a80756d51e5c823a62..cbb49f79e989e6f416cb88a9ff9026c29d2ee718 100644 GIT binary patch delta 34238 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 diff --git a/INC/A2osX.I.txt b/INC/A2osX.I.txt index d34a4a3d..361dec3e 100644 --- a/INC/A2osX.I.txt +++ b/INC/A2osX.I.txt @@ -64,7 +64,14 @@ A2osX.CPUTYPE .EQ $BEE6 A2osX.CPUSPEED .EQ $BEE7 WORD, (->255.99 Mhz) A2osX.Z80SLOT .EQ $BEE9 -A2osX.Z80SPEED .EQ $BEEA WORD +A2osX.HWType .EQ $BEEA +A2osX.HWType.UNKNOWN .EQ 0 +A2osX.HWType.IIe .EQ 1 +A2osX.HWType.IIc .EQ 2 +A2osX.HWType.IIgs .EQ 3 +A2osX.HWSubT .EQ $BEEB +A2osX.HWSubT.Enh .EQ 1 +A2osX.HWSubT.LCCard .EQ 2 A2osX.TIMER16 .EQ $BEEC WORD A2osX.RANDOM16 .EQ $BEEE WORD diff --git a/SYS/KERNEL.S.INIT.txt b/SYS/KERNEL.S.INIT.txt index 0ac4bc46..c8987618 100644 --- a/SYS/KERNEL.S.INIT.txt +++ b/SYS/KERNEL.S.INIT.txt @@ -10,6 +10,7 @@ Kernel.Init2 sei stx A2osX.SaveSX ldx #Kernel.ZP.S-1 + .1 lda Kernel.ZP,x sta CHARGET,x dex @@ -18,12 +19,12 @@ Kernel.Init2 sei sta CLRALTZP >LDYAI MSG.Init2 jsr PrintFYA + >LDYAI A2osX.MAIN >STYA ZPPtr1 >LDYAI CORE.Run >STYA ZPPtr2 >LDYAI A2osX.MAIN.S^$FFFF - jsr Kernel.Move >LDYAI A2osX.AUX @@ -34,13 +35,14 @@ Kernel.Init2 sei >STYA A4L Dst Address (AUX) sec Main To Aux jsr AuxMove + >LDYAI A2osX.GP >STYA ZPPtr1 >LDYAI A2osX.SYSCALL >STYA ZPPtr2 >LDYAI A2osX.GP.S^$FFFF - jsr Kernel.Move + >LDYAI A2osX.GPX >STYA A1L Src Start Address (MAIN) >LDYAI A2osX.D1 @@ -59,8 +61,8 @@ Kernel.Init2 sei >LDYAI $D000 >STYA ZPPtr2 >LDYAI A2osX.D2.S^$FFFF - jsr Kernel.Move + bit RRAMWRAMBNK1 bit RRAMWRAMBNK1 @@ -69,18 +71,19 @@ Kernel.Init2 sei >LDYAI $D000 >STYA ZPPtr2 >LDYAI A2osX.D1.S^$FFFF - jsr Kernel.Move + >LDYAI A2osX.E0 >STYA ZPPtr1 >LDYAI $E000 >STYA ZPPtr2 >LDYAI A2osX.E0.S^$FFFF - jsr Kernel.Move + bit RROMBNK1 sta CLRALTZP cli + jsr KConfigLoad lda A2osX.HZ pha @@ -139,13 +142,18 @@ Kernel.Init3 sta SETALTZP iny #S.PS.hStdErr sta (pPs),y *-------------------------------------- -Kernel.Init3C >LDYAI MSG.Init3 - >SYSCALL2 puts +Kernel.Init3C >PUSHBI 0 + >LDYAI MSG.Init3 + >SYSCALL2 printf + jsr HW.Detect + jsr CPU.Init.6502 jsr CPU.Init.Z80 + >DEBUG + jsr DevMgrInit jsr IrqMgrInit @@ -358,6 +366,64 @@ SysScrInit.TTYPtrs sta FD.TTY+S.FD.DEV.BUFPTR+1 rts *-------------------------------------- +* http://www.1000bit.it/support/manuali/apple/technotes/misc/tn.misc.02.html +* https://mirrors.apple2.org.za/apple.cabi.net/FAQs.and.INFO/A2.TECH.NOTES.ETC/A2.CLASSIC.TNTS/a2misc007(1).htm +*-------------------------------------- +HW.Detect >PUSHBI 0 + >LDYAI MSG.HW + >SYSCALL2 printf + + bit RROMBNK1 + + stz A2osX.HWType + stz A2osX.HWSubT + + sec + jsr $FE1F IIgs ? + bcs .2 + + lda #A2osX.HWType.IIgs + sta A2osX.HWType + + cpy #2 + bcs .1 + + iny +.1 sty A2osX.HWSubT + bra .8 + +.2 lda $FBC0 + beq .4 //c + + ldx #A2osX.HWType.IIe + stx A2osX.HWType + cmp #$EA + beq .8 //e OLD ROMs + + inc A2osX.HWSubT //e Enh ROMs + lda $FBDD + cmp #2 + bne .8 + + inc A2osX.HWSubT //e LC card + bra .8 + +.4 lda #A2osX.HWType.IIc + sta A2osX.HWType + lda $FBBF + sta A2osX.HWSubT + +.8 bit RRAMWRAMBNK1 + bit RRAMWRAMBNK1 + + >PUSHB A2osX.HWSubT + >PUSHB A2osX.HWType + >PUSHBI 2 + >LDYAI MSG.HW.TypeSubT + >SYSCALL2 printf + + rts +*-------------------------------------- CPU.Init.6502 >PUSHBI 0 >LDYAI MSG.CPU >SYSCALL2 printf @@ -370,20 +436,23 @@ CPU.Init.6502 >PUSHBI 0 lda MSG.CPUTYPE+1,x >SYSCALL2 puts - lda MACHID - and #MACHID.T - cmp #MACHID.T.IIc - bne .10 - - jmp CPU.Init.Z80 -.10 >PUSHBI 0 + >PUSHBI 0 >LDYAI MSG.CPU.SPEED >SYSCALL2 printf stz A2osX.RANDOM16 stz A2osX.RANDOM16+1 + php sei + + lda MACHID + and #MACHID.T + cmp #MACHID.T.IIc + bne .1 + + + .1 bit VBL bpl .2 @@ -402,12 +471,22 @@ CPU.Init.6502 >PUSHBI 0 bit VBL (4) bpl .3 (2*) bmi .6 + .5 nop (2) nop (2) nop (2) bit VBL (4) bpl .3 (2*) -.6 plp + +.6 lda MACHID + and #MACHID.T + cmp #MACHID.T.IIc + bne .60 + + + + +.60 plp stz A2osX.CPUSPEED .7 sec @@ -655,6 +734,7 @@ DevMgrInit.AddBDev.RTS *-------------------------------------- IrqMgrInit >LDYAI MSG.IRQ >SYSCALL2 puts + php sei >LDYA $FFFE @@ -671,6 +751,11 @@ IrqMgrInit >LDYAI MSG.IRQ sta IRQ.INTNUM plp + + lda A2osX.HWType + cmp #A2osX.HWType.IIgs + beq .80 + jsr IrqMgrInit.TClock bcs .1 lda #"C" @@ -697,7 +782,7 @@ IrqMgrInit >LDYAI MSG.IRQ .8 jsr IrqMgrInit.HZ2Tick lda #"P" - sta IRQ.Mode +.80 sta IRQ.Mode >LDYAI MSG.IRQ.POLL >SYSCALL2 puts clc @@ -984,7 +1069,8 @@ MSG.KCREAD.KO .AZ "\nError While Reading Kernel Config File, Using Default.\n" MSG.Init2.OK .AZ "A2osX[Stage2]:Complete.\n" *-------------------------------------- SYSSCREEN.TOP .AZ "A2osX 0.93 Console" -MSG.Init3 .AZ "A2osX[Stage3]:Init *** Press Ctrl-R for ROOT Mode ***" +MSG.Init3 .AS "A2osX[Stage3]:Init" + .AZ "\r\n*** Press Ctrl-R for ROOT Mode ***\r\n" MSG.DEV .AZ "Device Manager..." MSG.BLKDEV .AZ " Adding Device: /DEV/%s, Type: %s\r\n" MSG.BLKDEV.TBL .DA MSG.BLKDEV.RAM @@ -1011,6 +1097,8 @@ MSG.ETCINIT .AZ "Executing %s..." MSG.StartupErr .AZ "Failed : [$%h]\r\n" MSG.Init3.OK .AZ "OK\r\nA2osX[Stage3]:Complete.\r\n" *-------------------------------------- +MSG.HW .AZ "Checking Hardware..." +MSG.HW.TypeSubT .AZ "Type=%h,SubT=%h\r\n" MSG.CPU .AZ "Checking CPU..." MSG.CPUTYPE .DA MSG.6502 .DA MSG.65C02 diff --git a/SYS/KM.APPLETALK.S.txt b/SYS/KM.APPLETALK.S.txt index 3a85d517..be1be7c6 100644 --- a/SYS/KM.APPLETALK.S.txt +++ b/SYS/KM.APPLETALK.S.txt @@ -4,7 +4,7 @@ AUTO 4,1 .LIST OFF .OP 65C02 .OR $2000 - .TF SYS/ATK/KM.APPLETALK + .TF SYS/KM/KM.APPLETALK *-------------------------------------- .INB INC/MACROS.I .INB INC/IO.I @@ -108,7 +108,7 @@ AT.INIT >LDYAI MSG.INIT GO.WSCARD jmp $ffff SELF MODIFIED GO.OLDMLI jmp $ffff SELF MODIFIED *-------------------------------------- - .INB USR/SRC/X.PRINTF.S + .INB USR/SRC/SHARED/X.PRINTF.S *-------------------------------------- MSG.INIT .AZ "AppleTalk Driver For A2osX\n" MSG.FAILED .AZ "AppleTalk Workstation Card Failed Power Up Diagnostics : EC=%h.\n" diff --git a/SYS/KM.RAMWORKS.S.txt b/SYS/KM.RAMWORKS.S.txt index 49299d99..7f0e8a8d 100644 --- a/SYS/KM.RAMWORKS.S.txt +++ b/SYS/KM.RAMWORKS.S.txt @@ -3,7 +3,7 @@ NEW .LIST OFF .OP 65C02 .OR $2000 - .TF SYS/KM.RAMWORKS + .TF SYS/KM/KM.RAMWORKS *-------------------------------------- .INB INC/MACROS.I .INB INC/IO.I @@ -561,10 +561,12 @@ RWDRVX.XM.MNLC stz RWBankSelect ProDOS always uses LCBANK1 bit RRAMWRAMBNK1 bit RRAMWRAMBNK1 rts + RWDRVX.XM.RWLC lda #$FF bpl RWDRVX.XM.BANK bit RRAMWRAMBNK2 bit RRAMWRAMBNK2 + RWDRVX.XM.BANK lda #$FF sta RWBankSelect rts diff --git a/SYS/KM.VSDRIVE.S.txt b/SYS/KM.VSDRIVE.S.txt index bcfe33ea..d969f016 100644 --- a/SYS/KM.VSDRIVE.S.txt +++ b/SYS/KM.VSDRIVE.S.txt @@ -4,7 +4,7 @@ AUTO 4,1 .LIST OFF .OP 65C02 .OR $2000 - .TF SYS/KM.VSDRIVE + .TF SYS/KM/KM.VSDRIVE *-------------------------------------- .INB INC/MACROS.I .INB INC/IO.I @@ -265,7 +265,7 @@ VSDRIVE.Install ldx #PATCH.SIZE clc rts *-------------------------------------- - .INB USR/SRC/X.PRINTF.S + .INB USR/SRC/SHARED/X.PRINTF.S *-------------------------------------- DEVSIG.Offset .HS 05070B0C DEVSIG.Value .HS 38180131