2017-12-22 21:24:30 +00:00
|
|
|
|
NEW
|
2019-04-30 16:08:47 +00:00
|
|
|
|
AUTO 3,1
|
2017-10-18 15:32:56 +00:00
|
|
|
|
*--------------------------------------
|
2018-07-10 15:33:13 +00:00
|
|
|
|
Kernel.Init2 sei
|
2017-08-22 06:38:16 +00:00
|
|
|
|
ldx #$FF
|
|
|
|
|
txs
|
|
|
|
|
sta SETALTZP
|
|
|
|
|
|
|
|
|
|
stx A2osX.SaveSM
|
|
|
|
|
stx A2osX.SaveSX
|
|
|
|
|
|
2018-07-11 15:13:29 +00:00
|
|
|
|
ldx #Kernel.ZP.S-1
|
2019-10-21 14:25:37 +00:00
|
|
|
|
|
2019-10-28 06:32:12 +00:00
|
|
|
|
.1 lda Kernel.ZP,x
|
2018-07-11 15:13:29 +00:00
|
|
|
|
sta CHARGET,x
|
|
|
|
|
dex
|
|
|
|
|
bpl .1
|
|
|
|
|
|
|
|
|
|
sta CLRALTZP
|
2018-07-12 15:20:39 +00:00
|
|
|
|
>LDYAI MSG.Init2
|
|
|
|
|
jsr PrintFYA
|
2019-10-21 14:25:37 +00:00
|
|
|
|
|
2019-10-30 16:29:46 +00:00
|
|
|
|
>LDYA PAKME.MAIN
|
2019-10-28 06:32:12 +00:00
|
|
|
|
>STYA ZPInBufPtr
|
2017-11-22 16:27:50 +00:00
|
|
|
|
>LDYAI CORE.Run
|
2019-10-28 06:32:12 +00:00
|
|
|
|
>STYA ZPOutBufPtr
|
|
|
|
|
jsr X.Unpak
|
|
|
|
|
|
|
|
|
|
sta SETWRITEAUX
|
2017-11-22 16:27:50 +00:00
|
|
|
|
|
2019-10-30 16:29:46 +00:00
|
|
|
|
>LDYA PAKME.AUX
|
2019-10-28 06:32:12 +00:00
|
|
|
|
>STYA ZPInBufPtr
|
2019-07-26 14:23:07 +00:00
|
|
|
|
>LDYAI X.OSD
|
2019-10-28 06:32:12 +00:00
|
|
|
|
>STYA ZPOutBufPtr
|
|
|
|
|
jsr X.Unpak
|
2019-10-21 14:25:37 +00:00
|
|
|
|
|
2020-01-10 15:58:47 +00:00
|
|
|
|
>LDYA PAKME.AUXH
|
|
|
|
|
>STYA ZPInBufPtr
|
2020-01-11 17:13:27 +00:00
|
|
|
|
>LDYAI Mem.XHiMem
|
2020-01-10 15:58:47 +00:00
|
|
|
|
>STYA ZPOutBufPtr
|
|
|
|
|
jsr X.Unpak
|
|
|
|
|
|
2019-10-28 06:32:12 +00:00
|
|
|
|
sta CLRWRITEAUX
|
|
|
|
|
|
2019-10-30 16:29:46 +00:00
|
|
|
|
>LDYA PAKME.GP
|
2019-10-28 06:32:12 +00:00
|
|
|
|
>STYA ZPInBufPtr
|
2019-07-29 15:38:55 +00:00
|
|
|
|
>LDYAI A2osX.SYSCALL
|
2019-10-28 06:32:12 +00:00
|
|
|
|
>STYA ZPOutBufPtr
|
|
|
|
|
jsr X.Unpak
|
|
|
|
|
|
2017-08-22 06:38:16 +00:00
|
|
|
|
sta SETALTZP
|
2017-08-28 15:35:10 +00:00
|
|
|
|
bit RRAMWRAMBNK2
|
|
|
|
|
bit RRAMWRAMBNK2
|
2017-08-22 06:38:16 +00:00
|
|
|
|
|
2019-10-30 16:29:46 +00:00
|
|
|
|
>LDYA PAKME.D2
|
2019-10-28 06:32:12 +00:00
|
|
|
|
>STYA ZPInBufPtr
|
2017-08-22 06:38:16 +00:00
|
|
|
|
>LDYAI $D000
|
2019-10-28 06:32:12 +00:00
|
|
|
|
>STYA ZPOutBufPtr
|
|
|
|
|
jsr X.Unpak
|
|
|
|
|
|
2017-08-28 15:35:10 +00:00
|
|
|
|
bit RRAMWRAMBNK1
|
|
|
|
|
bit RRAMWRAMBNK1
|
2017-08-22 06:38:16 +00:00
|
|
|
|
|
2019-10-30 16:29:46 +00:00
|
|
|
|
>LDYA PAKME.D1
|
2019-10-28 06:32:12 +00:00
|
|
|
|
>STYA ZPInBufPtr
|
2017-08-22 06:38:16 +00:00
|
|
|
|
>LDYAI $D000
|
2019-10-28 06:32:12 +00:00
|
|
|
|
>STYA ZPOutBufPtr
|
|
|
|
|
jsr X.Unpak
|
|
|
|
|
|
2019-10-30 16:29:46 +00:00
|
|
|
|
>LDYA PAKME.E0
|
2019-10-28 06:32:12 +00:00
|
|
|
|
>STYA ZPInBufPtr
|
2017-08-22 06:38:16 +00:00
|
|
|
|
>LDYAI $E000
|
2019-10-28 06:32:12 +00:00
|
|
|
|
>STYA ZPOutBufPtr
|
|
|
|
|
jsr X.Unpak
|
|
|
|
|
|
2018-07-12 15:20:39 +00:00
|
|
|
|
bit RROMBNK1
|
|
|
|
|
sta CLRALTZP
|
2017-08-22 06:38:16 +00:00
|
|
|
|
cli
|
2019-10-21 14:25:37 +00:00
|
|
|
|
|
2017-08-22 06:38:16 +00:00
|
|
|
|
jsr KConfigLoad
|
|
|
|
|
lda A2osX.HZ
|
2018-07-12 15:20:39 +00:00
|
|
|
|
pha
|
|
|
|
|
>LDYAI MSG.HZ
|
|
|
|
|
jsr PrintFYA
|
|
|
|
|
>LDYAI MSG.Init2.OK
|
|
|
|
|
jsr PrintFYA
|
2017-08-22 06:38:16 +00:00
|
|
|
|
*--------------------------------------
|
|
|
|
|
>DEBUGOA
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
Kernel.Init3 sta SETALTZP
|
|
|
|
|
bit RRAMWRAMBNK1
|
|
|
|
|
bit RRAMWRAMBNK1
|
2018-04-13 15:18:48 +00:00
|
|
|
|
lda #$ff Make sure we are in Kernel Mode during setup
|
|
|
|
|
sta IRQ.InKernel
|
2019-03-27 17:01:01 +00:00
|
|
|
|
stz IRQ.InLib
|
2018-04-13 15:18:48 +00:00
|
|
|
|
|
2019-04-09 15:47:33 +00:00
|
|
|
|
sta SETALTCHAR
|
2019-11-26 06:46:02 +00:00
|
|
|
|
sta SETMIXED
|
2018-12-14 07:32:20 +00:00
|
|
|
|
sta CLRHIRES
|
|
|
|
|
sta SET80STORE
|
|
|
|
|
sta CLRPAGE2
|
2019-04-09 15:47:33 +00:00
|
|
|
|
sta SETDHIRES
|
2018-12-14 07:32:20 +00:00
|
|
|
|
|
2017-08-22 06:38:16 +00:00
|
|
|
|
jsr MemMgrInit
|
2018-12-10 16:45:37 +00:00
|
|
|
|
|
2019-01-13 13:10:14 +00:00
|
|
|
|
>LDYAI S.PS Select Process 0 (Kernel)
|
|
|
|
|
jsr K.GetMem0
|
2018-12-18 14:37:07 +00:00
|
|
|
|
>STYA pPs
|
2019-01-24 13:53:29 +00:00
|
|
|
|
stx PS.Table.hPS
|
2018-12-18 14:37:07 +00:00
|
|
|
|
|
2019-08-02 20:55:43 +00:00
|
|
|
|
jsr Mem.SetOwner
|
2019-01-24 13:53:29 +00:00
|
|
|
|
lda #1
|
|
|
|
|
sta CORE.PSCount
|
2018-12-18 14:37:07 +00:00
|
|
|
|
>LDYAI K.STACKTOP
|
|
|
|
|
>STYA pStack
|
2019-02-24 22:11:52 +00:00
|
|
|
|
sta pLocal+1
|
2018-12-18 14:37:07 +00:00
|
|
|
|
|
2018-12-11 16:41:25 +00:00
|
|
|
|
>PUSHWI FD.NULL.NAME
|
2018-07-12 15:20:39 +00:00
|
|
|
|
>LDYAI FD.NULL
|
2019-06-10 13:52:20 +00:00
|
|
|
|
>SYSCALL2 MKDev
|
2020-01-11 17:13:27 +00:00
|
|
|
|
|
2018-12-10 16:45:37 +00:00
|
|
|
|
jsr SysScrInit
|
2018-12-13 16:39:24 +00:00
|
|
|
|
bcs *
|
2019-06-07 15:02:51 +00:00
|
|
|
|
>PUSHWZ Aux type
|
2019-01-13 13:10:14 +00:00
|
|
|
|
>PUSHBI S.FI.T.TXT
|
|
|
|
|
>PUSHBI O.RDWR
|
|
|
|
|
>LDYAI DEV.CONSOLE
|
2019-06-10 13:52:20 +00:00
|
|
|
|
>SYSCALL2 fopen
|
2018-12-03 13:56:52 +00:00
|
|
|
|
bcs *
|
2019-01-13 13:10:14 +00:00
|
|
|
|
|
|
|
|
|
ldy #S.PS.hStdIn
|
|
|
|
|
sta (pPs),y
|
|
|
|
|
iny #S.PS.hStdOut
|
|
|
|
|
sta (pPs),y
|
|
|
|
|
iny #S.PS.hStdErr
|
|
|
|
|
sta (pPs),y
|
2019-01-06 09:58:49 +00:00
|
|
|
|
*--------------------------------------
|
2019-10-21 14:25:37 +00:00
|
|
|
|
Kernel.Init3C >PUSHBI 0
|
|
|
|
|
>LDYAI MSG.Init3
|
|
|
|
|
>SYSCALL2 printf
|
2018-12-03 13:56:52 +00:00
|
|
|
|
|
2019-10-21 14:25:37 +00:00
|
|
|
|
jsr HW.Detect
|
|
|
|
|
|
2018-07-13 14:38:24 +00:00
|
|
|
|
jsr CPU.Init.6502
|
2018-12-03 13:56:52 +00:00
|
|
|
|
|
2018-07-13 14:38:24 +00:00
|
|
|
|
jsr CPU.Init.Z80
|
2018-12-03 13:56:52 +00:00
|
|
|
|
|
2017-08-22 06:38:16 +00:00
|
|
|
|
jsr DevMgrInit
|
2018-12-03 13:56:52 +00:00
|
|
|
|
|
2017-08-22 06:38:16 +00:00
|
|
|
|
jsr IrqMgrInit
|
|
|
|
|
bcs *
|
2018-12-03 13:56:52 +00:00
|
|
|
|
|
2017-08-22 06:38:16 +00:00
|
|
|
|
jsr EvtMgrInit
|
2018-12-03 13:56:52 +00:00
|
|
|
|
|
2017-08-22 06:38:16 +00:00
|
|
|
|
jsr TskMgrInit
|
|
|
|
|
bcs *
|
2018-12-03 13:56:52 +00:00
|
|
|
|
|
2019-04-09 15:47:33 +00:00
|
|
|
|
jsr PwdMgrInit
|
|
|
|
|
|
2019-11-27 22:04:55 +00:00
|
|
|
|
lda KBD
|
|
|
|
|
bpl .7
|
|
|
|
|
sta KBDSTROBE
|
|
|
|
|
cmp #146 CTRL-R for ROOT mode
|
|
|
|
|
bne .7
|
2019-11-26 06:46:02 +00:00
|
|
|
|
|
2018-10-17 15:31:29 +00:00
|
|
|
|
>PUSHBI 0
|
2018-12-15 20:34:55 +00:00
|
|
|
|
>LDYAI MSG.CTRLR
|
2019-06-10 13:52:20 +00:00
|
|
|
|
>SYSCALL2 printf
|
2020-01-24 14:21:08 +00:00
|
|
|
|
>PUSHWI CTRLR.SHELL
|
2018-07-17 15:45:59 +00:00
|
|
|
|
bra .8
|
2019-11-15 14:40:48 +00:00
|
|
|
|
|
2019-01-07 15:48:25 +00:00
|
|
|
|
.7 >PUSHWI ETCINIT.CMDLINE
|
2018-08-22 15:23:27 +00:00
|
|
|
|
>PUSHBI 2
|
2018-11-16 22:43:12 +00:00
|
|
|
|
>LDYAI MSG.EtcInit
|
2019-06-10 13:52:20 +00:00
|
|
|
|
>SYSCALL2 printf
|
2019-05-03 13:08:12 +00:00
|
|
|
|
|
2020-01-24 14:21:08 +00:00
|
|
|
|
>PUSHWI ETCINIT.CMDLINE
|
2019-11-15 14:40:48 +00:00
|
|
|
|
|
2020-01-24 14:21:08 +00:00
|
|
|
|
.8 >PUSHBI 0 PS Flags
|
|
|
|
|
>SYSCALL2 ExecL
|
2018-12-03 06:59:30 +00:00
|
|
|
|
bcs Kernel.Init3.Err
|
2019-11-15 14:40:48 +00:00
|
|
|
|
|
2018-10-25 15:31:41 +00:00
|
|
|
|
>PUSHBI 0
|
2017-08-22 06:38:16 +00:00
|
|
|
|
>LDYAI MSG.Init3.OK
|
2019-06-10 13:52:20 +00:00
|
|
|
|
>SYSCALL2 printf
|
2017-08-22 06:38:16 +00:00
|
|
|
|
>DEBUGOA
|
|
|
|
|
|
2017-08-29 15:19:09 +00:00
|
|
|
|
jmp CORE.Run
|
2018-12-03 06:59:30 +00:00
|
|
|
|
Kernel.Init3.Err
|
|
|
|
|
>PUSHA
|
2018-08-22 15:23:27 +00:00
|
|
|
|
>PUSHBI 1
|
2017-08-22 06:38:16 +00:00
|
|
|
|
>LDYAI MSG.StartupErr
|
2019-06-10 13:52:20 +00:00
|
|
|
|
>SYSCALL2 printf
|
2017-08-22 06:38:16 +00:00
|
|
|
|
bra * No need to discard Expanded CMDLINE
|
|
|
|
|
*--------------------------------------
|
2018-07-12 15:20:39 +00:00
|
|
|
|
* INIT2 Subs
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
KConfigLoad >LDYAI MSG.KCREAD
|
|
|
|
|
jsr PrintFYA
|
2018-07-10 15:33:13 +00:00
|
|
|
|
|
|
|
|
|
jsr MLI
|
2019-11-27 22:04:55 +00:00
|
|
|
|
.DA #MLIGETFILEINFOEX
|
|
|
|
|
.DA MLIGETFILEINFOEX00
|
2019-11-28 22:06:22 +00:00
|
|
|
|
bcc .1
|
2019-12-03 15:42:17 +00:00
|
|
|
|
eor #MLI.E.BADCALL
|
2019-12-09 15:53:14 +00:00
|
|
|
|
beq .2 regular ProDOS
|
2019-11-27 22:04:55 +00:00
|
|
|
|
|
2019-12-09 15:53:14 +00:00
|
|
|
|
ror CORE.FSID Bad file, but ProDOS.FX detected
|
2019-11-28 22:06:22 +00:00
|
|
|
|
bra .9
|
2019-11-27 22:04:55 +00:00
|
|
|
|
|
2019-12-17 12:28:49 +00:00
|
|
|
|
.1 sec
|
|
|
|
|
ror CORE.FSID File Present & ProDOS.FX detected
|
2019-12-09 15:53:14 +00:00
|
|
|
|
|
2019-11-28 22:06:22 +00:00
|
|
|
|
.2 jsr MLI
|
2018-07-10 15:33:13 +00:00
|
|
|
|
.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
|
2019-11-28 22:06:22 +00:00
|
|
|
|
|
2018-07-12 15:20:39 +00:00
|
|
|
|
>LDYAI MSG.KCREAD.OK
|
2019-11-28 22:06:22 +00:00
|
|
|
|
bra .8
|
|
|
|
|
|
2018-07-12 15:20:39 +00:00
|
|
|
|
.9 >LDYAI MSG.KCREAD.KO
|
2019-12-09 15:53:14 +00:00
|
|
|
|
|
|
|
|
|
.8 jsr PrintFYA
|
|
|
|
|
lda CORE.FSID
|
2019-11-28 22:06:22 +00:00
|
|
|
|
beq .99
|
|
|
|
|
|
|
|
|
|
>LDYAI MSG.PRODOSFX
|
|
|
|
|
jsr PrintFYA
|
|
|
|
|
|
|
|
|
|
.99 rts
|
2018-07-10 15:33:13 +00:00
|
|
|
|
*--------------------------------------
|
2018-07-12 15:20:39 +00:00
|
|
|
|
* INIT3 Subs
|
|
|
|
|
*--------------------------------------
|
2018-12-10 16:45:37 +00:00
|
|
|
|
MemMgrInit >LDYAI Mem.MHiMem
|
|
|
|
|
>STYA Mem.HiMem
|
|
|
|
|
>STYA Mem.Free
|
|
|
|
|
>LDYAI Mem.MLoMem
|
|
|
|
|
>STYA Mem.LoMem
|
|
|
|
|
stz Mem.LastSlot Reserve Slot #0
|
|
|
|
|
|
|
|
|
|
sta SETWRITEAUX
|
2018-12-17 14:24:39 +00:00
|
|
|
|
|
2018-12-10 16:45:37 +00:00
|
|
|
|
>LDYAI Mem.XLoMem
|
|
|
|
|
>STYA Mem.LoMem
|
2018-12-17 14:24:39 +00:00
|
|
|
|
|
2018-12-10 16:45:37 +00:00
|
|
|
|
stz Mem.LastSlot Reserve Slot #0
|
|
|
|
|
sta CLRWRITEAUX
|
|
|
|
|
|
|
|
|
|
ldx #K.DEV.MAX*2-1
|
2019-10-18 15:07:14 +00:00
|
|
|
|
|
2019-01-13 13:10:14 +00:00
|
|
|
|
.1 stz Dev.Table,x
|
2018-12-10 16:45:37 +00:00
|
|
|
|
dex
|
|
|
|
|
bpl .1
|
2019-10-18 15:07:14 +00:00
|
|
|
|
|
2018-12-21 14:32:45 +00:00
|
|
|
|
ldx #K.FLT.MAX*2-1
|
2019-10-18 15:07:14 +00:00
|
|
|
|
|
2018-12-21 14:32:45 +00:00
|
|
|
|
.11 stz Flt.Table.hPath,x
|
|
|
|
|
dex
|
|
|
|
|
bpl .11
|
|
|
|
|
|
2018-12-10 16:45:37 +00:00
|
|
|
|
ldx #K.NOD.MAX*2-1
|
2019-10-18 15:07:14 +00:00
|
|
|
|
|
2018-12-10 16:45:37 +00:00
|
|
|
|
.2 stz Nod.Table.hPath,x
|
|
|
|
|
dex
|
|
|
|
|
bpl .2
|
2019-10-18 15:07:14 +00:00
|
|
|
|
|
2018-12-10 16:45:37 +00:00
|
|
|
|
ldx #K.PS.MAX*4-1
|
2019-10-18 15:07:14 +00:00
|
|
|
|
|
2018-12-10 16:45:37 +00:00
|
|
|
|
.3 stz PS.Table.PID,x
|
|
|
|
|
dex
|
|
|
|
|
bpl .3
|
2019-10-18 15:07:14 +00:00
|
|
|
|
|
2018-12-10 16:45:37 +00:00
|
|
|
|
ldx #K.OF.MAX*2-1
|
2019-10-18 15:07:14 +00:00
|
|
|
|
|
2018-12-10 16:45:37 +00:00
|
|
|
|
.4 stz OF.Table.hPath,x
|
|
|
|
|
dex
|
|
|
|
|
bpl .4
|
|
|
|
|
|
|
|
|
|
ldx #K.EVT.MAX*S.EVT-1
|
2019-10-18 15:07:14 +00:00
|
|
|
|
|
2018-12-10 16:45:37 +00:00
|
|
|
|
.5 stz Evt.Table,x
|
|
|
|
|
dex
|
|
|
|
|
bpl .5
|
2019-10-18 15:07:14 +00:00
|
|
|
|
|
2019-04-15 05:40:13 +00:00
|
|
|
|
ldx #K.USR.MAX*2-1
|
2019-10-18 15:07:14 +00:00
|
|
|
|
|
2019-04-17 06:22:23 +00:00
|
|
|
|
.6 stz S.Table.hSession,x
|
2019-04-15 05:40:13 +00:00
|
|
|
|
dex
|
|
|
|
|
bpl .6
|
2019-10-18 15:07:14 +00:00
|
|
|
|
|
2018-12-10 16:45:37 +00:00
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
2019-04-30 16:08:47 +00:00
|
|
|
|
SysScrInit >LDYAI Mem.XHiMem
|
2018-12-17 14:24:39 +00:00
|
|
|
|
>STYA FD.TTY+S.FD.DEV.BUFPTR
|
|
|
|
|
|
|
|
|
|
jsr SysScrInit.TTYPtrs
|
2018-12-10 16:45:37 +00:00
|
|
|
|
|
2018-12-13 16:39:24 +00:00
|
|
|
|
>PUSHWI FD.CONSOLE.NAME
|
|
|
|
|
>LDYAI FD.TTY
|
2020-01-11 17:13:27 +00:00
|
|
|
|
|
2019-06-10 13:52:20 +00:00
|
|
|
|
>SYSCALL2 MKDev
|
2018-12-13 16:39:24 +00:00
|
|
|
|
bcs .9
|
2020-01-11 17:13:27 +00:00
|
|
|
|
|
2018-12-17 14:24:39 +00:00
|
|
|
|
ldx A2osX.TTYDEVS
|
2020-01-11 17:13:27 +00:00
|
|
|
|
|
2018-12-17 14:24:39 +00:00
|
|
|
|
.1 phx
|
2018-12-10 16:45:37 +00:00
|
|
|
|
inc FD.TTY+S.FD.DEV.DEVID
|
2018-12-11 16:41:25 +00:00
|
|
|
|
inc FD.TTY.NAME+3
|
2018-12-17 14:24:39 +00:00
|
|
|
|
jsr SysScrInit.TTYPtrs
|
2018-12-11 16:41:25 +00:00
|
|
|
|
>PUSHWI FD.TTY.NAME
|
2018-12-10 16:45:37 +00:00
|
|
|
|
>LDYAI FD.TTY
|
2019-06-10 13:52:20 +00:00
|
|
|
|
>SYSCALL2 MKDev
|
2018-12-17 14:24:39 +00:00
|
|
|
|
plx
|
|
|
|
|
bcs .9
|
2020-01-11 17:13:27 +00:00
|
|
|
|
|
2018-12-17 14:24:39 +00:00
|
|
|
|
dex
|
2018-12-10 16:45:37 +00:00
|
|
|
|
bne .1
|
2020-01-11 17:13:27 +00:00
|
|
|
|
|
2018-12-17 14:24:39 +00:00
|
|
|
|
>LDYA FD.TTY+S.FD.DEV.BUFPTR
|
|
|
|
|
sta SETWRITEAUX
|
|
|
|
|
>STYA Mem.HiMem
|
|
|
|
|
>STYA Mem.Free
|
|
|
|
|
sta CLRWRITEAUX
|
2020-01-11 17:13:27 +00:00
|
|
|
|
|
2018-12-13 16:39:24 +00:00
|
|
|
|
clc
|
|
|
|
|
.9 rts
|
2018-07-12 15:20:39 +00:00
|
|
|
|
*--------------------------------------
|
2018-12-17 14:24:39 +00:00
|
|
|
|
SysScrInit.TTYPtrs
|
2018-12-13 16:39:24 +00:00
|
|
|
|
lda DevMgr.Free
|
|
|
|
|
sta FD.TTY+S.FD.DEV.DCBPTR
|
2019-01-07 15:48:25 +00:00
|
|
|
|
sta .1+1
|
2018-12-17 14:24:39 +00:00
|
|
|
|
clc
|
2018-12-13 16:39:24 +00:00
|
|
|
|
adc #S.DCB.TTY
|
|
|
|
|
sta DevMgr.Free
|
|
|
|
|
|
|
|
|
|
lda DevMgr.Free+1
|
|
|
|
|
sta FD.TTY+S.FD.DEV.DCBPTR+1
|
2019-01-07 15:48:25 +00:00
|
|
|
|
sta .1+2
|
2018-12-13 16:39:24 +00:00
|
|
|
|
adc /S.DCB.TTY
|
|
|
|
|
sta DevMgr.Free+1
|
2020-01-11 17:13:27 +00:00
|
|
|
|
|
2019-01-07 15:48:25 +00:00
|
|
|
|
ldx #S.DCB.TTY-1
|
2020-01-11 17:13:27 +00:00
|
|
|
|
|
2019-01-07 15:48:25 +00:00
|
|
|
|
.1 stz $ffff,x SELF MODIFIED
|
|
|
|
|
dex
|
|
|
|
|
bpl .1
|
2020-01-11 17:13:27 +00:00
|
|
|
|
|
2018-12-17 14:24:39 +00:00
|
|
|
|
lda FD.TTY+S.FD.DEV.BUFPTR
|
|
|
|
|
sec
|
|
|
|
|
sbc #TTY.BUF.SIZE
|
|
|
|
|
sta FD.TTY+S.FD.DEV.BUFPTR
|
2018-12-13 16:39:24 +00:00
|
|
|
|
|
2018-12-17 14:24:39 +00:00
|
|
|
|
lda FD.TTY+S.FD.DEV.BUFPTR+1
|
|
|
|
|
sbc /TTY.BUF.SIZE
|
|
|
|
|
sta FD.TTY+S.FD.DEV.BUFPTR+1
|
2018-12-13 16:39:24 +00:00
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
2019-10-21 14:25:37 +00:00
|
|
|
|
* 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
|
2019-10-21 15:24:11 +00:00
|
|
|
|
bne .1
|
2019-10-21 14:25:37 +00:00
|
|
|
|
|
|
|
|
|
iny
|
2019-10-21 15:24:11 +00:00
|
|
|
|
|
2019-10-21 14:25:37 +00:00
|
|
|
|
.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
|
|
|
|
|
*--------------------------------------
|
2018-10-02 15:52:30 +00:00
|
|
|
|
CPU.Init.6502 >PUSHBI 0
|
|
|
|
|
>LDYAI MSG.CPU
|
2019-06-10 13:52:20 +00:00
|
|
|
|
>SYSCALL2 printf
|
2017-08-22 06:38:16 +00:00
|
|
|
|
jsr Detect6502 A = CPU type
|
|
|
|
|
sta A2osX.CPUTYPE
|
2018-07-13 14:38:24 +00:00
|
|
|
|
and #$F
|
|
|
|
|
asl
|
|
|
|
|
tax
|
|
|
|
|
ldy MSG.CPUTYPE,x
|
|
|
|
|
lda MSG.CPUTYPE+1,x
|
2019-06-10 13:52:20 +00:00
|
|
|
|
>SYSCALL2 puts
|
2017-08-22 06:38:16 +00:00
|
|
|
|
|
2019-10-21 14:25:37 +00:00
|
|
|
|
>PUSHBI 0
|
2018-07-12 15:20:39 +00:00
|
|
|
|
>LDYAI MSG.CPU.SPEED
|
2019-06-10 13:52:20 +00:00
|
|
|
|
>SYSCALL2 printf
|
2017-08-22 06:38:16 +00:00
|
|
|
|
|
|
|
|
|
stz A2osX.RANDOM16
|
|
|
|
|
stz A2osX.RANDOM16+1
|
2019-10-21 14:25:37 +00:00
|
|
|
|
|
2017-08-22 06:38:16 +00:00
|
|
|
|
php
|
|
|
|
|
sei
|
2019-10-21 14:25:37 +00:00
|
|
|
|
|
2019-10-28 06:32:12 +00:00
|
|
|
|
clc
|
2019-10-21 14:25:37 +00:00
|
|
|
|
lda MACHID
|
|
|
|
|
and #MACHID.T
|
2019-10-21 19:40:50 +00:00
|
|
|
|
eor #MACHID.T.IIc
|
2019-10-21 14:25:37 +00:00
|
|
|
|
bne .1
|
|
|
|
|
|
2019-10-28 06:32:12 +00:00
|
|
|
|
sec
|
|
|
|
|
.1 ror ZPPtr1 save //c flag
|
|
|
|
|
|
|
|
|
|
bpl .11
|
|
|
|
|
|
2019-10-21 19:40:50 +00:00
|
|
|
|
sta CLRIOUDIS
|
|
|
|
|
lda IO.IIC.RDVBLMSK
|
2019-10-28 06:32:12 +00:00
|
|
|
|
sta ZPPtr1+1 Save VBLIRQ enable
|
2019-10-21 19:40:50 +00:00
|
|
|
|
|
|
|
|
|
sta IO.IIC.ENVBL
|
2019-10-21 14:25:37 +00:00
|
|
|
|
|
2019-10-28 06:32:12 +00:00
|
|
|
|
.11 bit VBL
|
|
|
|
|
bpl .11
|
2017-08-22 06:38:16 +00:00
|
|
|
|
|
2019-10-22 14:28:54 +00:00
|
|
|
|
.2 lda VBL
|
2017-08-22 06:38:16 +00:00
|
|
|
|
bmi .2
|
|
|
|
|
|
2019-10-22 14:28:54 +00:00
|
|
|
|
ldx #2
|
|
|
|
|
|
2019-10-28 06:32:12 +00:00
|
|
|
|
.20 bit ZPPtr1 //c ?
|
|
|
|
|
bpl .3
|
|
|
|
|
|
|
|
|
|
lda IO.IIC.CLRVBLIRQ yes, clear IRQ
|
2019-11-04 07:21:40 +00:00
|
|
|
|
lda #0 wait for UP again
|
2019-10-28 06:32:12 +00:00
|
|
|
|
|
2019-10-22 14:28:54 +00:00
|
|
|
|
.3 ldy #4 (2)
|
|
|
|
|
|
|
|
|
|
.4 dey (2)
|
2017-08-22 06:38:16 +00:00
|
|
|
|
bne .4 (2*)
|
2019-10-22 14:28:54 +00:00
|
|
|
|
|
2017-08-22 06:38:16 +00:00
|
|
|
|
inc A2osX.RANDOM16 (6)
|
|
|
|
|
bne .5 (2*)
|
2019-10-22 14:28:54 +00:00
|
|
|
|
|
2017-08-22 06:38:16 +00:00
|
|
|
|
inc A2osX.RANDOM16+1 (6)
|
2019-10-22 14:28:54 +00:00
|
|
|
|
|
|
|
|
|
bra .6 (3)
|
2019-10-21 14:25:37 +00:00
|
|
|
|
|
2017-08-22 06:38:16 +00:00
|
|
|
|
.5 nop (2)
|
|
|
|
|
nop (2)
|
|
|
|
|
nop (2)
|
2019-10-22 14:28:54 +00:00
|
|
|
|
|
|
|
|
|
bra .6 (3)
|
2019-10-21 14:25:37 +00:00
|
|
|
|
|
2019-10-22 14:28:54 +00:00
|
|
|
|
.6 eor VBL (4)
|
|
|
|
|
bpl .3 (2*)
|
|
|
|
|
|
|
|
|
|
dex
|
2019-10-28 06:32:12 +00:00
|
|
|
|
bne .20
|
2019-10-22 14:28:54 +00:00
|
|
|
|
|
2019-10-28 06:32:12 +00:00
|
|
|
|
bit ZPPtr1 //c ?
|
|
|
|
|
|
|
|
|
|
bpl .60
|
2019-10-21 14:25:37 +00:00
|
|
|
|
|
2019-10-28 06:32:12 +00:00
|
|
|
|
lda IO.IIC.CLRVBLIRQ yes, clear IRQ
|
2019-10-21 14:25:37 +00:00
|
|
|
|
|
2019-10-28 06:32:12 +00:00
|
|
|
|
bit ZPPtr1+1 Disable VBLIRQ ?
|
|
|
|
|
bpl .60
|
2019-10-21 14:25:37 +00:00
|
|
|
|
|
2019-10-21 19:40:50 +00:00
|
|
|
|
sta IO.IIC.DISVBL
|
2019-10-21 14:25:37 +00:00
|
|
|
|
|
|
|
|
|
.60 plp
|
2017-08-22 06:38:16 +00:00
|
|
|
|
|
|
|
|
|
stz A2osX.CPUSPEED
|
2019-10-22 14:28:54 +00:00
|
|
|
|
|
2017-08-22 06:38:16 +00:00
|
|
|
|
.7 sec
|
|
|
|
|
lda A2osX.RANDOM16
|
|
|
|
|
sbc #100
|
|
|
|
|
tax
|
|
|
|
|
lda A2osX.RANDOM16+1
|
|
|
|
|
sbc /100
|
|
|
|
|
bcc .8
|
2019-10-22 14:28:54 +00:00
|
|
|
|
|
2017-08-22 06:38:16 +00:00
|
|
|
|
stx A2osX.RANDOM16
|
|
|
|
|
sta A2osX.RANDOM16+1
|
|
|
|
|
inc A2osX.CPUSPEED
|
|
|
|
|
bra .7
|
|
|
|
|
|
|
|
|
|
.8 lda A2osX.RANDOM16
|
|
|
|
|
sta A2osX.CPUSPEED+1
|
2019-10-22 14:28:54 +00:00
|
|
|
|
|
2018-07-13 14:38:24 +00:00
|
|
|
|
>PUSHA push CPU speed LO
|
2017-08-22 06:38:16 +00:00
|
|
|
|
lda A2osX.CPUSPEED
|
2018-07-13 14:38:24 +00:00
|
|
|
|
>PUSHA push CPU speed HI
|
2018-08-22 15:23:27 +00:00
|
|
|
|
>PUSHBI 2
|
2018-07-12 15:20:39 +00:00
|
|
|
|
>LDYAI MSG.CPU.SPEEDOK
|
2019-06-10 13:52:20 +00:00
|
|
|
|
>SYSCALL2 printf
|
2018-07-13 14:38:24 +00:00
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
2018-10-02 15:52:30 +00:00
|
|
|
|
CPU.Init.Z80 >PUSHBI 0
|
|
|
|
|
>LDYAI MSG.Z80
|
2019-06-10 13:52:20 +00:00
|
|
|
|
>SYSCALL2 printf
|
2017-08-22 06:38:16 +00:00
|
|
|
|
jsr DetectZ80
|
|
|
|
|
bcs .9
|
|
|
|
|
sta A2osX.Z80SLOT
|
2018-07-13 14:38:24 +00:00
|
|
|
|
>PUSHA
|
2017-08-22 06:38:16 +00:00
|
|
|
|
tax
|
2017-10-19 15:27:38 +00:00
|
|
|
|
lda #A2osX.S.Z80
|
|
|
|
|
sta A2osX.S,x
|
2018-08-22 15:23:27 +00:00
|
|
|
|
>PUSHBI 1
|
2018-07-12 15:20:39 +00:00
|
|
|
|
>LDYAI MSG.Z80.OK
|
2019-06-10 13:52:20 +00:00
|
|
|
|
>SYSCALL2 printf
|
2017-08-22 06:38:16 +00:00
|
|
|
|
rts
|
2018-07-12 15:20:39 +00:00
|
|
|
|
.9 >LDYAI MSG.Z80.KO
|
2019-06-10 13:52:20 +00:00
|
|
|
|
>SYSCALL2 puts
|
2017-08-22 06:38:16 +00:00
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
* Out:
|
|
|
|
|
* A = $60, 6502
|
|
|
|
|
* A = $61, 65C02
|
|
|
|
|
* A = $62, 65R02
|
|
|
|
|
* A = $63, 65816
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
Detect6502 ldy #0 Test 6502 BCD bug
|
|
|
|
|
sed
|
|
|
|
|
lda #$99
|
|
|
|
|
clc
|
|
|
|
|
adc #$01
|
|
|
|
|
cld
|
|
|
|
|
bmi .9 BUG!, we have 6502
|
|
|
|
|
|
|
|
|
|
ldy #3 test 65C816 TYX Instruction
|
|
|
|
|
ldx #0
|
|
|
|
|
.OP 65816
|
|
|
|
|
tyx TYX: if 65C816, x becomes non-zero
|
|
|
|
|
.OP 65C02
|
|
|
|
|
bne .9 worked! 65C816
|
|
|
|
|
|
|
|
|
|
dey y=2 -> R65C02
|
|
|
|
|
ldx $EA save zp $EA
|
|
|
|
|
stz $EA store 0 in $EA
|
|
|
|
|
* .OP 65R02
|
|
|
|
|
.HS F7EA For compatibility with A2osX.ASM
|
|
|
|
|
* smb 7,$EA if not Rockwell, assemble as nop nop
|
|
|
|
|
* .OP 65C02
|
|
|
|
|
asl $EA cs if Rockwell
|
|
|
|
|
stx $EA restore zp $EA
|
|
|
|
|
bcs .9
|
|
|
|
|
dey y=1 -> 65C02
|
|
|
|
|
.9 tya
|
|
|
|
|
ora #$60
|
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
* Out:
|
|
|
|
|
* A = Z80 Slot
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
DetectZ80 ldx #Z80Code.Size
|
|
|
|
|
.1 lda Z80Code.Start-1,x
|
2018-07-04 14:59:12 +00:00
|
|
|
|
sta Z80CODE-1,x 00000H for Z80
|
2017-08-22 06:38:16 +00:00
|
|
|
|
dex
|
|
|
|
|
bne .1
|
|
|
|
|
stz ZPPtr1
|
|
|
|
|
lda #$C1
|
|
|
|
|
sta ZPPtr1+1
|
|
|
|
|
.2 sta (ZPPtr1)
|
|
|
|
|
lda $100D
|
|
|
|
|
bmi .8
|
|
|
|
|
inc ZPPtr1+1
|
|
|
|
|
lda ZPPtr1+1
|
|
|
|
|
cmp #$C8
|
|
|
|
|
beq .9 CS
|
|
|
|
|
clc
|
|
|
|
|
adc #$20
|
|
|
|
|
sta $100A
|
|
|
|
|
bra .2
|
|
|
|
|
.8 lda ZPPtr1+1
|
|
|
|
|
and #$0F
|
|
|
|
|
clc
|
|
|
|
|
.9 rts
|
|
|
|
|
*--------------------------------------
|
2019-07-23 06:13:03 +00:00
|
|
|
|
DevMgrInit >LDYAI MSG.DEV
|
|
|
|
|
>SYSCALL2 puts
|
2019-10-17 13:30:09 +00:00
|
|
|
|
|
2019-07-23 06:13:03 +00:00
|
|
|
|
lda DEVCNT
|
|
|
|
|
sta .1+1
|
2019-10-17 13:30:09 +00:00
|
|
|
|
|
2019-07-23 06:13:03 +00:00
|
|
|
|
.1 ldx #$ff SELF MODIFIED
|
|
|
|
|
lda DEVLST,x
|
|
|
|
|
and #$F0
|
|
|
|
|
asl
|
|
|
|
|
php Save Drive 1/2 in C
|
|
|
|
|
ror DSSS0000
|
|
|
|
|
lsr
|
|
|
|
|
lsr
|
|
|
|
|
lsr
|
|
|
|
|
|
|
|
|
|
tax 000DSSS0
|
|
|
|
|
lsr 0000DSSS
|
|
|
|
|
and #$7
|
|
|
|
|
sta FD.BDEV+S.FD.DEV.BUSID
|
2019-10-17 13:30:09 +00:00
|
|
|
|
|
2019-07-23 06:13:03 +00:00
|
|
|
|
ora #$30
|
|
|
|
|
sta FD.BDEV.NAME+1 SnDy
|
2019-10-17 13:30:09 +00:00
|
|
|
|
|
2019-07-23 06:13:03 +00:00
|
|
|
|
lda DEVPTRS,x
|
|
|
|
|
sta FD.BDEV+S.FD.DEV.BUSPTR
|
|
|
|
|
lda DEVPTRS+1,x
|
|
|
|
|
sta FD.BDEV+S.FD.DEV.BUSPTR+1
|
2019-10-17 13:30:09 +00:00
|
|
|
|
|
2019-07-23 06:13:03 +00:00
|
|
|
|
sta ZPPtr1+1
|
|
|
|
|
stz ZPPtr1 Cn00
|
|
|
|
|
plp
|
|
|
|
|
lda #0
|
|
|
|
|
adc #1 Make DevID 1 or 2
|
|
|
|
|
sta FD.BDEV+S.FD.DEV.DEVID
|
|
|
|
|
ora #$30
|
|
|
|
|
sta FD.BDEV.NAME+3 SxDn
|
|
|
|
|
lda ZPPtr1+1
|
|
|
|
|
|
|
|
|
|
cmp #$FF /RAM is always $FF00
|
|
|
|
|
bne .2
|
|
|
|
|
|
|
|
|
|
jsr DevMgrInit.RAM
|
|
|
|
|
bra .8 keep slot free
|
2019-10-17 13:30:09 +00:00
|
|
|
|
|
2019-07-23 06:13:03 +00:00
|
|
|
|
.2 cmp #$D0 Disk II Driver is $D000
|
|
|
|
|
bne .3
|
2019-10-17 13:30:09 +00:00
|
|
|
|
|
2019-07-23 06:13:03 +00:00
|
|
|
|
jsr DevMgrInit.DII
|
|
|
|
|
lda #A2osX.S.DII
|
|
|
|
|
bra .7 Go mark slot as USED
|
2019-10-17 13:30:09 +00:00
|
|
|
|
|
2019-07-23 06:13:03 +00:00
|
|
|
|
.3 bcs .53 > $D0, Some BLK remapped DRV
|
2019-10-17 13:30:09 +00:00
|
|
|
|
|
2019-07-23 06:13:03 +00:00
|
|
|
|
cmp #$C0
|
|
|
|
|
bcs .4 $C0 .. $CF, in slot ROM
|
2019-10-17 13:30:09 +00:00
|
|
|
|
|
2019-07-23 06:13:03 +00:00
|
|
|
|
jsr DevMgrInit.USR Outside ROM/LC space, User loaded BLK dev
|
|
|
|
|
bra .8 keep slot free
|
2019-10-17 13:30:09 +00:00
|
|
|
|
|
2019-07-23 06:13:03 +00:00
|
|
|
|
.4 ldx #SmartPort.SIG-SmartPort.OFS-1
|
|
|
|
|
|
2020-01-28 16:42:51 +00:00
|
|
|
|
.5 ldy SmartPort.OFS,x Check if there is a smartport firmware
|
2019-07-23 06:13:03 +00:00
|
|
|
|
lda (ZPPtr1),y
|
|
|
|
|
cmp SmartPort.SIG,x
|
2020-01-28 16:42:51 +00:00
|
|
|
|
bne .8 not a Disk Controller...
|
2019-10-17 13:30:09 +00:00
|
|
|
|
|
2019-07-23 06:13:03 +00:00
|
|
|
|
dex
|
|
|
|
|
bpl .5
|
2019-10-17 13:30:09 +00:00
|
|
|
|
|
2019-07-23 06:13:03 +00:00
|
|
|
|
ldy #7
|
|
|
|
|
lda (ZPPtr1),y
|
2020-01-28 16:42:51 +00:00
|
|
|
|
bne .6 $Cn07=00 : SmartPort
|
2019-07-23 06:13:03 +00:00
|
|
|
|
|
2019-10-18 19:57:38 +00:00
|
|
|
|
jsr DevMgrInit.SP
|
2019-07-23 06:13:03 +00:00
|
|
|
|
lda #A2osX.S.SP
|
|
|
|
|
bra .7
|
|
|
|
|
|
2020-01-28 16:42:51 +00:00
|
|
|
|
.53 jsr DevMgrInit.RSP Remapped SP devices....
|
|
|
|
|
bra .8 don't mark slot as busy
|
2019-07-23 06:13:03 +00:00
|
|
|
|
|
|
|
|
|
.6 jsr DevMgrInit.BLK
|
|
|
|
|
lda #A2osX.S.BLK
|
2019-10-17 13:30:09 +00:00
|
|
|
|
|
2019-07-23 06:13:03 +00:00
|
|
|
|
.7 ldx FD.BDEV+S.FD.DEV.BUSID
|
|
|
|
|
sta A2osX.S,x
|
2019-10-17 13:30:09 +00:00
|
|
|
|
|
2019-07-23 06:13:03 +00:00
|
|
|
|
.8 dec .1+1
|
|
|
|
|
bmi .80
|
2019-10-17 13:30:09 +00:00
|
|
|
|
|
2019-07-23 06:13:03 +00:00
|
|
|
|
jmp .1
|
|
|
|
|
.80 clc
|
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
DevMgrInit.RAM ldx #0
|
2020-01-28 16:42:51 +00:00
|
|
|
|
.HS 2C BIT ABS
|
2019-07-23 06:13:03 +00:00
|
|
|
|
*--------------------------------------
|
|
|
|
|
DevMgrInit.DII ldx #2
|
2020-01-28 16:42:51 +00:00
|
|
|
|
.HS 2C BIT ABS
|
2019-07-23 06:13:03 +00:00
|
|
|
|
*--------------------------------------
|
|
|
|
|
DevMgrInit.USR ldx #4
|
2019-11-09 13:27:05 +00:00
|
|
|
|
.HS 2C BIT ABS
|
2019-07-23 06:13:03 +00:00
|
|
|
|
*--------------------------------------
|
2019-11-09 13:27:05 +00:00
|
|
|
|
DevMgrInit.BLK ldx #6
|
2019-07-23 06:13:03 +00:00
|
|
|
|
bra DevMgrInit.AddBDev
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
DevMgrInit.SP ldy #$ff
|
|
|
|
|
lda (ZPPtr1),y
|
|
|
|
|
clc
|
|
|
|
|
adc #3 Compute smartport entry point
|
|
|
|
|
sta FD.BDEV+S.FD.DEV.BUSPTR
|
2020-01-28 16:42:51 +00:00
|
|
|
|
|
2020-01-13 11:05:11 +00:00
|
|
|
|
ldx #8
|
2020-01-28 16:42:51 +00:00
|
|
|
|
.HS 2C BIT ABS
|
|
|
|
|
|
|
|
|
|
DevMgrInit.RSP ldx #10
|
2019-07-23 06:13:03 +00:00
|
|
|
|
*--------------------------------------
|
|
|
|
|
DevMgrInit.AddBDev
|
2020-01-28 16:42:51 +00:00
|
|
|
|
>LDYA DRV.BLKDEV,x
|
2019-07-23 06:13:03 +00:00
|
|
|
|
>STYA FD.BDEV+S.FD.DEV.DRVPTR
|
|
|
|
|
>PUSHW MSG.BLKDEV.TBL,x
|
2020-01-28 16:42:51 +00:00
|
|
|
|
>PUSHW FD.BDEV+S.FD.DEV.BUSPTR
|
2019-07-23 06:13:03 +00:00
|
|
|
|
>PUSHWI FD.BDEV.NAME
|
2020-01-28 16:42:51 +00:00
|
|
|
|
>PUSHBI 6
|
2019-07-23 06:13:03 +00:00
|
|
|
|
>LDYAI MSG.BLKDEV
|
|
|
|
|
>SYSCALL2 printf
|
2020-01-28 16:42:51 +00:00
|
|
|
|
|
2019-07-23 06:13:03 +00:00
|
|
|
|
>PUSHWI FD.BDEV.NAME
|
2019-07-24 05:53:09 +00:00
|
|
|
|
>LDYAI FD.BDEV
|
2019-07-23 06:13:03 +00:00
|
|
|
|
>SYSCALL2 MKDev
|
2019-10-03 06:25:27 +00:00
|
|
|
|
DevMgrInit.AddBDev.RTS
|
2019-07-23 06:13:03 +00:00
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
2017-08-22 06:38:16 +00:00
|
|
|
|
* Setup AuxLC $FFFE->Kernel IRQ Handler
|
|
|
|
|
* if irq not handled, jmp (S.IrqMgrOldFFFE)
|
|
|
|
|
*--------------------------------------
|
2017-08-31 15:35:15 +00:00
|
|
|
|
IrqMgrInit >LDYAI MSG.IRQ
|
2019-06-10 13:52:20 +00:00
|
|
|
|
>SYSCALL2 puts
|
2019-10-21 14:25:37 +00:00
|
|
|
|
|
2018-04-10 15:03:29 +00:00
|
|
|
|
php
|
|
|
|
|
sei
|
|
|
|
|
>LDYA $FFFE
|
2018-04-28 12:10:58 +00:00
|
|
|
|
>STYA K.IrqHAuxLC.JMP+1
|
2018-04-10 15:03:29 +00:00
|
|
|
|
>LDYAI K.IrqHAuxLC
|
|
|
|
|
>STYA $FFFE
|
|
|
|
|
|
|
|
|
|
>LDYAI GP.IrqH
|
|
|
|
|
>STYA K.MLI.PARAMS+2
|
|
|
|
|
|
|
|
|
|
>MLICALL MLIALLOCIRQ
|
2019-10-22 07:52:34 +00:00
|
|
|
|
bcs .9
|
2018-04-10 15:03:29 +00:00
|
|
|
|
lda K.MLI.PARAMS+1
|
|
|
|
|
sta IRQ.INTNUM
|
|
|
|
|
|
|
|
|
|
plp
|
2019-10-22 07:52:34 +00:00
|
|
|
|
*--------------------------------------
|
2019-10-21 14:25:37 +00:00
|
|
|
|
lda A2osX.HWType
|
|
|
|
|
cmp #A2osX.HWType.IIgs
|
2019-10-22 07:52:34 +00:00
|
|
|
|
bne .1
|
|
|
|
|
|
|
|
|
|
lda #"G"
|
|
|
|
|
sta IRQ.Mode
|
|
|
|
|
|
|
|
|
|
lda #$08
|
|
|
|
|
tsb IO.IIGS.INTEN
|
|
|
|
|
|
|
|
|
|
jsr IrqMgrInit.HZ2Tick
|
|
|
|
|
|
|
|
|
|
>LDYAI K.IrqH.IIGS
|
|
|
|
|
jsr IrqMgrInit.SetV
|
|
|
|
|
|
|
|
|
|
>LDYAI MSG.IRQ.IIGS
|
|
|
|
|
bra .8
|
|
|
|
|
|
|
|
|
|
.1 cmp #A2osX.HWType.IIc
|
|
|
|
|
beq .2
|
2019-10-21 14:25:37 +00:00
|
|
|
|
|
2018-04-05 20:32:22 +00:00
|
|
|
|
jsr IrqMgrInit.TClock
|
2019-10-22 07:52:34 +00:00
|
|
|
|
bcs .2
|
2019-10-21 14:37:10 +00:00
|
|
|
|
|
2018-04-05 20:32:22 +00:00
|
|
|
|
lda #"C"
|
2018-12-17 07:02:03 +00:00
|
|
|
|
sta IRQ.Mode
|
2018-04-10 15:03:29 +00:00
|
|
|
|
>LDYAI K.IrqH.TCLOCK
|
2019-10-22 07:52:34 +00:00
|
|
|
|
jsr IrqMgrInit.SetV
|
|
|
|
|
|
2018-04-05 20:32:22 +00:00
|
|
|
|
>LDYAI MSG.IRQ.CLOCK
|
2019-10-22 07:52:34 +00:00
|
|
|
|
bra .8
|
2018-04-05 20:32:22 +00:00
|
|
|
|
|
2019-10-22 07:52:34 +00:00
|
|
|
|
.2 jsr IrqMgrInit.Mouse
|
|
|
|
|
bcs .3
|
2019-10-21 14:37:10 +00:00
|
|
|
|
|
2018-04-05 20:32:22 +00:00
|
|
|
|
lda #"V"
|
2018-12-17 07:02:03 +00:00
|
|
|
|
sta IRQ.Mode
|
2018-04-10 15:03:29 +00:00
|
|
|
|
>LDYAI K.IrqH.VBL
|
2019-10-22 07:52:34 +00:00
|
|
|
|
jsr IrqMgrInit.SetV
|
|
|
|
|
|
2018-04-05 20:32:22 +00:00
|
|
|
|
>LDYAI MSG.IRQ.VBL
|
2019-10-22 07:52:34 +00:00
|
|
|
|
bra .8
|
2019-10-21 14:37:10 +00:00
|
|
|
|
|
2019-10-22 07:52:34 +00:00
|
|
|
|
.3 jsr IrqMgrInit.HZ2Tick
|
2017-10-11 15:37:41 +00:00
|
|
|
|
|
2017-12-18 16:36:21 +00:00
|
|
|
|
lda #"P"
|
2019-10-21 14:37:10 +00:00
|
|
|
|
sta IRQ.Mode
|
2017-10-11 15:37:41 +00:00
|
|
|
|
>LDYAI MSG.IRQ.POLL
|
2019-10-22 07:52:34 +00:00
|
|
|
|
|
|
|
|
|
.8 >SYSCALL2 puts
|
2017-10-11 15:37:41 +00:00
|
|
|
|
clc
|
|
|
|
|
rts
|
2018-04-10 15:03:29 +00:00
|
|
|
|
|
2019-10-22 07:52:34 +00:00
|
|
|
|
.9 plp
|
|
|
|
|
sec
|
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
IrqMgrInit.SetV >STYA K.IrqHAuxLC.JSR+1
|
|
|
|
|
>STYA GP.IrqH.JSR+1
|
2019-10-03 06:25:27 +00:00
|
|
|
|
rts
|
2018-04-05 20:32:22 +00:00
|
|
|
|
*--------------------------------------
|
|
|
|
|
IrqMgrInit.TClock
|
2019-01-04 13:17:31 +00:00
|
|
|
|
stz ZPPtr1 Try finding a TClock Card...
|
2018-04-05 20:32:22 +00:00
|
|
|
|
lda #$C1
|
|
|
|
|
sta ZPPtr1+1
|
2018-10-15 06:25:40 +00:00
|
|
|
|
.1 ldy #TClock.SIG.Cnt-1
|
2018-04-05 20:32:22 +00:00
|
|
|
|
|
|
|
|
|
.2 lda (ZPPtr1),y
|
|
|
|
|
cmp TClock.SIG,y
|
|
|
|
|
bne .3
|
|
|
|
|
dey
|
|
|
|
|
bpl .2
|
|
|
|
|
bra .4
|
|
|
|
|
.3 inc ZPPtr1+1 no match, try next slot....
|
|
|
|
|
lda ZPPtr1+1
|
|
|
|
|
cmp #$C8
|
|
|
|
|
bne .1
|
|
|
|
|
sec
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
.4 lda ZPPtr1+1 get $Cn
|
|
|
|
|
and #$f
|
|
|
|
|
tax get $0n
|
|
|
|
|
asl
|
|
|
|
|
asl
|
|
|
|
|
asl
|
|
|
|
|
asl
|
|
|
|
|
tay get $n0
|
|
|
|
|
sty IRQ.VBL.n0
|
2018-12-01 19:39:44 +00:00
|
|
|
|
lda #A2osX.S.CLK
|
|
|
|
|
sta A2osX.S,x
|
2018-04-05 20:32:22 +00:00
|
|
|
|
php
|
|
|
|
|
sei
|
2018-12-01 19:39:44 +00:00
|
|
|
|
lda #$40+$20 Enable interrupt + 64Hz
|
2018-04-05 20:32:22 +00:00
|
|
|
|
sta $c080,y
|
2018-12-01 19:39:44 +00:00
|
|
|
|
lda #$40
|
|
|
|
|
sta CLRPAGE2
|
2018-04-05 20:32:22 +00:00
|
|
|
|
sta $478,x
|
|
|
|
|
sta $7f8,x
|
|
|
|
|
|
|
|
|
|
lda #64
|
|
|
|
|
sta CORE.TickPerSec
|
|
|
|
|
sta CORE.TickSec
|
|
|
|
|
lda #11
|
2017-10-11 15:37:41 +00:00
|
|
|
|
sta CORE.TickPer10t
|
|
|
|
|
sta CORE.Tick10t
|
2018-04-05 20:32:22 +00:00
|
|
|
|
dec CORE.IRQMode
|
|
|
|
|
plp
|
|
|
|
|
clc
|
2017-10-11 15:37:41 +00:00
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
IrqMgrInit.Mouse
|
2017-08-22 06:38:16 +00:00
|
|
|
|
stz ZPPtr1 Try finding a Mouse Card...
|
|
|
|
|
lda #$C1
|
|
|
|
|
sta ZPPtr1+1
|
|
|
|
|
.1 ldx #Mouse.SIG-Mouse.OFS-1
|
|
|
|
|
|
|
|
|
|
.2 ldy Mouse.OFS,x
|
|
|
|
|
lda (ZPPtr1),y
|
|
|
|
|
cmp Mouse.SIG,x
|
|
|
|
|
bne .3
|
|
|
|
|
dex
|
|
|
|
|
bpl .2
|
|
|
|
|
bra .4
|
|
|
|
|
.3 inc ZPPtr1+1 no match, try next slot....
|
|
|
|
|
lda ZPPtr1+1
|
|
|
|
|
cmp #$C8
|
|
|
|
|
bne .1
|
|
|
|
|
|
|
|
|
|
sec
|
|
|
|
|
rts
|
|
|
|
|
.4 lda ZPPtr1+1
|
|
|
|
|
|
2018-04-05 20:32:22 +00:00
|
|
|
|
sta .11+2
|
2018-04-28 12:10:58 +00:00
|
|
|
|
sta K.IrqH.VBL.MSM+2
|
|
|
|
|
sta K.IrqH.VBL.MRM+2
|
2017-08-22 06:38:16 +00:00
|
|
|
|
and #$0f
|
2017-10-27 14:56:46 +00:00
|
|
|
|
sta IRQ.VBL.0n
|
2017-08-22 06:38:16 +00:00
|
|
|
|
asl
|
|
|
|
|
asl
|
|
|
|
|
asl
|
|
|
|
|
asl
|
|
|
|
|
|
2017-10-27 14:56:46 +00:00
|
|
|
|
sta IRQ.VBL.n0
|
2017-08-22 06:38:16 +00:00
|
|
|
|
|
2017-10-11 15:37:41 +00:00
|
|
|
|
php
|
|
|
|
|
sei
|
2017-09-21 15:29:45 +00:00
|
|
|
|
bit RROMBNK2 Renable ROM to allow MOUSE II firmware works properly
|
2018-04-05 20:32:22 +00:00
|
|
|
|
ldy #INITMOUSE
|
|
|
|
|
jsr .10
|
|
|
|
|
ldy #SETMOUSE
|
|
|
|
|
lda #MOUSEMODx.INTVBL+MOUSEMODx.ACTIVE
|
|
|
|
|
jsr .10
|
|
|
|
|
|
2017-08-22 06:38:16 +00:00
|
|
|
|
bit RRAMWRAMBNK1 Back To LC Ram
|
|
|
|
|
bit RRAMWRAMBNK1
|
2018-04-05 20:32:22 +00:00
|
|
|
|
ldy #SERVEMOUSE
|
|
|
|
|
lda (ZPPtr1),y
|
2018-04-28 12:10:58 +00:00
|
|
|
|
sta K.IrqH.VBL.MSM+1
|
2018-04-05 20:32:22 +00:00
|
|
|
|
|
|
|
|
|
ldy #READMOUSE
|
|
|
|
|
lda (ZPPtr1),y
|
2018-04-28 12:10:58 +00:00
|
|
|
|
sta K.IrqH.VBL.MRM+1
|
2018-04-05 20:32:22 +00:00
|
|
|
|
|
2017-10-11 15:37:41 +00:00
|
|
|
|
jsr IrqMgrInit.HZ2Tick
|
|
|
|
|
dec CORE.IRQMode
|
2017-08-22 06:38:16 +00:00
|
|
|
|
plp
|
2019-10-03 06:25:27 +00:00
|
|
|
|
clc
|
2017-10-11 15:37:41 +00:00
|
|
|
|
rts
|
|
|
|
|
.9 plp
|
|
|
|
|
sec
|
2017-08-22 06:38:16 +00:00
|
|
|
|
rts
|
2017-10-11 15:37:41 +00:00
|
|
|
|
|
2018-04-05 20:32:22 +00:00
|
|
|
|
.10 pha
|
|
|
|
|
lda (ZPPtr1),y
|
|
|
|
|
sta .11+1
|
|
|
|
|
pla
|
|
|
|
|
ldx .11+2 Cn
|
|
|
|
|
ldy IRQ.VBL.n0
|
2017-10-11 15:37:41 +00:00
|
|
|
|
|
2018-04-05 20:32:22 +00:00
|
|
|
|
.11 jmp $ffff SELF MODIFIED
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
IrqMgrInit.HZ2Tick
|
|
|
|
|
lda A2osX.HZ
|
2017-10-11 15:37:41 +00:00
|
|
|
|
sta CORE.TickPer10t
|
|
|
|
|
sta CORE.Tick10t
|
2019-10-22 07:52:34 +00:00
|
|
|
|
asl
|
|
|
|
|
asl
|
|
|
|
|
clc
|
|
|
|
|
adc A2osX.HZ
|
|
|
|
|
|
|
|
|
|
asl
|
|
|
|
|
|
|
|
|
|
sta CORE.TickPerSec
|
|
|
|
|
sta CORE.TickSec
|
2018-04-05 20:32:22 +00:00
|
|
|
|
|
2017-10-11 15:37:41 +00:00
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
2017-08-31 15:35:15 +00:00
|
|
|
|
EvtMgrInit >LDYAI MSG.EVT
|
2019-06-10 13:52:20 +00:00
|
|
|
|
>SYSCALL2 puts
|
2019-01-24 13:53:29 +00:00
|
|
|
|
stz CORE.EvtCount
|
2017-08-31 15:35:15 +00:00
|
|
|
|
lda #$A5
|
2019-12-07 17:53:45 +00:00
|
|
|
|
sta A2osX.RANDOM16
|
2017-08-22 06:38:16 +00:00
|
|
|
|
lda #$9B
|
2019-12-07 17:53:45 +00:00
|
|
|
|
sta A2osX.RANDOM16+1
|
2017-08-22 06:38:16 +00:00
|
|
|
|
|
2017-10-27 06:36:46 +00:00
|
|
|
|
lda /Evt.Table
|
2017-08-22 06:38:16 +00:00
|
|
|
|
sta pEvent+1
|
|
|
|
|
clc
|
2019-04-30 16:08:47 +00:00
|
|
|
|
EvtMgrInit.RTS rts
|
2017-08-22 06:38:16 +00:00
|
|
|
|
*--------------------------------------
|
2017-08-31 15:35:15 +00:00
|
|
|
|
TskMgrInit >LDYAI MSG.TSK
|
2019-06-10 13:52:20 +00:00
|
|
|
|
>SYSCALL2 puts
|
2017-08-22 06:38:16 +00:00
|
|
|
|
|
|
|
|
|
>LDYAI K.ENV.SIZE get a buffer for ENV
|
2020-01-14 07:40:01 +00:00
|
|
|
|
.DO AUXENV=1
|
|
|
|
|
ldx #SYS.NewStkObj
|
|
|
|
|
jsr K.SYSCALL2.AUX Buffer in AUX mem
|
|
|
|
|
.ELSE
|
2019-01-22 16:35:42 +00:00
|
|
|
|
jsr K.GetMem
|
2020-01-14 07:40:01 +00:00
|
|
|
|
.FIN
|
2019-04-30 16:08:47 +00:00
|
|
|
|
bcs EvtMgrInit.RTS
|
2019-01-22 16:35:42 +00:00
|
|
|
|
>STYA ZPPtr1
|
|
|
|
|
ldy #S.PS.ENVPAGECNT
|
|
|
|
|
lda /K.ENV.SIZE
|
|
|
|
|
sta (pPs),y
|
|
|
|
|
|
2017-08-22 06:38:16 +00:00
|
|
|
|
txa
|
2020-01-14 07:40:01 +00:00
|
|
|
|
|
|
|
|
|
iny #S.PS.hENV
|
2017-08-22 06:38:16 +00:00
|
|
|
|
sta (pPs),y
|
2020-01-17 16:12:24 +00:00
|
|
|
|
|
|
|
|
|
.DO AUXENV=1
|
|
|
|
|
sta SETWRITEAUX
|
|
|
|
|
.FIN
|
2019-01-22 16:35:42 +00:00
|
|
|
|
lda #0
|
|
|
|
|
sta (ZPPtr1) make sure blank!!
|
2017-08-22 06:38:16 +00:00
|
|
|
|
|
2020-01-17 16:12:24 +00:00
|
|
|
|
.DO AUXENV=1
|
|
|
|
|
sta CLRWRITEAUX
|
|
|
|
|
.FIN
|
|
|
|
|
|
2019-04-30 16:08:47 +00:00
|
|
|
|
>LDYAI $2E0 Get ROOT from QC
|
2019-06-10 13:52:20 +00:00
|
|
|
|
>SYSCALL2 strdup
|
2017-08-22 06:38:16 +00:00
|
|
|
|
bcs .9
|
2020-01-17 16:12:24 +00:00
|
|
|
|
|
2017-08-22 06:38:16 +00:00
|
|
|
|
txa
|
2019-07-22 16:28:44 +00:00
|
|
|
|
ldy #S.PS.hCWD
|
2019-07-19 06:41:33 +00:00
|
|
|
|
sta (pPs),y
|
2020-01-17 16:12:24 +00:00
|
|
|
|
|
2020-01-17 07:31:00 +00:00
|
|
|
|
>PUSHWI I.ENV.BOOT
|
2019-04-30 16:08:47 +00:00
|
|
|
|
>PUSHWI $2C0 Get BOOT from QC
|
2019-06-10 13:52:20 +00:00
|
|
|
|
>SYSCALL2 SetEnv
|
2019-04-30 16:08:47 +00:00
|
|
|
|
bcs .9
|
2017-08-22 06:38:16 +00:00
|
|
|
|
|
2020-01-17 07:31:00 +00:00
|
|
|
|
>PUSHWI I.ENV.ROOT
|
2019-04-30 16:08:47 +00:00
|
|
|
|
>PUSHWI $2E0 Get ROOT from QC
|
2019-06-10 13:52:20 +00:00
|
|
|
|
>SYSCALL2 SetEnv
|
2017-08-22 06:38:16 +00:00
|
|
|
|
bcs .9
|
|
|
|
|
|
2020-01-17 11:23:11 +00:00
|
|
|
|
>PUSHWI I.ENV.PATH
|
2019-06-10 13:52:20 +00:00
|
|
|
|
>SYSCALL2 PutEnv
|
2017-08-22 06:38:16 +00:00
|
|
|
|
bcs .9
|
|
|
|
|
|
2020-01-17 11:23:11 +00:00
|
|
|
|
>PUSHWI I.ENV.LIB
|
2019-06-10 13:52:20 +00:00
|
|
|
|
>SYSCALL2 PutEnv
|
2017-08-22 06:38:16 +00:00
|
|
|
|
bcs .9
|
|
|
|
|
|
2020-01-17 11:23:11 +00:00
|
|
|
|
>PUSHWI I.ENV.DRV
|
2019-06-10 13:52:20 +00:00
|
|
|
|
>SYSCALL2 PutEnv
|
2017-08-22 06:38:16 +00:00
|
|
|
|
.9 rts
|
|
|
|
|
*--------------------------------------
|
2019-04-09 15:47:33 +00:00
|
|
|
|
PwdMgrInit >LDYAI MSG.PWD
|
2019-06-10 13:52:20 +00:00
|
|
|
|
>SYSCALL2 puts
|
2019-06-07 15:02:51 +00:00
|
|
|
|
>PUSHWZ Aux type
|
2019-04-09 15:47:33 +00:00
|
|
|
|
>PUSHBI S.FI.T.TXT
|
|
|
|
|
>PUSHBI O.RDONLY
|
|
|
|
|
>LDYAI ETCPASSWD
|
2019-06-10 13:52:20 +00:00
|
|
|
|
>SYSCALL2 LoadStkObj
|
2019-04-15 05:40:13 +00:00
|
|
|
|
bcs .1
|
2019-04-11 15:59:57 +00:00
|
|
|
|
stx PWD.hDB
|
|
|
|
|
>STYA PWD.DBSize
|
2019-04-09 15:47:33 +00:00
|
|
|
|
*--------------------------------------
|
2019-04-15 05:40:13 +00:00
|
|
|
|
.1 >LDYAI PwdMgr.ROOT.Size
|
|
|
|
|
jsr K.Getmem
|
2019-04-15 15:29:07 +00:00
|
|
|
|
>STYA pSession
|
2019-04-17 06:22:23 +00:00
|
|
|
|
stx S.Table.hSession
|
2019-07-19 14:05:22 +00:00
|
|
|
|
phy
|
|
|
|
|
ldy #S.PS.ZP.SESSION+1
|
|
|
|
|
sta (pPS),y
|
|
|
|
|
dey
|
|
|
|
|
pla
|
|
|
|
|
sta (pPS),y
|
2019-05-22 15:46:20 +00:00
|
|
|
|
lda #1
|
|
|
|
|
ldy #S.PS.hSID
|
|
|
|
|
sta (pPS),y
|
2019-04-15 05:40:13 +00:00
|
|
|
|
ldy #PwdMgr.ROOT.Size-1
|
|
|
|
|
.2 lda PwdMgr.ROOT,y
|
2019-04-15 15:29:07 +00:00
|
|
|
|
sta (pSession),y
|
2019-04-15 05:40:13 +00:00
|
|
|
|
dey
|
|
|
|
|
bpl .2
|
|
|
|
|
ldy #S.PS.hStdIn
|
|
|
|
|
lda (pPS),y
|
2019-04-15 15:29:07 +00:00
|
|
|
|
sta S.Table.hFile
|
2019-04-15 05:40:13 +00:00
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
2018-07-11 15:13:29 +00:00
|
|
|
|
* Modified CHARGET/CHARGOT for ROM CALL
|
|
|
|
|
* CHRGET .EQ $B1 - C8
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
Kernel.ZP .PH $B1
|
|
|
|
|
CHARGET inc TXTPTR
|
|
|
|
|
bne CHARGOT
|
|
|
|
|
inc TXTPTR+1
|
|
|
|
|
CHARGOT lda $ffff
|
2019-07-28 20:39:30 +00:00
|
|
|
|
beq ZP.IsDigit.9
|
|
|
|
|
ZP.IsDigit cmp #'0'
|
|
|
|
|
bcc ZP.IsDigit.9
|
2018-07-11 15:13:29 +00:00
|
|
|
|
cmp #'9'+1
|
|
|
|
|
rts
|
2019-07-28 20:39:30 +00:00
|
|
|
|
ZP.IsDigit.9 sec
|
2019-10-03 06:25:27 +00:00
|
|
|
|
rts
|
2018-07-11 15:13:29 +00:00
|
|
|
|
.EP
|
2019-10-03 06:25:27 +00:00
|
|
|
|
Kernel.ZP.S .EQ *-Kernel.ZP
|
2018-07-11 15:13:29 +00:00
|
|
|
|
*--------------------------------------
|
|
|
|
|
Z80Code.Start .HS 31FF00 START: LD SP,000FFH Init Stack
|
|
|
|
|
.HS 3EFF LD A,0FFH Set Flag
|
|
|
|
|
.HS 320D00 LD (FLAG),A
|
|
|
|
|
.HS 3200E1 LD (0E100H),A Back to 6502
|
|
|
|
|
.HS 18F3 JR START Loop
|
|
|
|
|
.HS 00 FLAG: .DB 0
|
|
|
|
|
Z80Code.Size .EQ *-Z80Code.Start
|
2019-10-03 06:25:27 +00:00
|
|
|
|
*--------------------------------------
|
2018-07-11 15:13:29 +00:00
|
|
|
|
Mouse.OFS .HS 05070B0CFB
|
|
|
|
|
Mouse.SIG .HS 38180120D6
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
TClock.SIG .HS 0878282c58ff700538b00118b8087848
|
|
|
|
|
.HS 8a489848adffcf201ac86868ba8df807
|
2019-03-29 07:46:36 +00:00
|
|
|
|
TClock.SIG.Cnt .EQ *-TClock.SIG
|
2018-07-11 15:13:29 +00:00
|
|
|
|
*--------------------------------------
|
2018-07-12 15:20:39 +00:00
|
|
|
|
MSG.Init2 .AZ "A2osX[Stage2]:Init\nRelocating Kernel...\n"
|
2018-04-10 15:03:29 +00:00
|
|
|
|
MSG.HZ .AZ "Kernel SYS Timer Set For %d0 hz Machine.\n"
|
2018-07-13 14:38:24 +00:00
|
|
|
|
MSG.KCREAD .AZ "Reading Kernel Config File..."
|
|
|
|
|
MSG.KCREAD.OK .AZ "OK\n"
|
|
|
|
|
MSG.KCREAD.KO .AZ "\nError While Reading Kernel Config File, Using Default.\n"
|
2019-11-28 22:06:22 +00:00
|
|
|
|
MSG.PRODOSFX .AZ "!!!Running under ProDOS.FX!!! Enabling lowercase mode.\n"
|
2018-04-10 15:03:29 +00:00
|
|
|
|
MSG.Init2.OK .AZ "A2osX[Stage2]:Complete.\n"
|
2017-08-22 06:38:16 +00:00
|
|
|
|
*--------------------------------------
|
2019-05-02 15:59:11 +00:00
|
|
|
|
SYSSCREEN.TOP .AZ "A2osX 0.93 Console"
|
2019-10-21 14:25:37 +00:00
|
|
|
|
MSG.Init3 .AS "A2osX[Stage3]:Init"
|
|
|
|
|
.AZ "\r\n*** Press Ctrl-R for ROOT Mode ***\r\n"
|
2018-08-22 15:23:27 +00:00
|
|
|
|
MSG.DEV .AZ "Device Manager..."
|
2020-01-28 16:42:51 +00:00
|
|
|
|
*--------------------------------------
|
|
|
|
|
MSG.BLKDEV .AZ " Adding Device: /dev/%s, Addr:%H, Type: %s\r\n"
|
2019-05-07 08:26:14 +00:00
|
|
|
|
MSG.BLKDEV.TBL .DA MSG.BLKDEV.RAM
|
|
|
|
|
.DA MSG.BLKDEV.DII
|
2019-05-06 12:58:15 +00:00
|
|
|
|
.DA MSG.BLKDEV.USR
|
|
|
|
|
.DA MSG.BLKDEV.BLK
|
|
|
|
|
.DA MSG.BLKDEV.SP
|
2020-01-13 11:05:11 +00:00
|
|
|
|
.DA MSG.BLKDEV.RSP
|
2019-05-06 12:58:15 +00:00
|
|
|
|
MSG.BLKDEV.RAM .AZ "/RAM Disk"
|
2019-05-07 08:26:14 +00:00
|
|
|
|
MSG.BLKDEV.DII .AZ "Disk ]["
|
2019-05-06 12:58:15 +00:00
|
|
|
|
MSG.BLKDEV.USR .AZ "User"
|
2020-01-28 16:42:51 +00:00
|
|
|
|
MSG.BLKDEV.BLK .AZ "Generic Block"
|
|
|
|
|
MSG.BLKDEV.SP .AZ "Smart Port"
|
|
|
|
|
MSG.BLKDEV.RSP .AZ "Remapped SP"
|
|
|
|
|
DRV.BLKDEV .DA DRV.RamDrive
|
|
|
|
|
.DA DRV.DiskII
|
|
|
|
|
.DA DRV.BlkDevice
|
|
|
|
|
.DA DRV.BlkDevice
|
|
|
|
|
.DA DRV.SmartPort
|
|
|
|
|
.DA DRV.BlkDevice
|
|
|
|
|
*--------------------------------------
|
2018-08-22 15:23:27 +00:00
|
|
|
|
MSG.IRQ .AZ "Interrupt Manager..."
|
2019-10-22 07:52:34 +00:00
|
|
|
|
MSG.IRQ.IIGS .AZ " Apple IIgs VBL IRQ Activated."
|
|
|
|
|
MSG.IRQ.VBL .AZ " Mouse Card VBL IRQ Activated."
|
2018-08-22 15:23:27 +00:00
|
|
|
|
MSG.IRQ.CLOCK .AZ " Clock Card IRQ Activated."
|
|
|
|
|
MSG.IRQ.POLL .AZ " Polling Mode."
|
|
|
|
|
MSG.EVT .AZ "Event Manager..."
|
|
|
|
|
MSG.TSK .AZ "Task Manager..."
|
2019-04-09 15:47:33 +00:00
|
|
|
|
MSG.PWD .AZ "Password Manager..."
|
2018-12-15 20:34:55 +00:00
|
|
|
|
MSG.CTRLR .AZ "Ctrl-R Pressed, entering ROOT mode..."
|
2019-04-09 15:47:33 +00:00
|
|
|
|
MSG.PWDINIT .AZ "Loading ETC/PASSWD file..."
|
2019-01-04 13:17:31 +00:00
|
|
|
|
MSG.ETCINIT .AZ "Executing %s..."
|
2018-04-10 15:03:29 +00:00
|
|
|
|
MSG.StartupErr .AZ "Failed : [$%h]\r\n"
|
2018-10-05 14:58:38 +00:00
|
|
|
|
MSG.Init3.OK .AZ "OK\r\nA2osX[Stage3]:Complete.\r\n"
|
2017-08-22 06:38:16 +00:00
|
|
|
|
*--------------------------------------
|
2019-10-21 14:25:37 +00:00
|
|
|
|
MSG.HW .AZ "Checking Hardware..."
|
|
|
|
|
MSG.HW.TypeSubT .AZ "Type=%h,SubT=%h\r\n"
|
2018-04-10 15:03:29 +00:00
|
|
|
|
MSG.CPU .AZ "Checking CPU..."
|
2018-07-13 14:38:24 +00:00
|
|
|
|
MSG.CPUTYPE .DA MSG.6502
|
|
|
|
|
.DA MSG.65C02
|
|
|
|
|
.DA MSG.65R02
|
|
|
|
|
.DA MSG.65816
|
2018-08-22 15:23:27 +00:00
|
|
|
|
MSG.6502 .AZ "6502."
|
|
|
|
|
MSG.65C02 .AZ "65C02."
|
|
|
|
|
MSG.65R02 .AZ "65R02."
|
|
|
|
|
MSG.65816 .AZ "65816."
|
2018-10-03 15:25:03 +00:00
|
|
|
|
MSG.CPU.SPEED .AZ "Checking CPU Speed..."
|
2018-07-13 14:38:24 +00:00
|
|
|
|
MSG.CPU.SPEEDOK .AZ "%d.%02d Mhz.\r\n"
|
2018-10-03 15:25:03 +00:00
|
|
|
|
MSG.Z80 .AZ "Checking Z80 CPU..."
|
2018-07-13 14:38:24 +00:00
|
|
|
|
MSG.Z80.OK .AZ "Detected In Slot %d.\r\n"
|
2018-08-22 15:23:27 +00:00
|
|
|
|
MSG.Z80.KO .AZ "Not Detected."
|
2017-08-22 06:38:16 +00:00
|
|
|
|
*--------------------------------------
|
2019-11-26 06:46:02 +00:00
|
|
|
|
DEV.CONSOLE .AZ "/dev/console"
|
2019-04-30 16:08:47 +00:00
|
|
|
|
RAMx .AZ "/RAMx"
|
|
|
|
|
I.ENV.BOOT .AZ "BOOT"
|
2018-11-17 17:17:13 +00:00
|
|
|
|
I.ENV.ROOT .AZ "ROOT"
|
2019-12-05 15:09:38 +00:00
|
|
|
|
I.ENV.PATH .AZ "PATH=${BOOT}sbin/:${BOOT}bin/"
|
2019-12-03 15:42:17 +00:00
|
|
|
|
I.ENV.LIB .AZ "LIB=${BOOT}lib/"
|
2019-12-05 15:09:38 +00:00
|
|
|
|
I.ENV.DRV .AZ "DRV=${BOOT}drv/"
|
|
|
|
|
CTRLR.SHELL .AZ "${BOOT}bin/sh"
|
|
|
|
|
ETCINIT.CMDLINE .AZ "${ROOT}etc/init"
|
|
|
|
|
ETCPASSWD .AZ "${ROOT}etc/passwd"
|
2019-11-26 06:46:02 +00:00
|
|
|
|
*--------------------------------------
|
|
|
|
|
PwdMgr.ROOT .DA #S.SESSION.P.ROOT
|
|
|
|
|
.DA #0 UID
|
|
|
|
|
.DA #0 GID
|
|
|
|
|
.AZ "root" NAME
|
|
|
|
|
.AZ "Root User" GECOS
|
|
|
|
|
.AZ "${ROOT}root/" DIR
|
|
|
|
|
.AZ "${ROOT}bin/sh" SHELL
|
|
|
|
|
PwdMgr.ROOT.Size .EQ *-PwdMgr.ROOT
|
2017-08-22 06:38:16 +00:00
|
|
|
|
*--------------------------------------
|
2019-11-27 22:04:55 +00:00
|
|
|
|
MLIGETFILEINFOEX00
|
|
|
|
|
.DA #2
|
2019-12-09 15:53:14 +00:00
|
|
|
|
.DA MLIOPEN00.FN
|
2019-11-27 22:04:55 +00:00
|
|
|
|
.DA FIEX
|
2019-12-06 07:15:51 +00:00
|
|
|
|
FIEX .BS S.FIEX
|
2019-11-27 22:04:55 +00:00
|
|
|
|
*--------------------------------------
|
2017-08-22 06:38:16 +00:00
|
|
|
|
MLIOPEN00 .DA #3
|
2019-12-09 15:53:14 +00:00
|
|
|
|
.DA MLIOPEN00.FN
|
2017-11-22 16:27:50 +00:00
|
|
|
|
.DA $B000
|
2017-08-22 06:38:16 +00:00
|
|
|
|
.BS 1
|
2019-12-09 15:53:14 +00:00
|
|
|
|
MLIOPEN00.FN >PSTR "A2osX.kconfig"
|
2017-08-22 06:38:16 +00:00
|
|
|
|
*--------------------------------------
|
|
|
|
|
MLIREAD00 .DA #4
|
|
|
|
|
.BS 1
|
2018-10-08 05:55:28 +00:00
|
|
|
|
.DA A2osX.KCONFIG
|
2017-08-22 06:38:16 +00:00
|
|
|
|
.DA 16
|
|
|
|
|
.BS 2
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
MLICLOSE00 .DA #1
|
|
|
|
|
.BS 1
|
|
|
|
|
*--------------------------------------
|
2018-07-11 15:13:29 +00:00
|
|
|
|
FD.NULL .DA #S.FD.T.CDEV
|
|
|
|
|
.DA #0 HANDLER
|
|
|
|
|
.DA #0 BUSID
|
2018-12-11 16:41:25 +00:00
|
|
|
|
.DA #0 DEVID
|
2018-07-12 15:20:39 +00:00
|
|
|
|
.DA 0 BUSPTR
|
2018-07-11 15:13:29 +00:00
|
|
|
|
.DA DRV.NULL
|
2018-12-13 16:39:24 +00:00
|
|
|
|
.DA 0 DCBPTR
|
2018-12-11 16:41:25 +00:00
|
|
|
|
.DA 0 BUFPTR
|
2019-11-26 06:46:02 +00:00
|
|
|
|
FD.NULL.NAME .AZ "null" NAME
|
2018-07-11 15:13:29 +00:00
|
|
|
|
*--------------------------------------
|
2018-12-10 16:45:37 +00:00
|
|
|
|
FD.TTY .DA #S.FD.T.CDEV
|
|
|
|
|
.DA #0 HANDLER
|
|
|
|
|
.DA #0 BUSID
|
2018-12-11 16:41:25 +00:00
|
|
|
|
.DA #1 DEVID
|
|
|
|
|
.DA 0 BUSPTR
|
2018-12-13 16:39:24 +00:00
|
|
|
|
.DA DRV.TERM
|
|
|
|
|
.BS 2 DCBPTR
|
2018-12-17 14:24:39 +00:00
|
|
|
|
.BS 2 BUFPTR
|
2018-12-13 16:39:24 +00:00
|
|
|
|
*--------------------------------------
|
2019-11-26 06:46:02 +00:00
|
|
|
|
FD.CONSOLE.NAME .AZ "console"
|
|
|
|
|
FD.TTY.NAME .AZ "tty0"
|
2018-12-10 16:45:37 +00:00
|
|
|
|
*--------------------------------------
|
2018-07-11 15:13:29 +00:00
|
|
|
|
FD.BDEV .DA #S.FD.T.BDEV
|
|
|
|
|
.DA #0 HANDLER
|
|
|
|
|
.DA #0 BUSID
|
|
|
|
|
.DA #0 DEVID
|
2018-07-12 15:20:39 +00:00
|
|
|
|
.BS 2 BUSPTR
|
2018-07-11 15:13:29 +00:00
|
|
|
|
.BS 2 DRVPTR
|
2018-12-13 16:39:24 +00:00
|
|
|
|
.DA 0 DCBPTR
|
2018-12-11 16:41:25 +00:00
|
|
|
|
.DA 0 BUFPTR
|
2019-11-26 06:46:02 +00:00
|
|
|
|
FD.BDEV.NAME .AZ "s1d1"
|
2018-07-11 15:13:29 +00:00
|
|
|
|
*--------------------------------------
|
|
|
|
|
SmartPort.OFS .HS 010305
|
|
|
|
|
SmartPort.SIG .HS 200003
|
|
|
|
|
*--------------------------------------
|
2017-08-22 06:38:16 +00:00
|
|
|
|
MAN
|
2018-11-17 17:17:13 +00:00
|
|
|
|
SAVE USR/SRC/SYS/KERNEL.S.INIT
|
|
|
|
|
LOAD USR/SRC/SYS/KERNEL.S
|
2017-08-22 06:38:16 +00:00
|
|
|
|
ASM
|