A2osX/BIN/ATBROWSE.S.txt

323 lines
5.9 KiB
Plaintext
Raw Permalink Normal View History

NEW
2019-05-02 09:52:32 +00:00
AUTO 3,1
.LIST OFF
.OP 65C02
.OR $2000
2020-08-04 07:10:48 +00:00
.TF bin/atbrowse
*--------------------------------------
2020-08-04 07:10:48 +00:00
.INB inc/macros.i
.INB inc/a2osx.i
.INB inc/mli.i
.INB inc/mli.e.i
.INB inc/appletalk.i
*--------------------------------------
2020-08-04 07:10:48 +00:00
.DUMMY
.OR ZPBIN
ZS.START
2020-08-06 20:01:14 +00:00
ZPAtlkParams .BS 2
2020-08-04 07:10:48 +00:00
ZPPTR1 .BS 2
2021-01-24 19:44:43 +00:00
BufPtr .BS 2
2020-08-04 07:10:48 +00:00
hBuf .BS 1
ZS.END .ED
*--------------------------------------
* File Header (16 Bytes)
*--------------------------------------
CS.START cld
jmp (.1,x)
.DA #$61 6502,Level 1 (65c02)
.DA #1 BIN Layout Version 1
.DA 0
.DA CS.END-CS.START CS
.DA DS.END-DS.START DS
2021-01-14 21:39:36 +00:00
.DA #64 Stack Size
.DA #ZS.END-ZS.START Zero Page Size
.DA 0
*--------------------------------------
* Relocation Table
2019-10-03 06:25:27 +00:00
*--------------------------------------
.1 .DA CS.INIT
.DA CS.RUN
.DA CS.DOEVENT
.DA CS.QUIT
L.MSG.NOATK .DA MSG.NOATK
2020-08-06 20:01:14 +00:00
L.MSG.ATKERR .DA MSG.ATKERR
2020-08-23 19:46:37 +00:00
L.MSG.GETINFO .DA MSG.GETINFO
L.MSG.MYZONE .DA MSG.MYZONE
L.SEARCH.STRING .DA SEARCH.STRING
2021-01-24 19:44:43 +00:00
L.MSG.ZONES .DA MSG.ZONES
L.MSG.PSTR .DA MSG.PSTR
L.MSG.DUMP0 .DA MSG.DUMP0
L.MSG.DUMP .DA MSG.DUMP
.DA 0
*--------------------------------------
CS.INIT clc
2020-08-23 19:46:37 +00:00
CS.INIT.RTS rts
*--------------------------------------
2020-09-05 18:44:58 +00:00
CS.RUN jsr CS.RUN.GetInfo
bcs .9
jsr CS.RUN.GetMyZone
2021-01-24 19:44:43 +00:00
>LDYAI 1024
>SYSCALL GetMem
bcs .9
>STYA BufPtr
stx hBuf
jsr CS.RUN.GetZoneList
2020-09-05 18:44:58 +00:00
jsr CS.RUN.LookupName
lda #0
sec
.9 rts
*--------------------------------------
2021-01-12 21:14:13 +00:00
CS.RUN.GetInfo >LEA.G P.GetInfo
ldx #AT.GetInfo
jsr CS.RUN.GOATLK
2020-09-05 18:44:58 +00:00
bcs .9
>PUSHW L.MSG.GETINFO
>PUSHB.G P.GetInfo+$08 THIS-NET
2021-01-17 21:48:54 +00:00
>PUSHB.G P.GetInfo+$09 THIS-NET
2020-09-05 18:44:58 +00:00
>PUSHB.G P.GetInfo+$0E NODE
>PUSHB.G P.GetInfo+$0A BRIDGE
>PUSHB.G P.GetInfo+$0C HARDWARE ID
2021-01-17 21:48:54 +00:00
>PUSHB.G P.GetInfo+$0D HARDWARE ID
2020-09-05 18:44:58 +00:00
>PUSHB.G P.GetInfo+$0B ROM VERSION
>PUSHBI 7
>SYSCALL PrintF
rts
2020-09-05 18:44:58 +00:00
.9 pha
>LDYA L.MSG.NOATK
>SYSCALL PutS
pla
sec
rts
*--------------------------------------
CS.RUN.GetMyZone
>LEA.G ZoneBuf
>STYA.G P.GetMyZone+$08
2021-01-12 21:14:13 +00:00
lda #4 1/4 sec
2020-09-05 18:44:58 +00:00
>STA.G P.GetMyZone+$0C RetInt
>STA.G P.GetMyZone+$0D RetCnt
>LEA.G P.GetMyZone
ldx #AT.GetMyZone
jsr CS.RUN.GOATLK
bcs .9
>PUSHW L.MSG.MYZONE
>PUSHEA.G ZoneBuf
>PUSHBI 2
>SYSCALL PrintF
2021-01-24 19:44:43 +00:00
.9 rts
*--------------------------------------
CS.RUN.GetZoneList
>LDYAI 1024
2021-02-11 22:08:22 +00:00
>STYA.G P.GetZoneList+$08 BufLen
2021-01-24 19:44:43 +00:00
>LDYA BufPtr
2021-02-11 22:08:22 +00:00
>STYA.G P.GetZoneList+$0A BufPtr
2021-01-24 19:44:43 +00:00
>LDA.G P.GetInfo+$0A BRIDGE
>STA.G P.GetZoneList+$0E
lda #1
>STA.G P.GetZoneList+$0F Start Index
lda #4 1/4 sec
>STA.G P.GetZoneList+$11 RetInt
>STA.G P.GetZoneList+$12 RetCnt
>LEA.G P.GetZoneList
ldx #AT.GetZoneList
jsr CS.RUN.GOATLK
bcs .9
>LDYA L.MSG.ZONES
>SYSCALL PutS
>LDA.G P.GetZoneList+$13 Zone #
beq .8
tax
>LDYA BufPtr
jsr CS.RUN.PrintListYAX
.8 clc
2020-09-05 18:44:58 +00:00
.9 rts
*--------------------------------------
CS.RUN.LookupName
>LDYA L.SEARCH.STRING
>STYA.G P.LookupName+$08 Entry Name Ptr
lda #4
2020-08-23 19:46:37 +00:00
>STA.G P.LookupName+$0C RetInt
>STA.G P.LookupName+$0D RetCnt
2021-01-24 19:44:43 +00:00
>LDYAI 1024
>STYA.G P.LookupName+$10 BufLen
2021-01-24 19:44:43 +00:00
>LDYA BufPtr
>STYA ZPPTR1
2020-08-06 20:01:14 +00:00
>STYA.G P.LookupName+$12 BufPtr
lda #16
>STA.G P.LookupName+$16 MaxMatch
2019-10-21 19:40:50 +00:00
>LEA.G P.LookupName
2020-08-23 19:46:37 +00:00
ldx #AT.LookupName
2020-08-06 20:01:14 +00:00
jsr CS.RUN.GOATLK
2019-10-21 19:40:50 +00:00
.99 bcs .9
>LDYA L.MSG.DUMP0
2020-08-17 20:47:31 +00:00
>SYSCALL PutS
bcs .9
2019-10-21 19:40:50 +00:00
2020-09-07 20:40:50 +00:00
>LDA.G P.LookupName+$17
beq .8
2020-08-04 07:10:48 +00:00
.1 >PUSHW L.MSG.DUMP
ldy #0
.2 >PUSHB (ZPPTR1),y
iny
cpy #5
bne .2
lda ZPPTR1
clc
adc #5
2021-01-12 21:14:13 +00:00
sta ZPPTR1
lda ZPPTR1+1
adc #0
2021-01-12 21:14:13 +00:00
sta ZPPTR1+1
ldx #3
2019-10-21 19:40:50 +00:00
2021-01-12 21:14:13 +00:00
.3 >PUSHW ZPPTR1
lda ZPPTR1
sec
2021-01-12 21:14:13 +00:00
adc (ZPPTR1)
sta ZPPTR1
2021-01-12 21:14:13 +00:00
lda ZPPTR1+1
adc #0
sta ZPPTR1+1
2021-01-12 21:14:13 +00:00
dex
bne .3
>PUSHBI 11
>SYSCALL PrintF
bcs .9
>DEC.G P.LookupName+$17
2020-08-04 07:10:48 +00:00
bne .1
2019-10-21 19:40:50 +00:00
2020-09-05 18:44:58 +00:00
.8 clc
2020-08-23 19:46:37 +00:00
.9 rts
*--------------------------------------
2020-08-06 20:01:14 +00:00
CS.RUN.GOATLK >STYA ZPAtlkParams
2020-08-23 19:46:37 +00:00
ldy #1
txa
sta (ZPAtlkParams),y
>LDYA ZPAtlkParams
2020-08-06 20:01:14 +00:00
jsr A2osX.ATKCALL
bcc .9
pha
>PUSHW L.MSG.ATKERR
2020-09-05 18:44:58 +00:00
ldy #1
lda (ZPAtlkParams),y
>PUSHA
2020-08-06 20:01:14 +00:00
ldy #3
lda (ZPAtlkParams),y
>PUSHA
dey
lda (ZPAtlkParams),y
>PUSHA
2020-09-05 18:44:58 +00:00
>PUSHBI 3
2020-08-17 20:47:31 +00:00
>SYSCALL PrintF
2020-08-06 20:01:14 +00:00
pla
sec
.9 rts
*--------------------------------------
2021-01-24 19:44:43 +00:00
CS.RUN.PrintListYAX
>STYA ZPPTR1
.1 phx
>PUSHW L.MSG.PSTR
>PUSHW ZPPTR1
>PUSHBI 2
>SYSCALL PrintF
plx
bcs .9
lda (ZPPTR1)
sec
adc ZPPTR1
sta ZPPTR1
bcc .2
2023-10-18 05:41:12 +00:00
2021-01-24 19:44:43 +00:00
inc ZPPTR1+1
.2 dex
bne .1
.8 clc
.9 rts
*--------------------------------------
CS.DOEVENT sec
rts
*--------------------------------------
2020-08-04 07:10:48 +00:00
CS.QUIT lda hBuf
beq .8
2023-10-18 05:41:12 +00:00
2018-07-18 15:30:42 +00:00
>SYSCALL FreeMem
2020-08-06 20:01:14 +00:00
.8 clc
rts
*--------------------------------------
CS.END
MSG.NOATK .CZ "AppleTalk Not Loaded."
MSG.ATKERR .CZ "AppleTalk Call %h, ERR:%H\r\n"
MSG.GETINFO .CS "Network/Node:%H/%h\r\n"
.CS "Bridge : %h\r\n"
.CZ "HWID/ROMVER :%H/%h\r\n"
MSG.MYZONE .CZ "Zone Name :%S\r\n"
SEARCH.STRING .PS "="
.PS "="
.PS "*"
MSG.ZONES .CZ "Zone list :"
MSG.PSTR .CZ " %S\r\n"
MSG.DUMP0 .CZ "Net Nod SkT En# Object:Type@Zone"
MSG.DUMP .CZ "\e[?7l%H %h %h %h %S:%S@%S\r\n"
*--------------------------------------
.DUMMY
.OR 0
DS.START
P.GetInfo .BS $0F
2021-01-24 19:44:43 +00:00
P.GetZoneList .BS $19
P.GetMyZone .BS $10
P.LookupName .BS $18
2020-08-23 19:46:37 +00:00
ZoneBuf .BS 33
2020-08-17 20:47:31 +00:00
DS.END .ED
*--------------------------------------
MAN
2020-08-04 07:10:48 +00:00
SAVE usr/src/bin/atbrowse.s
ASM