Kernel 0.94

This commit is contained in:
Rémy GIBERT 2020-07-28 17:16:14 +02:00
parent 8bd9a2e46c
commit c196c2071a
2 changed files with 134 additions and 151 deletions

Binary file not shown.

View File

@ -451,29 +451,32 @@ CPU.Init.6502 >PUSHWI MSG.CPU
>SYSCALL2 puts
>PUSHWI MSG.CPU.SPEED
>PUSHBI 0
>PUSHB A2osX.HZ
>PUSHBI 1
>SYSCALL2 printf
stz A2osX.RANDOM16
ldy #0
stz A2osX.RANDOM16+1
php
sei
lda A2osX.HZ if 50hz -> 6 loops
eor #3 if 60hz -> 5 loops
pha
ldx A2osX.HZ
lda A2osX.HZ2Cnt-5,x
asl
tax 2 VBL states (up & down)
clc CC for //e
clc
lda MACHID
and #MACHID.T
eor #MACHID.T.IIc
bne .1
sec
.1 ror ZPPtr1 save //c flag
bpl .11
txa if //c, only one change (IRQ up)
lsr
tax
sec CS for //c
sta CLRIOUDIS
lda IO.IIC.RDVBLMSK
@ -482,96 +485,76 @@ CPU.Init.6502 >PUSHWI MSG.CPU
sta IO.IIC.ENVBL
lda IO.IIC.CLRVBLIRQ
ldx #2
.1 bit VBL Wait VBL high....
bpl .1
.11 bit VBL
bpl .11
bcc .2 skip if //e
dex
lda IO.IIC.CLRVBLIRQ clear //c IRQ
lda #0 reset A = LOW
bit ZPPtr1 //c ?
bpl .2
bra .3
lda IO.IIC.CLRVBLIRQ yes, clear IRQ
lda #0 A = LOW
bra .22
.2 lda VBL
.2 lda VBL //e : wait VBL low
bmi .2
*--------------------------------------
.20 ply
phy
.3 nop (2)
nop (2)
nop (2)
.22 nop (2)
nop (2)
nop (2)
nop (2)
nop (2)
nop (2)
nop (2)
nop (2)
nop (2)
nop (2)
nop (2)
nop (2)
nop (2)
nop (2)
nop (2)
nop (2)
nop (2)
nop (2)
nop (2)
nop (2)
nop (2)
nop (2)
nop (2)
nop (2)
nop (2)
nop (2)
nop (2)
nop (2)
nop (2)
inc A2osX.RANDOM16 (6)
bne .5 (2*)
nop (2)
nop (2)
nop (2)
nop (2)
nop (2)
iny (2)
bne .4 (2*)
inc A2osX.RANDOM16+1 (6)
bra .6 (3) 2+6+3
bra .5 (3) 2+6+3
.5 nop (2)
.4 nop (2)
nop (2)
nop (2)
nop (2) 3+2+2+2+2 if from BNE
.6 dey
bne .22
.5 eor VBL (4)
bpl .3 (2*)
eor VBL (4)
bpl .20 (2*)
bcc .51 skip if //e
bit ZPPtr1 //c ?
bmi .31
lda IO.IIC.CLRVBLIRQ clear //c IRQ
lda #0 reset A = LOW
.3 dex
bne .20
bra .60
.51 dex
bne .3
.31 lda IO.IIC.CLRVBLIRQ yes, clear IRQ
bcc .60 skip if //e
bit ZPPtr1+1 Disable VBLIRQ ?
bit ZPPtr1+1 Disable VBLIRQ ?
bpl .60
sta IO.IIC.DISVBL
.60 plp
*--------------------------------------
.60 ply
sty A2osX.RANDOM16
stz A2osX.CPUSPEED
.7 sec
lda A2osX.RANDOM16
lsr A2osX.RANDOM16+1
ror A2osX.RANDOM16
.7 lda A2osX.RANDOM16
sec
sbc #100
tax
lda A2osX.RANDOM16+1
@ -586,8 +569,6 @@ CPU.Init.6502 >PUSHWI MSG.CPU
.8 lda A2osX.RANDOM16
sta A2osX.CPUSPEED+1
plp
>PUSHWI MSG.CPU.SPEEDOK
lda A2osX.CPUSPEED
>PUSHA push CPU speed HI
@ -1171,12 +1152,17 @@ Z80Code.Start .HS 31FF00 START: LD SP,000FFH Init Stack
.HS 00 FLAG: .DB 0
Z80Code.Size .EQ *-Z80Code.Start
*--------------------------------------
A2osX.HZ2Cnt .DA #30,#25
*--------------------------------------
Mouse.OFS .HS 05070B0CFB
Mouse.SIG .HS 38180120D6
*--------------------------------------
TClock.OFS .HS 01030507
TClock.SIG .HS 08285870
*--------------------------------------
SmartPort.OFS .HS 010305
SmartPort.SIG .HS 200003
*--------------------------------------
MSG.Init2 .AZ "A2osX[Stage2]:Init\nRelocating Kernel...\n"
MSG.HZ .AZ "Kernel SYS Timer Set For %d0 hz Machine.\n"
MSG.KCREAD .AZ "Reading Kernel Config File..."
@ -1231,7 +1217,7 @@ MSG.6502 .AZ "6502."
MSG.65C02 .AZ "65C02."
MSG.65R02 .AZ "65R02."
MSG.65816 .AZ "65816."
MSG.CPU.SPEED .AZ "Checking CPU Speed..."
MSG.CPU.SPEED .AZ "Checking CPU Speed (%d0Hz)..."
MSG.CPU.SPEEDOK .AZ "%d.%02d Mhz.\r\n"
MSG.Z80 .AZ "Checking Z80 CPU..."
MSG.Z80.OK .AZ "Detected In Slot %d.\r\n"
@ -1298,9 +1284,6 @@ FD.BDEV .DA #S.FD.T.BDEV
.DA 0 BUFPTR
FD.BDEV.NAME .AZ "s1d1"
*--------------------------------------
SmartPort.OFS .HS 010305
SmartPort.SIG .HS 200003
*--------------------------------------
MAN
SAVE usr/src/sys/kernel.s.init
LOAD usr/src/sys/kernel.s