mirror of
https://github.com/A2osX/A2osX.git
synced 2024-11-19 12:31:56 +00:00
Kernel 0.93+
This commit is contained in:
parent
bc9b9c3b58
commit
428cc20154
Binary file not shown.
@ -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
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user