ô > Stations/s v1.22 *ô Source for updated *Stations command %ô Updated with more station types (: 2*OSBYTE=&FFF4:OSWORD=&FFF1:OSWRCH=&FFEE <*OSNEWL=&FFE7:OSASCI=&FFE3:OSARGS=&FFDA F%ݤm(A$)=ÀA$,©A$-1)+½(—ÂA$,1)„128) P: Zload%=&FFFF08D5 dÞ mcode% &280 n ã P=0 ¸ 1 xP%=load%:O%=mcode% ‚[OPT P*3+4 Œ\ Transmit control block – .L0AE5  +EQUB &00 :\ Control byte ª1EQUB &00 :\ Port &00=Immediate ´ .L0AE7 ¾&EQUB &FE :\ Station È .L0AE8 Ò&EQUB &00 :\ Network Ü1EQUW L0900+0:EQUW &FFFF :\ Data start address æ/EQUW L0900+4:EQUW &FFFF :\ Data end address ð: ú .exec%  .L0900  LDX #&A8 4LDY #&00:LDA #&01:JSR OSARGS :\ Get command line "@LDX #&00 :\ Prepare to do net 0=this net ,: 6 .L0926 @9LDA (&A8),Y :\ Get current character J3CMP #—"0":BCC L093F:INY :\ <"0", do this net T.€ #&0F:STX &AA:ASL &AA :\ X=X*10+digit ^ADC &AA:ASL &AA:ASL &AA hJDEC &AC:JMP OSASCI :\ Dec column counter and print character H: R\ Print 'X' spaces \ .L0ADC f LDA #—" " p .L0ADE zJSR L09B3:DEX:BNE L0ADE „ .L0AE0 ŽRTS ˜: ¢\ Print version number ¬ .L09C4 ¶9LDX &AC:BEQ P%+5:JSR L0ADC :\ Print spaces to align À;LDA L0900+3:JSR L09BA :\ Print version.hi in hex Ê-LDA #&2E:JSR L09B3 :\ Print '.' Ô;LDA L0900+2 :\ Print version.lo in hex Þ: è\ Print hex number in A ò .L09B8 üPHA:JSR L09BC:PLA:JMP L09AA  .L09BA CMP #&10:BCC L09BE  .L09BC $LSR A:LSR A:LSR A:LSR A . .L09BE 8 JMP L09AA B: L\ Print machine name V .L09C0 `-LDA L0900+0 :\ A=machine j=CLC:ADC #&40:BMI L09F8 :\ Don't print manufacturers t2LDA L0900+1 :\ A=manufacturer ~=LDX #L0A50-L0A30 :\ X=>start of manufacturers ˆ7JSR L09FE :\ Find and print name ’3LDA &AC:BEQ L0AE0 :\ Exit if unknown œ: ¦ .L09F8 °=LDA L0900+0:LDX #L0A60-L0A30 :\ X=>start of machine names º .L09FE Ä=CMP L0A30,X:BEQ L0A20 :\ Matches, print this entry ÎPHA Ø@LDA L0A30,X:BEQ L0A10 :\ End of table, print 'Uknown' â .L0A04 ì8INX:LDA L0A30,X:BPL L0A04 :\ Step past this entry öPLA:INX:BNE L09FE  .L0A10  PLA 3LDX #L0A40-L0A30:JSR L0A20 :\ Print 'Unknown' :LDA L0900+1:JSR L09B8 :\ Print manufacture code (6LDA L0900+0:JSR L09B8 :\ Print machine code 23LDA #—")":JSR L09B3 :\ Print closing ')' <LDX &AC:BNE L0ADC F: P \ Print message indexed by X Z \ -------------------------- d .L0A20 n=INX:LDA L0A30,X:PHP :\ Get character, save bit 7 x=€ #&7F:JSR L09B3 :\ Drop bit 7, print character ‚8PLP:BPL L0A20 :\ Loop until bit 7 set Œ .L0A28 –RTS  : ª .L0A30 ´)EQUB &00:EQUS ¤m("Station Type"+½13) ¾ .L0A40 È!EQUB &80:EQUS ¤m("Unknown (") Ò .L0A50 Ü$EQUB &FF:EQUS ¤m("SJ Research ") æ EQUB &02:EQUS ¤m("Reuters ") ðEQUB &01:EQUS ¤m("Torch ") úEQUB &00:EQUS ¤m("Acorn ")  .L0A60 !EQUB &01:EQUS ¤m("BBC Micro") EQUB &02:EQUS ¤m("Atom") ""EQUB &03:EQUS ¤m("System 3/4") , EQUB &04:EQUS ¤m("System 5") 6EQUB &05:EQUS ¤m("Master") @ EQUB &06:EQUS ¤m("Electron") JEQUB &07:EQUS ¤m("RISC OS") T$EQUB &09:EQUS ¤m("Communicator") ^!EQUB &0A:EQUS ¤m("Master ET") h!EQUB &0B:EQUS ¤m("FileStore") rEQUB &0C:EQUS ¤m("Compact") |EQUB &0D:EQUS ¤m("Ecolink") †EQUB &0E:EQUS ¤m("RISCiX") EQUB &0F:EQUS ¤m("RISC PC") šEQUB &10:EQUS ¤m("Iyonix") ¤EQUB &11:EQUS ¤m("A9") ®#EQUB &40:EQUS ¤m("ZX Spectrum") ¸#EQUB &41:EQUS ¤m("Amstrad CPC") Â#\EQUB &F8:\EQUS ¤m("GP Server") Ì$\EQUB &F9:\EQUS ¤m("80386 Unix") Ö\EQUB &FA:\EQUS ¤m("SCSI") à!\EQUB &FB:\EQUS ¤m("PC card") ê EQUB &FC:EQUS ¤m("Nascom 2") ôEQUB &FD:EQUS ¤m("RM480Z") þ#EQUB &FE:EQUS ¤m("File Server")  EQUB &FF:EQUS ¤m("Z80 CP/M")  EQUB &00  .L0B00 &: 0]í :0ñ"Machine names table length: ";L0B00-L0A30; D*ç L0B00-L0A30>256:ñ" - too long":à ‹ ñ NGñ "*SAVE STATIONS ";~mcode%;" ";~O%;" ";~exec%„&FFFF0000;" ";~load% ÿ