mirror of
https://github.com/A2osX/A2osX.git
synced 2024-11-12 11:04:58 +00:00
Kernel 0.93+
This commit is contained in:
parent
5c56768e55
commit
127001df98
Binary file not shown.
@ -270,7 +270,7 @@ OPEN lda #S.DIB.S.OPENED
|
||||
bmi .2
|
||||
|
||||
.1 lda L91C96.1.IAR,x
|
||||
sta S.DCB.NIC.MAC,y
|
||||
sta DCB+S.DCB.NIC.MAC,y
|
||||
inx
|
||||
iny
|
||||
cpy #6
|
||||
@ -278,7 +278,7 @@ OPEN lda #S.DIB.S.OPENED
|
||||
|
||||
bra .3
|
||||
|
||||
.2 lda S.DCB.NIC.MAC,y
|
||||
.2 lda DCB+S.DCB.NIC.MAC,y
|
||||
sta L91C96.1.IAR,x
|
||||
inx
|
||||
iny
|
||||
@ -471,7 +471,7 @@ WRITE php
|
||||
ldy #S.ETH.SRCMAC+5 Add Src MAC Address
|
||||
ldx #5
|
||||
|
||||
.4 lda S.DCB.NIC.MAC,x
|
||||
.4 lda DCB+S.DCB.NIC.MAC,x
|
||||
sta (ZPBufPtr),y
|
||||
dey
|
||||
dex
|
||||
|
@ -370,10 +370,12 @@ pscall jsr $0000 self modifying code
|
||||
jsr spvect status of Cocoon
|
||||
.HS 00
|
||||
.DA spcparms ignore any errors.
|
||||
|
||||
H28B1 stz statunit set unit# = 0
|
||||
jsr spvect call to get the device count.
|
||||
.HS 00 this is a status call
|
||||
.DA spcparms
|
||||
|
||||
lda numdev2
|
||||
beq donesp no devices, so done.
|
||||
cmp #$02 carry set if 2,3,4
|
||||
@ -388,18 +390,23 @@ H28B1 stz statunit set unit# = 0
|
||||
|
||||
bit diskins2 disk in slot 2 ?
|
||||
bpl donesp yes - so done
|
||||
|
||||
lda numdev2
|
||||
cmp #$03 carry set if 3,4,...
|
||||
bcc donesp
|
||||
|
||||
cmp #$04 carry set if 4,5,6,...
|
||||
lda #$C2 map extra devices as slot 2
|
||||
sta idxl+1
|
||||
jsr installdev
|
||||
|
||||
lda #$C5
|
||||
sta idxl+1
|
||||
donesp jmp nxtdsk2 it's a disk device.
|
||||
|
||||
setdevid ldy #$FE check attributes byte.
|
||||
H28E8 lda (idxl),y
|
||||
|
||||
lda (idxl),y
|
||||
lsr move hi nibble to lo nibble for
|
||||
lsr device table entries.
|
||||
lsr
|
||||
@ -462,18 +469,22 @@ H291F jsr H29EB is there a smartport device here?
|
||||
sta spvect+1
|
||||
lda idxl+1
|
||||
sta spvect+2
|
||||
dey
|
||||
jsr H28E8 set up device attributes
|
||||
|
||||
jsr setdevid set up device attributes
|
||||
stz statunit
|
||||
|
||||
jsr spvect do a status call on smartport itself
|
||||
.HS 00
|
||||
.DA spcparms
|
||||
|
||||
lda numdev2 # of devices on smartport
|
||||
cmp #$03
|
||||
bcc H2974 only 2 devices,skip to next one.
|
||||
inc add 1 for comparisons.
|
||||
sta driveradr # of devices + 1.
|
||||
|
||||
lda #$03 start at unit #3 (non-slot 5)
|
||||
|
||||
ldx spvect+2
|
||||
cpx #$C5 is this slot 5?
|
||||
bne H295B no, start at 3.
|
||||
@ -485,6 +496,7 @@ H291F jsr H29EB is there a smartport device here?
|
||||
|
||||
H295B cmp driveradr have we done all units in this slot?
|
||||
bcs H2974 yes, skip to next slot.
|
||||
|
||||
sta statunit store the unit#.
|
||||
jsr spvect do status call
|
||||
.HS 00
|
||||
@ -495,6 +507,7 @@ H295B cmp driveradr have we done all units in this slot?
|
||||
H296E lda statunit go check the next unit#
|
||||
inc
|
||||
bra H295B
|
||||
|
||||
H2974 dec idxl+1
|
||||
lda idxl+1
|
||||
cmp #$C0 searched down to slot 0?
|
||||
|
@ -427,11 +427,15 @@ offtable .HS 702C26221F1E1D1C1C
|
||||
* for motor on timing.
|
||||
|
||||
mswait ldx #$11 delay 86 usec
|
||||
|
||||
.1 dex
|
||||
bne .1
|
||||
|
||||
inc montimel
|
||||
bne .2
|
||||
|
||||
inc montimeh
|
||||
|
||||
.2 sec
|
||||
sbc #$01
|
||||
bne mswait
|
||||
@ -797,45 +801,60 @@ wnibl sta q6h,x (5) nibl write
|
||||
|
||||
prenib16 lda buf self-modify the addresses because of
|
||||
ldy buf+1 the fast timing required.
|
||||
|
||||
clc all offsets are minus $AA.
|
||||
adc #$02 the highest set is buf+$AC.
|
||||
bcc L58FA branch if no carry,
|
||||
|
||||
iny otherwise add carry to high address.
|
||||
|
||||
L58FA sta prn3+1 self mod 3
|
||||
sty prn3+2
|
||||
|
||||
sec
|
||||
sbc #$56 middle set is buf+$56.
|
||||
bcs L5906 branch if no borrow,
|
||||
|
||||
dey otherwise deduct from high.
|
||||
|
||||
L5906 sta prn2+1 self mod 2
|
||||
sty prn2+2
|
||||
|
||||
sec
|
||||
sbc #$56 low set is exactly buf
|
||||
bcs L5912
|
||||
|
||||
dey
|
||||
|
||||
L5912 sta prn1+1 self mod 1
|
||||
sty prn1+2
|
||||
|
||||
ldy #$AA count up to 0.
|
||||
|
||||
prn1 lda $1000,y warning: self modified. get byte from lowest group.
|
||||
and #$03 strip high 6 bits.
|
||||
tax index to 2 bit equivalent.
|
||||
lda twobit1,x
|
||||
pha save pattern
|
||||
|
||||
prn2 lda $1056,y warning: self modified. get byte from middle group.
|
||||
and #$03
|
||||
tax
|
||||
pla restore pattern.
|
||||
ora twobit2,x combine 2nd group with 1st.
|
||||
pha save new pattern.
|
||||
|
||||
prn3 lda $10AC,y warning: self modified. get byte from highest group.
|
||||
and #$03
|
||||
tax
|
||||
pla restore new pattern
|
||||
ora twobit3,x and form final nibl.
|
||||
pha
|
||||
|
||||
tya
|
||||
eor #$FF
|
||||
tax
|
||||
|
||||
pla
|
||||
sta nbuf2,x save in nibl buffer.
|
||||
iny inc to next set.
|
||||
@ -900,6 +919,7 @@ L59A6 lda iobpdn
|
||||
lda montimeh
|
||||
bne L59A6
|
||||
L59BD rts
|
||||
|
||||
rsetphse lda unitnum get unit number.
|
||||
and #$7F mask off high bit.
|
||||
tax
|
||||
@ -940,7 +960,7 @@ XRW.FREE .EQ $D6EC-* (ProDOS 2.0.3 = $02)
|
||||
* variables used by mli for smartport interface
|
||||
|
||||
spstatlist .HS 00000000 ref pathbuf-$14 smartport status list buffer
|
||||
spunit .HS 0000000000000000 ref pathbuf-$10smartport unit numbers
|
||||
spunit .HS 0000000000000000 ref pathbuf-$10 smartport unit numbers
|
||||
.HS 0000000000000000
|
||||
|
||||
* pathname buffer starts at this page boundary (pathbuf = $D700)
|
||||
|
@ -462,29 +462,36 @@ CPU.Init.6502 >PUSHBI 0
|
||||
.1 bit VBL
|
||||
bpl .1
|
||||
|
||||
.2 bit VBL
|
||||
.2 lda VBL
|
||||
bmi .2
|
||||
|
||||
ldx #0 Count LO
|
||||
lda #0 Count HI
|
||||
.3 ldy #3 (2)
|
||||
.4 nop (2)
|
||||
dey (2)
|
||||
ldx #2
|
||||
|
||||
.3 ldy #4 (2)
|
||||
|
||||
.4 dey (2)
|
||||
bne .4 (2*)
|
||||
|
||||
inc A2osX.RANDOM16 (6)
|
||||
bne .5 (2*)
|
||||
|
||||
inc A2osX.RANDOM16+1 (6)
|
||||
bit VBL (4)
|
||||
bpl .3 (2*)
|
||||
bmi .6
|
||||
|
||||
bra .6 (3)
|
||||
|
||||
.5 nop (2)
|
||||
nop (2)
|
||||
nop (2)
|
||||
bit VBL (4)
|
||||
bpl .3 (2*)
|
||||
|
||||
bra .6 (3)
|
||||
|
||||
.6 lda MACHID
|
||||
.6 eor VBL (4)
|
||||
bpl .3 (2*)
|
||||
|
||||
dex
|
||||
bne .3
|
||||
|
||||
lda MACHID
|
||||
and #MACHID.T
|
||||
eor #MACHID.T.IIc
|
||||
bne .60
|
||||
@ -498,6 +505,7 @@ CPU.Init.6502 >PUSHBI 0
|
||||
.60 plp
|
||||
|
||||
stz A2osX.CPUSPEED
|
||||
|
||||
.7 sec
|
||||
lda A2osX.RANDOM16
|
||||
sbc #100
|
||||
@ -505,6 +513,7 @@ CPU.Init.6502 >PUSHBI 0
|
||||
lda A2osX.RANDOM16+1
|
||||
sbc /100
|
||||
bcc .8
|
||||
|
||||
stx A2osX.RANDOM16
|
||||
sta A2osX.RANDOM16+1
|
||||
inc A2osX.CPUSPEED
|
||||
@ -512,6 +521,7 @@ CPU.Init.6502 >PUSHBI 0
|
||||
|
||||
.8 lda A2osX.RANDOM16
|
||||
sta A2osX.CPUSPEED+1
|
||||
|
||||
>PUSHA push CPU speed LO
|
||||
lda A2osX.CPUSPEED
|
||||
>PUSHA push CPU speed HI
|
||||
|
Loading…
Reference in New Issue
Block a user