From 56e98b1fa3a1d60836a146b3476b30d158ec8a07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Sun, 13 Mar 2016 22:50:43 +0100 Subject: [PATCH] Updates related to new KERNEL --- INC/A2osX.I.txt | 49 ++++++++++++++++++++++++++-------------------- INC/LIBSTDIO.I.txt | 19 ++++++++++++++++++ INC/MONITOR.I.txt | 5 +++++ 3 files changed, 52 insertions(+), 21 deletions(-) create mode 100644 INC/LIBSTDIO.I.txt diff --git a/INC/A2osX.I.txt b/INC/A2osX.I.txt index 1522ff93..fcbc18ac 100644 --- a/INC/A2osX.I.txt +++ b/INC/A2osX.I.txt @@ -5,8 +5,17 @@ INC 1 AUTO 6 .LIST OFF *-------------------------------------- +* KERNEL CONSTANTS DEFINITON +*-------------------------------------- +K.ENV.SIZE .EQ $100 +K.EVT.MAX .EQ 16 +K.DEV.MAX .EQ 32 +K.PS.MAX .EQ 64 +*-------------------------------------- * Aux ZP *-------------------------------------- +ZPKERNEL .EQ $0 +*-------------------------------------- pCode .EQ $10 pData .EQ $12 pStack .EQ $14 @@ -68,6 +77,8 @@ D.STACK.TOP .EQ $03F0 ...Down to $0300 Z80STACK .EQ $0FFF (0FFFFh) Down to $0F00 Z80JMP .EQ $1000 *-------------------------------------- +EvtMgr.Table .EQ $1100 K.EVT.MAX*S.EVT.SIZE=32*8=256b +*-------------------------------------- DevMgr.Table .EQ $1200 K.DEV.MAX*S.DEV.SIZE=32*16=512b *-------------------------------------- TskMgr.Table .EQ $1400 K.PS.MAX*S.PS.SIZE=64*16=1k @@ -107,33 +118,29 @@ A2osX.SCREENS .EQ $BEE0 A2osX.SCREENS.S .EQ %00000001 System Screen A2osX.SCREENS.C .EQ %00000010 Console Screen A2osX.SCREENS.G .EQ %00000100 Graphic Screen +A2osX.SCREENS.2 .EQ %00001000 Graphic Screen2 A2osX.ASCREEN .EQ $BEE1 Active Screen -A2osX.TIMER16 .EQ $BEE4 -A2osX.RANDOM16 .EQ $BEE6 +A2osX.SCRNDEVS .EQ $BEE2 -> $BEE5 (4 devices) +A2osX.CPUTYPE .EQ $BEE6 +A2osX.CPUSPEED .EQ $BEE7 (->255.99 Mhz) -A2osX.CPUTYPE .EQ $BEE8 -A2osX.CPUSPEED .EQ $BEE9 A2osX.Z80SLOT .EQ $BEEA + +A2osX.HZ .EQ $BEEB + +A2osX.TIMER16 .EQ $BEEC +A2osX.RANDOM16 .EQ $BEEE *-------------------------------------- * Kernel Entry Point *-------------------------------------- KERNEL.SYSCALL .EQ $D000 KERNEL.COLDBOOT .EQ $D100 *-------------------------------------- -* KERNEL CONSTANTS DEFINITON -*-------------------------------------- -K.TIMER16RESOLUTION .EQ 5 every 5 VBL (50hz), so 100ms -*-------------------------------------- -K.ENV.SIZE .EQ $100 -K.DEV.MAX .EQ 32 -K.PS.MAX .EQ 64 -*-------------------------------------- H.BIN.HEADER .EQ 0 -H.BIN.HEADER.DRV65 .EQ $4C8D 6502:cld,jmp abs -H.BIN.HEADER.LIB65 .EQ $7C8D 6502:cld,jmp (abs,x) -H.BIN.HEADER.BIN65 .EQ $7C8D 6502:cld,jmp (abs,x) -H.BIN.HEADER.DRV80 .EQ $A28D Z80: +H.BIN.HEADER.DRV65 .EQ $4CD8 6502:cld,jmp abs +H.BIN.HEADER.LIB65 .EQ $7CD8 6502:cld,jmp (abs,x) +H.BIN.HEADER.BIN65 .EQ $7CD8 6502:cld,jmp (abs,x) H.BIN.HEADER.LIB80 .EQ $A28D Z80: H.BIN.HEADER.BIN80 .EQ $A28D Z80: H.BIN.JMP .EQ 2 @@ -360,7 +367,7 @@ S.DEVINFO.NET.MAC .EQ 2 S.DEVINFO.NET.STATUS .EQ 8 S.DEVINFO.NET.STATUS.OK .EQ $80 S.DEVINFO.NET.STATUS.FD .EQ $40 -S.DEVINFO.NET.STATUS.10 .EQ $01 +S.DEVINFO.NET.STATUS.10 .EQ $01 S.DEVINFO.NET.STATUS.100 .EQ $02 S.DEVINFO.NET.STATUS.1000 .EQ $03 *-------------------------------------- @@ -429,11 +436,11 @@ TSKMGR.QUIT .EQ 6 * EVENT STRUCT *-------------------------------------- S.EVT.F .EQ 0 -S.EVT.F.SYS .EQ %10000000 -S.EVT.F.WND .EQ %01000000 +S.EVT.F.T10TH .EQ %10000000 +S.EVT.F.T1SEC .EQ %01000000 S.EVT.F.hMEM2 .EQ %00100000 Indicates That S.EVT.DATAHI is a hMem S.EVT.F.hMEM1 .EQ %00010000 Indicates That S.EVT.DATALO is a hMem -S.EVT.F.TIMER .EQ %00001000 + S.EVT.F.NET .EQ %00000100 S.EVT.F.MOUSE .EQ %00000010 S.EVT.F.KEY .EQ %00000001 @@ -444,7 +451,7 @@ S.EVT.DATAHI .EQ 3 S.EVT.DATAW1 .EQ 4 S.EVT.DATAW2 .EQ 6 * -S.EVT.SIZE .EQ 8 +S.EVT .EQ 8 *-------------------------------------- * S.LISTDIR STRUCT *-------------------------------------- diff --git a/INC/LIBSTDIO.I.txt b/INC/LIBSTDIO.I.txt new file mode 100644 index 00000000..b15aae23 --- /dev/null +++ b/INC/LIBSTDIO.I.txt @@ -0,0 +1,19 @@ +PR#3 +PREFIX /A2OSX.SRC +NEW +INC 1 +AUTO 6 + .LIST OFF + .OP 65C02 +*-------------------------------------- +LIBSTDIO.ADDPF .EQ 4 +LIBSTDIO.REMOVEPF .EQ 6 + +LIBSTDIO.FOPEN .EQ 4 +LIBSTDIO.FCLOSE .EQ 6 +LIBSTDIO.FREAD .EQ 8 +LIBSTDIO.FWRITE .EQ 10 +*-------------------------------------- +MAN +SAVE INC/LIBSTDIO.I + diff --git a/INC/MONITOR.I.txt b/INC/MONITOR.I.txt index 002f088e..09f3997b 100644 --- a/INC/MONITOR.I.txt +++ b/INC/MONITOR.I.txt @@ -7,7 +7,12 @@ AUTO 1000 * ROM Standard Routines *-------------------------------------- .LIST OFF +BRKVECT .EQ $3F0 POWERUP .EQ $3F2 +POWERUPBYTE .EQ $3F4 +USRJMP .EQ $3F8 jmp $xxxx +NMIJMP .EQ $3FB jmp $xxxx +IRQVECT .EQ $3FE *-------------------------------------- COL80FIRM .EQ $C300 *--------------------------------------