mirror of
https://github.com/A2osX/A2osX.git
synced 2025-04-06 18:37:12 +00:00
Kernel 0.94
This commit is contained in:
parent
d9b9f5542c
commit
4c74e6f2f2
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -67,7 +67,8 @@ CS.START cld
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.QUIT
|
||||
L.LIBBLKDEV .DA LIBBLKDEV
|
||||
L.MSG.USAGE .DA MSG.USAGE
|
||||
L.MSG.USAGE1 .DA MSG.USAGE1
|
||||
L.MSG.USAGE2 .DA MSG.USAGE2
|
||||
L.MSG.OK .DA MSG.OK
|
||||
L.MSG.ERR .DA MSG.ERR
|
||||
L.MSG.CRLF .DA MSG.CRLF
|
||||
@ -130,7 +131,10 @@ CS.RUN ldy #S.PS.ARGC
|
||||
>STYA BlkCnt
|
||||
bra .1
|
||||
|
||||
.99 >PUSHW L.MSG.USAGE
|
||||
.99 >PUSHW L.MSG.USAGE1
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
>PUSHW L.MSG.USAGE2
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
lda #E.SYN
|
||||
@ -341,10 +345,11 @@ CS.RUN.LL.DISKII
|
||||
>LIBCALL hLIBBLKDEV,LIBBLKDEV.D2TrkWrite16s
|
||||
bcs .9
|
||||
|
||||
inc CurTrack
|
||||
dec Counter
|
||||
beq .8
|
||||
|
||||
inc CurTrack
|
||||
|
||||
lda CurQTrack
|
||||
* clc
|
||||
adc Stepping
|
||||
@ -363,8 +368,6 @@ CS.RUN.LL.DISKII
|
||||
.8 ldx #0
|
||||
jsr CS.RUN.SeekToX
|
||||
|
||||
jsr CS.RUN.MotorOff
|
||||
|
||||
>PUSHW L.MSG.CRLF
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
@ -373,7 +376,7 @@ CS.RUN.LL.DISKII
|
||||
bit bVerify
|
||||
bmi CS.RUN.LL.DISKII.V
|
||||
|
||||
rts
|
||||
jmp CS.RUN.MotorOff
|
||||
*--------------------------------------
|
||||
CS.RUN.LL.DISKII.V
|
||||
>PUSHW L.MSG.VERIFY
|
||||
@ -598,11 +601,12 @@ CS.END
|
||||
LIBBLKDEV .AZ "libblkdev"
|
||||
hLIBBLKDEV .BS 1
|
||||
*--------------------------------------
|
||||
MSG.USAGE .AS "Usage : FORMAT <BLOCKDEV> [VOLUME.NAME]\r\n"
|
||||
MSG.USAGE1 .AS "Usage : FORMAT <BLOCKDEV> [VOL.NAME]\r\n"
|
||||
.AS " -L : Low-Level Format\r\n"
|
||||
.AS " -H : 35trk drives, High Density: 47 tracks, 376 Blocks\r\n"
|
||||
.AS " -X : 40trk drives, 320 Blocks, combined with -H = 432 Blocks\r\n"
|
||||
.AS " -B xxxx : override Device block size\r\n"
|
||||
.AZ " -H : 35trk drives, High Density: 47 tracks, 376 Blocks\r\n"
|
||||
MSG.USAGE2 .AS " -X : 40trk drives, 320 Blocks, combined with -H, 432 Blocks\r\n"
|
||||
.AS " -V : Verify\r\n"
|
||||
.AS " -B xxxx : Smrtprt, Override Device block size\r\n"
|
||||
.AZ " -1-9 : Catalog Size (Blocks)\r\n"
|
||||
MSG.OK .AZ "[OK]"
|
||||
MSG.ERR .AS "[%h]"
|
||||
|
@ -4,8 +4,5 @@ NEW
|
||||
ServerName www.example.com:6580
|
||||
Listen 6580
|
||||
DocumentRoot ${ROOT}srv/www
|
||||
# mime types
|
||||
AddType html text/html
|
||||
AddType png image.png
|
||||
MAN
|
||||
TEXT etc/httpd.conf
|
||||
|
@ -307,16 +307,14 @@ BB.Read lda BB.HdrTrk get track we're on
|
||||
sta BB.CurQTrk
|
||||
|
||||
ldy #0
|
||||
|
||||
.1 ldx BB.CurQTrk
|
||||
|
||||
tya
|
||||
beq .2
|
||||
|
||||
txa
|
||||
|
||||
.1 lda BB.CurQTrk
|
||||
jsr BB.PhaseOff
|
||||
|
||||
.2 cpx BB.TargetQTrk
|
||||
.2 ldx BB.CurQTrk
|
||||
cpx BB.TargetQTrk
|
||||
beq .8
|
||||
|
||||
bcs .3
|
||||
@ -332,8 +330,8 @@ BB.Read lda BB.HdrTrk get track we're on
|
||||
txa
|
||||
jsr BB.PhaseOn
|
||||
|
||||
lda #104
|
||||
jsr BB.MSWait Trash X
|
||||
lda #114
|
||||
jsr BB.Wait100usecA Trash X
|
||||
|
||||
iny
|
||||
|
||||
@ -343,42 +341,37 @@ BB.Read lda BB.HdrTrk get track we're on
|
||||
beq seekend
|
||||
|
||||
lda #0 wait 25.6 ms
|
||||
jsr BB.MSWait Trash X
|
||||
jsr BB.Wait100usecA Trash X
|
||||
|
||||
lda BB.TargetQTrk
|
||||
jsr BB.PhaseOff
|
||||
bcs seekend CS from BB.MSWait
|
||||
*--------------------------------------
|
||||
BB.PhaseOff bit #1 1,3,5,7 ?
|
||||
beq BB.PhaseOff.2 only half track
|
||||
|
||||
BB.PhaseOff.1 bit IO.D2.Ph0Off
|
||||
BB.PhaseOff.2 bit IO.D2.Ph0Off
|
||||
|
||||
BB.PhaseOff.8 rts
|
||||
BB.PhaseOff clc
|
||||
.HS B0 BCS
|
||||
*--------------------------------------
|
||||
BB.PhaseOn bit #1 1,3,5,7 ?
|
||||
beq .7
|
||||
BB.PhaseOn sec
|
||||
|
||||
bit #1
|
||||
beq .1
|
||||
|
||||
php
|
||||
pha
|
||||
inc
|
||||
jsr .7
|
||||
jsr .1
|
||||
pla
|
||||
inc
|
||||
plp
|
||||
|
||||
.7 and #6 mask for 0,2,4,6
|
||||
ora slotz Slot $n0
|
||||
ora #IO.D2.Ph0On
|
||||
.1 and #6 mask for 0,2,4,6
|
||||
|
||||
adc slotz Slot $n0
|
||||
tax
|
||||
bit $C000,x turn on one phase
|
||||
|
||||
lda BB.PhaseOff.2+1
|
||||
sta BB.PhaseOff.1+1
|
||||
|
||||
dex
|
||||
stx BB.PhaseOff.2+1
|
||||
sta IO.D2.Ph0Off,x
|
||||
nop
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
BB.MSWait sec (6) JSR (2)
|
||||
BB.Wait100usecA sec (6) JSR (2)
|
||||
|
||||
.1 ldx #19 (2)
|
||||
|
||||
@ -388,7 +381,7 @@ BB.MSWait sec (6) JSR (2)
|
||||
sbc #1 (2) done 'n' intervals?
|
||||
bne .1 (2+) a-reg counts
|
||||
|
||||
BB.MSWait.RTS rts (6)
|
||||
rts (6)
|
||||
*--------------------------------------
|
||||
BB.Trk2Qtrk asl x2
|
||||
sta .1+1
|
||||
|
@ -26,28 +26,21 @@ D2Recalibrate >PULLB DrvSlt
|
||||
bcs .9
|
||||
|
||||
stz MoveTo
|
||||
lda #162
|
||||
lda #252
|
||||
sta MoveFrom
|
||||
|
||||
jsr D2MoveHead.1
|
||||
|
||||
lda #0
|
||||
jsr D2.PhaseOn
|
||||
* lda #0
|
||||
* jsr D2.PhaseOn
|
||||
|
||||
* lda #0 wait 25.6 ms
|
||||
* jsr D2.Wait100usecA
|
||||
* lda #0
|
||||
* jsr D2.PhaseOff
|
||||
|
||||
lda #0 wait 25.6 ms
|
||||
jsr D2.Wait100usecA Trash X
|
||||
* lda #0
|
||||
jsr D2.Wait100usecA Trash X
|
||||
* lda #0
|
||||
jsr D2.Wait100usecA Trash X
|
||||
* lda #0
|
||||
jsr D2.Wait100usecA Trash X
|
||||
|
||||
* lda #0
|
||||
jsr D2.PhaseOff
|
||||
|
||||
lda #0 wait 25.6 ms
|
||||
jsr D2.Wait100usecA Trash X
|
||||
jsr D2.Wait100usecA
|
||||
|
||||
clc
|
||||
.9 rts
|
||||
@ -58,85 +51,105 @@ D2MoveHead >PULLB MoveTo
|
||||
>PULLB DrvSlt
|
||||
jsr CheckDiskII
|
||||
bcs .9
|
||||
|
||||
php
|
||||
sei
|
||||
|
||||
jsr D2MoveHead.1
|
||||
plp
|
||||
clc
|
||||
.9 rts
|
||||
|
||||
D2MoveHead.1 ldy #0
|
||||
|
||||
.1 ldx MoveFrom
|
||||
|
||||
tya
|
||||
beq .2
|
||||
|
||||
txa
|
||||
jsr D2.PhaseOff
|
||||
|
||||
.2 cpx MoveTo
|
||||
.1 lda MoveTo
|
||||
sec
|
||||
sbc MoveFrom
|
||||
beq .8
|
||||
|
||||
bcs .3
|
||||
bcc .3
|
||||
|
||||
inx MoveFrom<MoveTo, must move in
|
||||
* Current < Target, must move in
|
||||
|
||||
.HS B0 BCS
|
||||
cmp #2
|
||||
bcc .5 one QT remaining
|
||||
|
||||
.3 dex MoveFrom>MoveTo, must move out
|
||||
lda MoveFrom 2 or more
|
||||
and #$FE from QT1 or QT3
|
||||
inc
|
||||
inc
|
||||
bra .4
|
||||
|
||||
stx MoveFrom
|
||||
* Current > Target, must move out
|
||||
|
||||
txa
|
||||
.3 cmp #$FF
|
||||
beq .5 one QT remaining
|
||||
|
||||
lda MoveFrom
|
||||
bit #1 from QT1 or QT3
|
||||
bne .30
|
||||
|
||||
dec
|
||||
.30 dec
|
||||
|
||||
.4 sta MoveFrom
|
||||
jsr D2.PhaseOn
|
||||
|
||||
lda #0
|
||||
jsr D2.Wait100usecA Trash X
|
||||
|
||||
iny
|
||||
|
||||
lda #164
|
||||
jsr D2.Wait100usecA
|
||||
bra .1
|
||||
|
||||
.5 lda MoveTo
|
||||
and #6
|
||||
ora Slotn0
|
||||
tax
|
||||
inc
|
||||
inc
|
||||
and #$F7
|
||||
tay
|
||||
lda IO.D2.Ph0On,x
|
||||
lda IO.D2.Ph0On,y
|
||||
|
||||
phx
|
||||
* lda #164
|
||||
* jsr D2.Wait100usecA
|
||||
|
||||
lda #0 wait 25.6 ms
|
||||
jsr D2.Wait100usecA
|
||||
plx
|
||||
|
||||
lda IO.D2.Ph0Off,x
|
||||
lda IO.D2.Ph0Off,y
|
||||
rts
|
||||
|
||||
.8 tya
|
||||
beq D2.PhaseOn.RTS
|
||||
|
||||
lda #0 wait 25.6 ms
|
||||
jsr D2.Wait100usecA Trash X
|
||||
jsr D2.Wait100usecA
|
||||
|
||||
lda MoveTo
|
||||
lda IO.D2.Ph0Off,y
|
||||
rts
|
||||
*--------------------------------------
|
||||
D2.PhaseOff clc
|
||||
.HS B0 BCS
|
||||
*--------------------------------------
|
||||
D2.PhaseOn sec
|
||||
|
||||
bit #1
|
||||
D2.PhaseOn and #6
|
||||
ora Slotn0
|
||||
tax
|
||||
pha
|
||||
tya
|
||||
beq .1
|
||||
|
||||
php
|
||||
pha
|
||||
jsr .1
|
||||
pla
|
||||
inc
|
||||
plp
|
||||
lda IO.D2.Ph0Off,y
|
||||
|
||||
.1 and #6
|
||||
adc Slotn0
|
||||
tax
|
||||
lda IO.D2.Ph0Off,x
|
||||
|
||||
.1 lda IO.D2.Ph0On,x
|
||||
ply
|
||||
D2.PhaseOn.RTS rts
|
||||
*--------------------------------------
|
||||
D2.Wait100usecA sec
|
||||
D2.Wait100usecA sec (2)
|
||||
|
||||
.1 ldx #19 (2)
|
||||
|
||||
.2 dex (2)
|
||||
bne .2 (3)
|
||||
|
||||
ldx Slotn0 (3)
|
||||
bit IO.D2.RData,x (4) Slow down ACC boards
|
||||
|
||||
sbc #1
|
||||
bne .1
|
||||
|
||||
|
@ -11,18 +11,18 @@ NEW
|
||||
.INB inc/mli.e.i
|
||||
.INB inc/io.d2.i
|
||||
*--------------------------------------
|
||||
* 300rpm = 5rps = 200000us / 4ms = 50000 bits MAX
|
||||
* 300rpm = 5rps = 200000us / 4us = 50000 bits MAX
|
||||
*--------------------------------------
|
||||
TRACK16.LEN .EQ 6400
|
||||
*--------------------------------------
|
||||
TRACK16.GAP1 .EQ 64 640 bits
|
||||
TRACK16.GAP1 .EQ 80 800 bits
|
||||
* 16 * (
|
||||
*Address field = D5AA96 + 4x2 + DEAAEB = 14 112 bits
|
||||
TRACK16.GAP2 .EQ 6 60 bits
|
||||
TRACK16.GAP2 .EQ 5 60 bits
|
||||
*Data field = D5AAAD + 342 + CS + DEAAEB = 349 2792 bits
|
||||
TRACK16.GAP3 .EQ 17 170 bits
|
||||
* )
|
||||
* 64 + 16 * (14 + 6 + 349 + 17) = 6240 50784 bits (6348)
|
||||
* 80 + 16 * (14 + 6 + 349 + 17) = 6256 49984 bits
|
||||
*--------------------------------------
|
||||
TRACK9.LEN .EQ 6511
|
||||
*--------------------------------------
|
||||
|
@ -341,11 +341,20 @@ SKT.shutdown pha
|
||||
lda (ZPPtrSKT),y
|
||||
cmp #S.SOCKET.T.STREAM
|
||||
beq SKT.shutdown.STREAM
|
||||
*--------------------------------------
|
||||
cmp #S.SOCKET.T.SEQPACKET
|
||||
bne SKT.shutdown.DGRAM
|
||||
|
||||
pla
|
||||
pha
|
||||
|
||||
jsr SKT.shutdown.TCP
|
||||
|
||||
* bcs SKT.shutdown.RTS
|
||||
*--------------------------------------
|
||||
SKT.shutdown.LISTEN
|
||||
SKT.shutdown.RAW
|
||||
SKT.shutdown.DGRAM
|
||||
SKT.shutdown.SEQPACKET
|
||||
.1 ldy #S.SOCKET.HQ.TAIL
|
||||
lda (ZPPtrSKT),y
|
||||
ldy #S.SOCKET.HQ.HEAD
|
||||
@ -386,10 +395,13 @@ SKT.shutdown.SEQPACKET
|
||||
.5 stz SKT.TABLE,x
|
||||
>SYSCALL2 freemem
|
||||
* clc
|
||||
SKT.shutdown.RTS
|
||||
rts
|
||||
*--------------------------------------
|
||||
SKT.shutdown.STREAM
|
||||
pla
|
||||
|
||||
SKT.shutdown.TCP
|
||||
jsr SKT.GetTCB
|
||||
ldy #S.SOCKET.TCP.S
|
||||
lda (ZPPtrSKT),y
|
||||
@ -411,7 +423,6 @@ SKT.shutdown.STREAM
|
||||
.3 lda #S.SOCKET.TCP.S.TIMEWT
|
||||
jmp SKT.StoreTCB.S
|
||||
|
||||
.8 clc
|
||||
.9 rts
|
||||
*/--------------------------------------
|
||||
* # Read (STREAM)
|
||||
@ -881,12 +892,8 @@ SKT.Recv clc
|
||||
|
||||
plp
|
||||
bcc .10 not a SEQPKT socket
|
||||
|
||||
pha
|
||||
jsr SKT.Recv.ACKSEQPKT
|
||||
pla
|
||||
|
||||
.10 plp
|
||||
|
||||
.10 plp if CS, RecvFrom
|
||||
bcc .9 Exit with CC and A=hFrame
|
||||
|
||||
pha
|
||||
@ -943,12 +950,6 @@ SKT.Recv clc
|
||||
plp
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
SKT.Recv.ACKSEQPKT
|
||||
|
||||
* TODO : compute ACK
|
||||
clc
|
||||
rts
|
||||
*/--------------------------------------
|
||||
* # Send (RAW,DGRAM,SEQPACKET)
|
||||
* # SendTo (RAW,DGRAM,SEQPACKET)
|
||||
@ -1000,10 +1001,6 @@ SKT.Send.8 jsr SKT.SetFrameOutDstIP
|
||||
clc Queue if fail
|
||||
jmp FRM.SendIP
|
||||
*--------------------------------------
|
||||
SKT.Send.STREAM lda #ERR.SKT.BAD
|
||||
sec
|
||||
SKT.Send.9 rts
|
||||
*--------------------------------------
|
||||
SKT.Send.SEQPACKET
|
||||
>LDYA ZPDataInLen
|
||||
jsr TCP.NewFrame
|
||||
@ -1013,14 +1010,11 @@ SKT.Send.SEQPACKET
|
||||
|
||||
jsr SKT.CopyDataInToOut
|
||||
|
||||
ldy #S.TCP.WINDOW
|
||||
lda /K.TCP.WSIZE
|
||||
sta (ZPFrameOutPtr),y
|
||||
iny
|
||||
lda #K.TCP.WSIZE
|
||||
sta (ZPFrameOutPtr),y
|
||||
|
||||
jmp TCP.OUT.SEQSEND
|
||||
jmp TCP.OUT.SEQSEND
|
||||
*--------------------------------------
|
||||
SKT.Send.STREAM lda #ERR.SKT.BAD
|
||||
sec
|
||||
SKT.Send.9 rts
|
||||
*/--------------------------------------
|
||||
* # GetSockOpt
|
||||
* Set Socket Options
|
||||
|
@ -47,7 +47,7 @@ TCP.IN.JMP.LISTEN
|
||||
jsr SKT.SetRemAddr
|
||||
|
||||
jsr SKT.NewTCB
|
||||
bcs .99
|
||||
bcs .9
|
||||
|
||||
jsr TCP.IN.ACKTheSYN
|
||||
|
||||
@ -61,8 +61,7 @@ TCP.IN.JMP.LISTEN
|
||||
lda #S.SOCKET.TCP.S.SYNRCVD
|
||||
jmp SKT.StoreTCB.S
|
||||
|
||||
.9 lda #ERR.SKT.OOS
|
||||
.99 rts
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
TCP.IN.JMP.SYNSENT
|
||||
ldy #S.TCP.OPTIONS SYN Send, only accept SYN.ACK packet, then Send ACK
|
||||
@ -195,27 +194,30 @@ TCP.IN.JMP.ESTBLSH
|
||||
eor SKT.Cache+S.SOCKET.TCP.INSEQNUM,x
|
||||
bne .9 Missed a frame.....
|
||||
|
||||
.51 dey
|
||||
dey
|
||||
dex
|
||||
bpl .5
|
||||
|
||||
ldy #S.SOCKET.T Create a new client socket
|
||||
ldy #S.SOCKET.T
|
||||
lda (ZPPtrSKT),y
|
||||
cmp #S.SOCKET.T.STREAM
|
||||
bne .52
|
||||
|
||||
jsr SKT.AddDataToSktIn yes, queue data if there is room for....
|
||||
bra .59
|
||||
bcs .9
|
||||
|
||||
bra .6
|
||||
|
||||
.52 lda hFrameIn
|
||||
jsr SKT.AddToQueueA
|
||||
bcs .9
|
||||
|
||||
.59 lda ZPDataInLen
|
||||
|
||||
.6 lda ZPDataInLen
|
||||
ldy ZPDataInLen+1
|
||||
ldx #S.SOCKET.TCP.INSEQNUM
|
||||
jsr TCP.AddAYToSktCacheAtX
|
||||
|
||||
.6 jsr SKT.StoreTCB update socket
|
||||
|
||||
jsr SKT.StoreTCB update socket
|
||||
* jsr TCP.SetSocketTCPO.ACK ...and ack data
|
||||
lda #S.TCP.OPTIONS.ACK
|
||||
jsr TCP.OUT.SendOptA
|
||||
@ -465,14 +467,14 @@ TCP.OUT lda SKT.Cache+S.SOCKET.TCP.OUTTOSEND+1
|
||||
|
||||
jsr SKT.GetDataFromSktOut
|
||||
|
||||
ldy #S.TCP.WINDOW
|
||||
TCP.OUT.SEQSEND ldy #S.TCP.WINDOW
|
||||
lda SKT.Cache+S.SOCKET.TCP.INFREE+1
|
||||
sta (ZPFrameOutPtr),y
|
||||
iny
|
||||
lda SKT.Cache+S.SOCKET.TCP.INFREE
|
||||
sta (ZPFrameOutPtr),y
|
||||
|
||||
TCP.OUT.SEQSEND lda #S.TCP.OPTIONS.ACK+S.TCP.OPTIONS.PSH
|
||||
lda #S.TCP.OPTIONS.ACK+S.TCP.OPTIONS.PSH
|
||||
jsr TCP.OUT.Send
|
||||
bcs TCP.OUT.Send.RTS
|
||||
|
||||
|
@ -181,15 +181,12 @@ L53A4 dec XRW.RetryCnt one less chance.
|
||||
dec XRW.Recalibrate can only recalibrate once.
|
||||
bne hndlerr
|
||||
|
||||
* lda XRW.CurrentTrack
|
||||
lda #0
|
||||
lda XRW.CurrentTrack
|
||||
pha save track
|
||||
|
||||
* clc
|
||||
* adc #12 pretend track is 8 > curtrk
|
||||
clc
|
||||
adc #12 pretend track is 12 > curtrk
|
||||
|
||||
lda #40
|
||||
|
||||
ldy #64
|
||||
sty XRW.RetryCnt reset retries to 64 max.
|
||||
bra L53CC always.
|
||||
@ -572,6 +569,9 @@ XRW.Wait100usecA
|
||||
.2 dex (2)
|
||||
bne .2 (3)
|
||||
|
||||
ldx A2L (3)
|
||||
bit IO.D2.RData,x (4) Slow down ACC boards
|
||||
|
||||
inc montimel (6)
|
||||
bne .3 (3)
|
||||
|
||||
@ -755,67 +755,88 @@ XRW.Seek ldx XRW.UnitIndex
|
||||
|
||||
ldy #0
|
||||
|
||||
.1 ldx XRW.CurrentQTrack
|
||||
|
||||
tya
|
||||
beq .2
|
||||
|
||||
txa
|
||||
jsr XRW.PhaseOff
|
||||
|
||||
.2 cpx XRW.TargetQTrack
|
||||
.2 lda XRW.TargetQTrack
|
||||
sec
|
||||
sbc XRW.CurrentQTrack
|
||||
beq .8
|
||||
|
||||
bcs .3
|
||||
bcc .3
|
||||
|
||||
inx CC, CurrentQTrack>TargetQTrack, must move in
|
||||
* Current < Target, must move in
|
||||
|
||||
cmp #2
|
||||
bcc .5 one QT remaining
|
||||
|
||||
.HS B0 BCS
|
||||
lda XRW.CurrentQTrack
|
||||
and #$FE from QT1 or QT3
|
||||
inc
|
||||
inc
|
||||
bra .4
|
||||
|
||||
* Current > Target, must move out
|
||||
|
||||
.3 cmp #$FF
|
||||
beq .5 one QT remaining
|
||||
|
||||
.3 dex CS, CurrentQTrack<TargetQTrack, must move out
|
||||
lda XRW.CurrentQTrack
|
||||
bit #1 from QT1 or QT3
|
||||
bne .30
|
||||
|
||||
dec
|
||||
.30 dec
|
||||
|
||||
stx XRW.CurrentQTrack
|
||||
|
||||
txa
|
||||
.4 sta XRW.CurrentQTrack
|
||||
jsr XRW.PhaseOn
|
||||
|
||||
lda #30
|
||||
jsr XRW.Wait100usecA Trash X
|
||||
lda #164
|
||||
jsr XRW.Wait100usecA
|
||||
bra .2
|
||||
|
||||
iny
|
||||
.5 lda XRW.TargetQTrack
|
||||
and #6
|
||||
ora A2L
|
||||
tax
|
||||
inc
|
||||
inc
|
||||
and #$F7
|
||||
tay
|
||||
lda IO.D2.Ph0On,x
|
||||
lda IO.D2.Ph0On,y
|
||||
|
||||
phx
|
||||
* lda #164
|
||||
* jsr XRW.Wait100usecA
|
||||
|
||||
bra .1
|
||||
lda #0 wait 25.6 ms
|
||||
jsr XRW.Wait100usecA
|
||||
plx
|
||||
|
||||
lda IO.D2.Ph0Off,x
|
||||
lda IO.D2.Ph0Off,y
|
||||
rts
|
||||
|
||||
.8 tya
|
||||
beq XRW.PhaseOn.RTS
|
||||
|
||||
lda #0 wait 25.6 ms
|
||||
jsr XRW.Wait100usecA Trash X
|
||||
jsr XRW.Wait100usecA
|
||||
|
||||
lda XRW.TargetQTrack
|
||||
lda IO.D2.Ph0Off,y
|
||||
rts
|
||||
*--------------------------------------
|
||||
* A = QTrack
|
||||
*--------------------------------------
|
||||
XRW.PhaseOff clc
|
||||
.HS B0 BCS
|
||||
*--------------------------------------
|
||||
XRW.PhaseOn sec
|
||||
|
||||
bit #1
|
||||
XRW.PhaseOn and #6
|
||||
ora A2L
|
||||
tax
|
||||
pha
|
||||
tya
|
||||
beq .1
|
||||
|
||||
php
|
||||
pha
|
||||
jsr .1
|
||||
pla
|
||||
inc
|
||||
plp
|
||||
lda IO.D2.Ph0Off,y
|
||||
|
||||
.1 and #6
|
||||
adc A2L
|
||||
tax
|
||||
lda IO.D2.Ph0Off,x
|
||||
|
||||
.1 lda IO.D2.Ph0On,x
|
||||
ply
|
||||
XRW.PhaseOn.RTS rts
|
||||
*--------------------------------------
|
||||
XRW.Trk2Qtrk asl x2
|
||||
|
404
SBIN/HTTPD.S.txt
404
SBIN/HTTPD.S.txt
@ -8,6 +8,7 @@ NEW
|
||||
.INB inc/macros.i
|
||||
.INB inc/a2osx.i
|
||||
.INB inc/mli.i
|
||||
.INB inc/mli.e.i
|
||||
.INB inc/eth.i
|
||||
.INB inc/libtcpip.i
|
||||
.INB inc/net.http.i
|
||||
@ -19,10 +20,10 @@ CONN.MAX .EQ 16
|
||||
.OR ZPBIN
|
||||
ZS.START
|
||||
ZPPtr1 .BS 2
|
||||
ZPPtr2 .BS 2
|
||||
ZPSktPtr .BS 2
|
||||
hFile .BS 1
|
||||
hStr .BS 1
|
||||
ZPStrPtr .BS 2
|
||||
|
||||
hSrvSocket .BS 1
|
||||
TimeOut .BS 1
|
||||
@ -34,12 +35,11 @@ ZPRootDirPtr .BS 2
|
||||
|
||||
hClntSocket .BS 1
|
||||
|
||||
hRequest .BS 1
|
||||
ZPRequestPtr .BS 2
|
||||
ZPnRequestLen .BS 2
|
||||
ZPLinePtr .BS 2
|
||||
|
||||
hReply .BS 1
|
||||
ZPReplyPtr .BS 2
|
||||
ZPRepPtr .BS 2
|
||||
|
||||
ZS.END .ED
|
||||
*--------------------------------------
|
||||
@ -65,11 +65,10 @@ CS.START cld
|
||||
.DA CS.QUIT
|
||||
L.LIBTCPIP .DA LIBTCPIP
|
||||
L.ETCHTTPDCONF .DA ETCHTTPDCONF
|
||||
L.KEYWORDS .DA KEYWORDS
|
||||
J.KEYWORDS .DA CS.RUN.CONF.SERVERNAME
|
||||
L.KEYWORDS.CONF .DA KEYWORDS.CONF
|
||||
J.KEYWORDS.CONF .DA CS.RUN.CONF.SERVERNAME
|
||||
.DA CS.RUN.CONF.LISTEN
|
||||
.DA CS.RUN.CONF.DOCUMENTROOT
|
||||
.DA CS.RUN.CONF.ADDTYPE
|
||||
L.SA.Local .DA SA.Local
|
||||
L.MSG.TCPWAIT .DA MSG.TCPWAIT
|
||||
L.MSG.TCPIPERR .DA MSG.TCPIPERR
|
||||
@ -77,7 +76,18 @@ L.MSG.INITCONF .DA MSG.INITCONF
|
||||
L.MSG.INITOK .DA MSG.INITOK
|
||||
L.MSG.SKTERR .DA MSG.SKTERR
|
||||
L.MSG.INCOMING .DA MSG.INCOMING
|
||||
L.HTTP.200OK .DA HTTP.200OK
|
||||
L.KEYWORDS.REQ .DA KEYWORDS.REQ
|
||||
J.KEYWORDS.REQ .DA CS.RUN.REQ.GET
|
||||
L.INDEX.HTML .DA INDEX.HTML
|
||||
L.MIME.TYPES .DA MIME.TYPES
|
||||
T.MIME .DA MIME.HTML
|
||||
.DA MIME.TXT
|
||||
.DA MIME.ICO
|
||||
.DA MIME.PNG
|
||||
.DA MIME.JPG
|
||||
L.MIME.DEFAULT .DA MIME.DEFAULT
|
||||
L.HTTP.200 .DA HTTP.200
|
||||
L.HTTP.404 .DA HTTP.404
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
CS.INIT >LDYA L.LIBTCPIP
|
||||
@ -140,7 +150,7 @@ CS.RUN.INIT ldx #3
|
||||
>SYSCALL GetMem
|
||||
bcs CS.RUN.RTS
|
||||
|
||||
>STYA ZPStrPtr
|
||||
>STYA ZPLinePtr
|
||||
stx hStr
|
||||
|
||||
>PUSHW L.MSG.INITCONF
|
||||
@ -197,7 +207,7 @@ CS.RUN.CONF >PUSHW L.ETCHTTPDCONF
|
||||
sta hFile
|
||||
|
||||
.1 >PUSHWI 256
|
||||
>PUSHW ZPStrPtr
|
||||
>PUSHW ZPLinePtr
|
||||
lda hFile
|
||||
>SYSCALL fgets
|
||||
bcs .8
|
||||
@ -205,11 +215,11 @@ CS.RUN.CONF >PUSHW L.ETCHTTPDCONF
|
||||
tya
|
||||
beq .1
|
||||
|
||||
lda (ZPStrPtr)
|
||||
lda (ZPLinePtr)
|
||||
cmp #'#'
|
||||
beq .1
|
||||
|
||||
>LDYA L.KEYWORDS
|
||||
>LDYA L.KEYWORDS.CONF
|
||||
>STYA ZPPtr1
|
||||
|
||||
ldx #0
|
||||
@ -217,7 +227,7 @@ CS.RUN.CONF >PUSHW L.ETCHTTPDCONF
|
||||
.2 ldy #0
|
||||
|
||||
.3 lda (ZPPtr1),y
|
||||
cmp (ZPStrPtr),y
|
||||
cmp (ZPLinePtr),y
|
||||
bne .4
|
||||
|
||||
iny
|
||||
@ -263,14 +273,14 @@ CS.RUN.CONF >PUSHW L.ETCHTTPDCONF
|
||||
*--------------------------------------
|
||||
CS.RUN.CONF.JMP tya
|
||||
clc
|
||||
adc ZPStrPtr
|
||||
adc ZPLinePtr
|
||||
sta ZPPtr1
|
||||
tay
|
||||
lda #0
|
||||
adc ZPStrPtr+1
|
||||
adc ZPLinePtr+1
|
||||
sta ZPPtr1+1
|
||||
|
||||
jmp (J.KEYWORDS,x)
|
||||
jmp (J.KEYWORDS.CONF,x)
|
||||
|
||||
CS.RUN.CONF.SERVERNAME
|
||||
>SYSCALL StrDup
|
||||
@ -297,9 +307,6 @@ CS.RUN.CONF.DOCUMENTROOT
|
||||
stx hRootdir
|
||||
|
||||
.9 rts
|
||||
CS.RUN.CONF.ADDTYPE
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.SERVER lda hSrvSocket
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.accept
|
||||
@ -325,10 +332,15 @@ CS.RUN.SERVER lda hSrvSocket
|
||||
>SYSCALL PrintF
|
||||
|
||||
jsr CS.RUN.CLIENT
|
||||
|
||||
.8 clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.CLIENT
|
||||
CS.RUN.CLIENT >STZ.G REQ.KeepAlive
|
||||
>STA.G REQ.FullPath
|
||||
>STA.G REQ.hFile
|
||||
>STA.G REQ.hBuf
|
||||
|
||||
.1 >SLEEP
|
||||
|
||||
lda hClntSocket
|
||||
@ -337,9 +349,78 @@ CS.RUN.CLIENT
|
||||
|
||||
tay
|
||||
beq .1
|
||||
bra .8
|
||||
jmp .80
|
||||
|
||||
.2 sta hRequest
|
||||
.2 jsr CS.RUN.REQ.GetFrame
|
||||
|
||||
.3 jsr CS.RUN.REQ.GetLine
|
||||
bcs .4
|
||||
|
||||
>LDYA ZPLinePtr
|
||||
>STYA ZPPtr2
|
||||
|
||||
>LDYA L.KEYWORDS.REQ
|
||||
jsr CS.RUN.GET.KW
|
||||
bcs .3
|
||||
|
||||
jsr CS.RUN.REQ.JMP
|
||||
bcc .3
|
||||
bcs .9
|
||||
|
||||
.4 >LDA.G REQ.FullPath
|
||||
beq .9
|
||||
|
||||
>LDYAI 1024
|
||||
>SYSCALL GetMem
|
||||
bcs .9
|
||||
|
||||
>STYA ZPRepPtr
|
||||
txa
|
||||
>STA.G REQ.hBuf
|
||||
|
||||
jsr CS.RUN.OpenFile
|
||||
bcs .9
|
||||
|
||||
jsr CS.RUN.GetMime
|
||||
bcs .9
|
||||
|
||||
jsr CS.RUN.SendFile
|
||||
bcc .5
|
||||
|
||||
.9 >PUSHWI HTTP.404.len
|
||||
>PUSHW L.HTTP.404
|
||||
lda hClntSocket
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Send
|
||||
bcs .80
|
||||
|
||||
* >STZ.G REQ.KeepAlive
|
||||
|
||||
.5 >LDA.G REQ.hFile
|
||||
beq .6
|
||||
|
||||
>SYSCALL FClose
|
||||
|
||||
.6 >LDA.G REQ.hBuf
|
||||
beq .7
|
||||
|
||||
>SYSCALL freemem
|
||||
|
||||
.7 >LDA.G REQ.hFrame
|
||||
beq .8
|
||||
|
||||
>SYSCALL FreeMem
|
||||
|
||||
.8 >LDA.G REQ.KeepAlive
|
||||
beq .80
|
||||
jmp CS.RUN.CLIENT
|
||||
|
||||
.80 lda hClntSocket
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Shutdown
|
||||
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.REQ.GetFrame
|
||||
>STA.G REQ.hFrame
|
||||
>SYSCALL GetMemPtr
|
||||
>STYA ZPRequestPtr
|
||||
|
||||
@ -361,34 +442,12 @@ CS.RUN.CLIENT
|
||||
clc
|
||||
adc #S.TCP
|
||||
sta ZPRequestPtr
|
||||
bcc .3
|
||||
bcc .8
|
||||
|
||||
inc ZPRequestPtr+1
|
||||
|
||||
.3 jsr CS.RUN.REQUEST.GetStr
|
||||
bcs .7
|
||||
|
||||
>LDYA ZPStrPtr
|
||||
>SYSCALL puts
|
||||
bra .3
|
||||
|
||||
* jsr CS.RUN.REPLY.INIT
|
||||
|
||||
* lda hReply
|
||||
* >SYSCALL FreeMem
|
||||
|
||||
.7 >PUSHWI HTTP.200OK.len
|
||||
>PUSHW L.HTTP.200OK
|
||||
lda hClntSocket
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Send
|
||||
|
||||
.8 lda hClntSocket
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Shutdown
|
||||
|
||||
clc
|
||||
rts
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.REQUEST.GetStr
|
||||
CS.RUN.REQ.GetLine
|
||||
ldy #0
|
||||
|
||||
.1 inc ZPnRequestLen
|
||||
@ -417,19 +476,213 @@ CS.RUN.REQUEST.GetStr
|
||||
.31 eor #C.LF
|
||||
bne .9
|
||||
|
||||
sta (ZPStrPtr),y Y,A = StrLen
|
||||
sta (ZPLinePtr),y Y,A = StrLen
|
||||
clc
|
||||
rts
|
||||
|
||||
.4 sta (ZPStrPtr),y
|
||||
.4 sta (ZPLinePtr),y
|
||||
iny
|
||||
bra .1
|
||||
|
||||
.9 sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.REPLY.INIT
|
||||
CS.RUN.OpenFile >LEA.G REQ.FullPath
|
||||
>SYSCALL puts
|
||||
|
||||
>PUSHEA.G REQ.FullPath
|
||||
>PUSHBI O.RDONLY
|
||||
>PUSHBI 0 type
|
||||
>PUSHWZ Aux type
|
||||
>SYSCALL FOpen
|
||||
bcs .9
|
||||
|
||||
txa
|
||||
>STA.G REQ.hFile
|
||||
|
||||
>PUSHA
|
||||
>PUSHEA.G REQ.Stat
|
||||
>SYSCALL FStat
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.GetMime >LEA.G REQ.FullPath
|
||||
>STYA ZPPtr2
|
||||
|
||||
ldx #$ff
|
||||
ldy #$ff
|
||||
|
||||
.1 iny
|
||||
lda (ZPPtr2),y
|
||||
beq .2
|
||||
|
||||
cmp #'.'
|
||||
bne .1
|
||||
|
||||
tya
|
||||
tax
|
||||
bra .1
|
||||
|
||||
.2 txa
|
||||
bpl .3
|
||||
|
||||
lda #MIME.DEFAULT.ID
|
||||
bra .8
|
||||
|
||||
.3 sec
|
||||
|
||||
adc ZPPtr2
|
||||
sta ZPPtr2
|
||||
bcc .4
|
||||
|
||||
inc ZPPtr2+1
|
||||
|
||||
.4 >LDYA L.MIME.TYPES
|
||||
jsr CS.RUN.GET.KW
|
||||
|
||||
txa
|
||||
|
||||
.8 >STA.G REQ.MimeType
|
||||
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.SendFile >PUSHW ZPRepPtr
|
||||
>PUSHW L.HTTP.200
|
||||
>LDA.G REQ.MimeType
|
||||
tax
|
||||
>PUSHW T.MIME,x
|
||||
>PUSHL.G REQ.Stat+S.STAT.SIZE
|
||||
>PUSHBI 6
|
||||
|
||||
>SYSCALL SPrintf
|
||||
bcs .9
|
||||
|
||||
jsr CS.RUN.SendBuf Y,A = car count
|
||||
|
||||
.1 >PUSHWI 1024
|
||||
>PUSHW ZPRepPtr
|
||||
>LDA.G REQ.hFile
|
||||
>SYSCALL fread
|
||||
bcs .8
|
||||
|
||||
jsr CS.RUN.SendBuf
|
||||
bcc .1
|
||||
|
||||
rts
|
||||
|
||||
.8 cmp #MLI.E.EOF
|
||||
bne .9
|
||||
|
||||
clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.SendBuf >PUSHYA
|
||||
>PUSHW ZPRepPtr
|
||||
lda hClntSocket
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Send
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.REQ.JMP jmp (J.KEYWORDS.REQ,x)
|
||||
*--------------------------------------
|
||||
CS.RUN.REQ.GET ldy #0
|
||||
|
||||
.1 iny
|
||||
lda (ZPPtr2),y
|
||||
|
||||
eor #C.SPACE
|
||||
bne .1
|
||||
|
||||
sta (ZPPtr2),y
|
||||
|
||||
lda (ZPPtr2)
|
||||
|
||||
cmp #'/'
|
||||
bne .4
|
||||
|
||||
>PUSHW ZPRootDirPtr
|
||||
>LEA.G REQ.FullPath
|
||||
>SYSCALL StrCpy
|
||||
|
||||
ldy #1
|
||||
lda (ZPPtr2),y
|
||||
bne .2
|
||||
|
||||
>LDYA L.INDEX.HTML
|
||||
bra .3
|
||||
|
||||
.2 >LDYA ZPPtr2
|
||||
|
||||
.3 >PUSHYA
|
||||
>LEA.G REQ.FullPath
|
||||
>SYSCALL StrCat
|
||||
rts
|
||||
|
||||
.4 >PUSHW ZPPtr2
|
||||
>PUSHEA.G REQ.FullPath
|
||||
>SYSCALL realpath
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.REQ.Connection
|
||||
lda (ZPPtr2)
|
||||
eor #'k'
|
||||
beq .1
|
||||
|
||||
|
||||
lda #$ff
|
||||
|
||||
.1 >STA.G REQ.KeepAlive
|
||||
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.GET.KW >STYA ZPPtr1
|
||||
|
||||
ldx #0
|
||||
|
||||
.2 ldy #$ff
|
||||
|
||||
.3 iny
|
||||
lda (ZPPtr1),y
|
||||
cmp (ZPPtr2),y
|
||||
bne .4
|
||||
|
||||
cmp #0
|
||||
beq .33
|
||||
|
||||
cmp #C.SPACE
|
||||
bne .3
|
||||
|
||||
.33 tya
|
||||
sec
|
||||
adc ZPPtr2
|
||||
sta ZPPtr2
|
||||
bcc .8
|
||||
inc ZPPtr2+1
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
|
||||
.4 inx
|
||||
inx
|
||||
|
||||
ldy #0
|
||||
|
||||
.5 iny
|
||||
lda (ZPPtr1),y
|
||||
bne .5
|
||||
|
||||
tya
|
||||
sec
|
||||
adc ZPPtr1
|
||||
sta ZPPtr1
|
||||
bcc .6
|
||||
inc ZPPtr1+1
|
||||
|
||||
.6 lda (ZPPtr1)
|
||||
bne .2
|
||||
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.DOEVENT lda (pEvent)
|
||||
@ -467,10 +720,9 @@ hLIBTCPIP .BS 1
|
||||
LIBTCPIP .AZ "libtcpip"
|
||||
ETCHTTPDCONF .AZ "${BOOT}etc/httpd.conf"
|
||||
*--------------------------------------
|
||||
KEYWORDS .AS "ServerName "
|
||||
KEYWORDS.CONF .AS "ServerName "
|
||||
.AS "Listen "
|
||||
.AS "DocumentRoot "
|
||||
.AS "AddType "
|
||||
.DA #0
|
||||
*--------------------------------------
|
||||
MSG.TCPWAIT .AZ "HTTPD:Waiting for TCP/IP initializing..."
|
||||
@ -480,20 +732,53 @@ MSG.INITOK .AZ "HTTPD:Listening on port %D, root dir: %s.\r\n"
|
||||
MSG.SKTERR .AZ "HTTPD:Listen Error."
|
||||
MSG.INCOMING .AZ "HTTPD:Incoming Connection [SKT=%h] From : %d.%d.%d.%d\r\n"
|
||||
*--------------------------------------
|
||||
HTTP.200OK .AS "HTTP/1.1 200 OK"
|
||||
KEYWORDS.REQ .AS "GET "
|
||||
.AS "Connection: "
|
||||
.DA #0
|
||||
*--------------------------------------
|
||||
INDEX.HTML .AS "/index." html
|
||||
*--------------------------------------
|
||||
MIME.TYPES .AZ "html"
|
||||
.AZ "txt"
|
||||
.AZ "ttf"
|
||||
.AZ "ico"
|
||||
.AZ "png"
|
||||
.AZ "jpg"
|
||||
.DA #0
|
||||
MIME.HTML .AZ "text/html"
|
||||
MIME.TXT .AZ "text/plain"
|
||||
MIME.TTF .AZ "font/truetype"
|
||||
MIME.ICO .AZ "image/vnd.microsoft.icon" "image/x-icon"
|
||||
MIME.PNG .AZ "image/png"
|
||||
MIME.JPG .AZ "image/jpeg"
|
||||
MIME.DEFAULT .AZ "application/octet-stream"
|
||||
MIME.DEFAULT.ID .EQ 12
|
||||
*--------------------------------------
|
||||
HTTP.200 .AS "HTTP/1.1 200 OK"
|
||||
.DA #C.CR,#C.LF
|
||||
.AS "Server: A2osX-HTTPD 0.94"
|
||||
.DA #C.CR,#C.LF
|
||||
.AS "Content-Type: %s"
|
||||
.DA #C.CR,#C.LF
|
||||
.AS "Content-Length: %u"
|
||||
.DA #C.CR,#C.LF
|
||||
.DA #C.CR,#C.LF
|
||||
.DA #0
|
||||
*--------------------------------------
|
||||
HTTP.404 .AS "HTTP/1.1 404 Not Found"
|
||||
.DA #C.CR,#C.LF
|
||||
.AS "Server: A2osX-HTTPD 0.94"
|
||||
.DA #C.CR,#C.LF
|
||||
.AS "Content-Type: text/html"
|
||||
.DA #C.CR,#C.LF
|
||||
.AS "Content-Length: 34"
|
||||
.AS "Content-Length: 47"
|
||||
.DA #C.CR,#C.LF
|
||||
.AS "Connection: Close"
|
||||
.DA #C.CR,#C.LF
|
||||
.DA #C.CR,#C.LF
|
||||
.AS "<HTML><BODY>Hello From A2osX-HTTPD 0.94 !</BODY></HTML>"
|
||||
.AS "<HTML><BODY><B>404:NOT FOUND<B></BODY></HTML>"
|
||||
.DA #C.CR,#C.LF
|
||||
HTTP.200OK.len .EQ *-HTTP.200OK
|
||||
HTTP.404.len .EQ *-HTTP.404
|
||||
*--------------------------------------
|
||||
SA.LOCAL .DA #AF.INET S.SOCKADDR.AF
|
||||
.BS 1
|
||||
@ -503,6 +788,13 @@ SA.LOCAL .DA #AF.INET S.SOCKADDR.AF
|
||||
.DUMMY
|
||||
.OR 0
|
||||
DS.START
|
||||
REQ.FullPath .BS MLI.MAXPATH+1
|
||||
REQ.Stat .BS S.STAT
|
||||
REQ.hFrame .BS 1
|
||||
REQ.hFile .BS 1
|
||||
REQ.hBuf .BS 1
|
||||
REQ.MimeType .BS 1
|
||||
REQ.KeepAlive .BS 1
|
||||
DS.END
|
||||
.ED
|
||||
*--------------------------------------
|
||||
|
BIN
SRV/WWW/favicon.ico
Normal file
BIN
SRV/WWW/favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.6 KiB |
@ -1,7 +1,5 @@
|
||||
<!--
|
||||
NEW
|
||||
AUTO 3,1
|
||||
-->
|
||||
<html>
|
||||
<head>
|
||||
<title>A2osx Welcome</title>
|
||||
@ -19,7 +17,5 @@ Composed with care by:
|
||||
<br>©2020 and beyond
|
||||
</body>
|
||||
</html>
|
||||
<!--
|
||||
MAN
|
||||
TEXT srv/www/index.html
|
||||
-->
|
||||
TEXT srv/www/hello.html
|
||||
|
@ -2,23 +2,16 @@ NEW
|
||||
AUTO 3,1
|
||||
<html>
|
||||
<head>
|
||||
<title>Title of the document</title>
|
||||
<style>
|
||||
@font-face { font-family: ScanLines; src: url('scanlines.ttf') format('truetype'); }
|
||||
h1 {
|
||||
font-family: ScanLines;
|
||||
color: #00ff00;
|
||||
}
|
||||
p {
|
||||
font-family: ScanLines;
|
||||
color: #00ff00;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<title>A2osX HTTPD Demo</title>
|
||||
<link rel="stylesheet" href="style.css" />
|
||||
</head>
|
||||
|
||||
<body bgcolor="black">
|
||||
<h1>This is a heading</h1>
|
||||
<body>
|
||||
<h1>A2osX HTTPD Demo</h1>
|
||||
<img src="A2osX.logo.png">
|
||||
<p>This is a paragraph.</p>
|
||||
<a href="hello.html">Hello</a>
|
||||
<a href="main.html">Main</a>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
@ -1,7 +1,5 @@
|
||||
<!--
|
||||
NEW
|
||||
AUTO 3,1
|
||||
-->
|
||||
<html>
|
||||
<head>
|
||||
<title>A2osx HTTPD Server Tests</title>
|
||||
@ -25,7 +23,5 @@ resizes.</i>
|
||||
<br>©2020 and beyond
|
||||
</body>
|
||||
</html>
|
||||
<!--
|
||||
MAN
|
||||
TEXT srv/www/main.html
|
||||
-->
|
20
SRV/WWW/style.css
Normal file
20
SRV/WWW/style.css
Normal file
@ -0,0 +1,20 @@
|
||||
NEW
|
||||
AUTO 3,1
|
||||
@font-face {
|
||||
font-family: "ScanLines";
|
||||
src: url('scanlines.ttf') format('truetype');
|
||||
}
|
||||
body {
|
||||
font-family: "ScanLines";
|
||||
background-color: black;
|
||||
}
|
||||
h1 {
|
||||
font-family: "ScanLines";
|
||||
color: #00ff00;
|
||||
}
|
||||
p {
|
||||
font-family: "ScanLines";
|
||||
color: #00ff00;
|
||||
}
|
||||
MAN
|
||||
TEXT srv/www/style.css
|
@ -53,8 +53,8 @@ K.StrCat sec
|
||||
* Y,A = destination
|
||||
*\--------------------------------------
|
||||
K.StrCpy clc
|
||||
pha
|
||||
phy
|
||||
pha
|
||||
jsr SHARED.SPtr1PPtr2
|
||||
|
||||
bcc .2
|
||||
|
Loading…
x
Reference in New Issue
Block a user