Subject: [stella] Teleterm 2600 From: "John K. Harvey" <jkharvey@xxxxxxxxxxx> Date: Tue, 07 Aug 2001 18:07:09 -0500 |
Hi all, Speaking of net-demos, Well, here's a little rs232 demo I wrote up last summer. It transfers at 300 bauds via joystick 2 pinouts. I can't remember which pin it transfers on, but I made a cable which connected 2 9-pin connectors via pins 1 to 3, 3 to 1, 4 to 2, and 2 to 4, but I made the demo rs232 compliant, so only 2 of those wires should really be useful. To test on itself, take a 9-pin connector and wire pin 1 to 3 and pin 2 to 4. Anyway, I've got another project I'm working on, so I'm allowing people to look at the code and bin file, to fire up some ideas. Don't know if its comments are any good, but who can say? After all, I wrote this a year ago. Enjoy! -John
; update 11/6/2000 ; sends/receives ASCII data! processor 6502 include vcs.h ; SEND ; $80 - $85 ; $86 - $8B ; $8C - $91 ; $92 - $97 ; $98 - $9D ; $9E - $A3 ; $A4 - $A9 ; RECEIVE ; $AA - $AF ; $B0 - B5 ; $B6 - $BB ; $BC - $C1 ; $C2 - $C7 ; $C8 - $CD ; $CE - $D3 AlphaPtr = $D4 DirectionBit = $D5 T0 = $D6 ; d6,d7,d8,d9,dA,dB,dC Temp = $DD ; one WORD Temp2 = $DF ; one byte during ShiftLoop Temp3 = $E0 ; one byte during Rub IncomingByte = $E1 InBitCount = $E2 AreWeReceiving = $E3 ; will emulate 1 bit InTripleCount = $E4 ThreeBits = $E5 InFirstEight = $E6 InNextSeven = $E7 OutGoingByte = $E8 OutBitCount = $E9 AreWeSending = $EA SevenOrEight = $EB T1 = $EC ; $EC,ED,EE,EF,F0,F1,F2 Flag = $F3 Flag2 = $F4 TempCount = $F5 TempChecker = $F6 org $F000 Start SEI ; Disable interrupts, if there are any. CLD ; Clear BCD math bit. LDX #$FF TXS ; Set stack to beginning. LDA #0 B1 STA 0,X DEX BNE B1 Startup LDA #144 STA COLUBK LDA #%01000000 STA DirectionBit LDA #%00001100 STA SWACNT ; set our inputs and outputs (we only actually ; use D2 as an output. STA SWCHA ; send a 1, as required for RS232 STA AreWeReceiving LDA #%00000111 STA ThreeBits LDA #1 STA InTripleCount LDA #$FF STA InFirstEight ; must be $FF so that we don't accidentally STA InNextSeven ; think that we've got an immediate lead-in zero. JMP VerticalSync OverScan ; [30 scanlines] ; !!!!!!!!! INSERT CODE HERE !!!!!!!!!!! STA WSYNC ; [1] ;************* RECEIVE 7-7 ************* LDA SWCHA ROR ROL InNextSeven ;************* RECEIVE ************* STA WSYNC ; [2] ; $$$ 16 scanlines emulated with a timer LDA #19 ; formerly 18: if > 1201 cycles, you're screwed. STA TIM64T JSR Receive OverLoop1 LDA INTIM BNE OverLoop1 STA WSYNC ; [18] JSR Send ; *** Fifth SEND *** need 3 receives STA WSYNC ; [19] ;************* RECEIVE 8-1 ************* LDA SWCHA ROR ROL InFirstEight ;************* RECEIVE ************* STA WSYNC ; [20] LDA #12 ; 10 scanlines worth STA TIM64T ; !!!!!!!!! INSERT CODE HERE !!!!!!!!!!! OverLoop2 LDA INTIM BNE OverLoop2 STA WSYNC ; [30] VerticalSync ; [3] LDA #2 STA VSYNC ; Begin vertical sync. STA WSYNC ; [1] STA WSYNC ; [2] LDA #0 STA WSYNC ; [3] STA VSYNC ; (0) GameCalc ; [37] LDA #4 ; 3 scanlines worth STA TIM64T ; !!!!!!!!! INSERT CODE HERE !!!!!!!!!!! CalcLoop1 LDA INTIM BNE CalcLoop1 STA WSYNC ; [3] ;************* RECEIVE 8-2 ************* LDA SWCHA ROR ROL InFirstEight ;************* RECEIVE ************* STA WSYNC ; [4] LDA #19 ; 16 scanlines worth STA TIM64T LDA #$A4 ; 2 STA Temp ; 3 JSR GameCalc2 ; !!!!!!!!! INSERT CODE HERE !!!!!!!!!!! CalcLoop2 LDA INTIM BNE CalcLoop2 STA WSYNC ; [20] ; !!!!!!!!! INSERT CODE HERE !!!!!!!!!!! STA WSYNC ; [21] ;************* RECEIVE 8-3 ************* LDA SWCHA ROR ROL InFirstEight ;************* RECEIVE ************* STA WSYNC ; [22] LDA #18 ; 15 scanlines worth STA TIM64T ; !!!!!!!!! INSERT CODE HERE !!!!!!!!!!! LDA #$CE STA Temp LDA Flag2 BEQ NotRubbing JSR Rub JMP CalcLoop3 NotRubbing LDA Flag CMP #1 BNE TryAgain JSR GameCalc3 JMP CalcLoop3 TryAgain LDA Flag CMP #2 BNE CalcLoop3 JSR ReceiveSetup CalcLoop3 LDA INTIM BNE CalcLoop3 STA WSYNC ; [37] DrawScreen LDA #0 STA VBLANK ; (0) LDA #50 STA COLUPF JSR Send ; *** FIRST SEND *** need 3 receives STA WSYNC ; [1] LDA #1 STA CTRLPF LDA #200 ;formerly 80 STA COLUP0 STA COLUP1 LDA #35 STA NUSIZ0 LDA #51 STA NUSIZ1 LSR STA VDELP0 STA VDELP1 LDA #%11100000 ; or %00010000 STA HMP0 STA RESP0 STA RESP1 DEY LDA #%11110000 ; or %00100000 STA HMP1 ;************* RECEIVE 8-4 ************* LDA SWCHA ROR ROL InFirstEight ;************* RECEIVE ************* STA WSYNC ; [2] STA HMOVE LDA #$FD STA PF2 LDY #8 ScanLoop1A STA WSYNC ; [10] DEY BNE ScanLoop1A LDA #0 STA VDELP0 STA VDELP1 STA NUSIZ0 STA NUSIZ1 LDY #7 ScanLoop2A STA WSYNC ; [18] LDA #0 STA COLUPF LDA SendWord,Y STA GRP0 LDA SendWord2,Y STA GRP1 DEY BPL ScanLoop2A LDA #50 STA COLUPF ;************* RECEIVE 8-5 ************* LDA SWCHA ROR ROL InFirstEight ;************* RECEIVE ************* STA WSYNC ; [19] LDA #0 STA GRP0 STA GRP1 LDY #9 ScanLoop3A STA WSYNC ; [28] DEY BNE ScanLoop3A LDA #35 STA NUSIZ0 LDA #51 STA NUSIZ1 LSR STA VDELP0 STA VDELP1 LDA #0 STA COLUPF ; fixable STA WSYNC ; [29] LDA $80 STA GRP0 LDA $81 STA GRP1 LDA $82 STA GRP0 NOP NOP NOP NOP NOP NOP NOP LDY $85 LDX $84 LDA $83 STA GRP1 STX GRP0 STY GRP1 STX GRP0 STA WSYNC ; [30] LDA $86 STA GRP0 LDA $87 STA GRP1 LDA $88 STA GRP0 NOP NOP NOP NOP NOP NOP NOP LDY $8B LDX $8A LDA $89 STA GRP1 STX GRP0 STY GRP1 STX GRP0 STA WSYNC ; [31] LDA $8C STA GRP0 LDA $8D STA GRP1 LDA $8E STA GRP0 NOP NOP NOP NOP NOP NOP NOP LDY $91 LDX $90 LDA $8F STA GRP1 STX GRP0 STY GRP1 STX GRP0 STA WSYNC ; [32] LDA $92 STA GRP0 LDA $93 STA GRP1 LDA $94 STA GRP0 NOP NOP NOP NOP NOP NOP NOP LDY $97 LDX $96 LDA $95 STA GRP1 STX GRP0 STY GRP1 STX GRP0 STA WSYNC ; [33] LDA $98 STA GRP0 LDA $99 STA GRP1 LDA $9A STA GRP0 NOP NOP NOP NOP NOP NOP NOP LDY $9D LDX $9C LDA $9B STA GRP1 STX GRP0 STY GRP1 STX GRP0 STA WSYNC ; [34] LDA $9E STA GRP0 LDA $9F STA GRP1 LDA $A0 STA GRP0 NOP NOP NOP NOP NOP NOP NOP LDY $A3 LDX $A2 LDA $A1 STA GRP1 STX GRP0 STY GRP1 STX GRP0 STA WSYNC ; [35] LDA $A4 STA GRP0 LDA $A5 STA GRP1 LDA $A6 STA GRP0 NOP NOP NOP NOP NOP NOP NOP LDY $A9 LDX $A8 LDA $A7 STA GRP1 STX GRP0 STY GRP1 STX GRP0 STA WSYNC ; [36] LDA #0 STA GRP0 STA GRP1 STA GRP0 STA GRP1 ;************* RECEIVE 8-6 ************* LDA SWCHA ROR ROL InFirstEight ;************* RECEIVE ************* STA WSYNC ; [37] LDA #50 STA COLUPF ; waste 15 cycles + 1 for send LDY #15 ScanLoop4A STA WSYNC ; [52] DEY BNE ScanLoop4A JSR Send ; *** Second SEND *** need 3 receives STA WSYNC ; [53] ;************* RECEIVE 8-7 ************* LDA SWCHA ROR ROL InFirstEight ;************* RECEIVE ************* STA WSYNC ; [54] LDA #0 STA VDELP0 STA VDELP1 STA NUSIZ0 STA NUSIZ1 STA WSYNC ; [55] STA WSYNC ; [56] LDY #7 ScanLoop5A STA WSYNC ; [64] LDA #0 STA COLUPF LDA RecWord,Y STA GRP0 LDA RecWord2,Y STA GRP1 DEY BPL ScanLoop5A LDA #50 STA COLUPF LDY #7 ScanLoop6A STA WSYNC ; [71] DEY BNE ScanLoop6A STY GRP0 STY GRP1 LDA #35 STA NUSIZ0 LDA #51 STA NUSIZ1 LSR STA VDELP0 STA VDELP1 ;************* RECEIVE 8-8 ************* LDA SWCHA ROR ROL InFirstEight ;************* RECEIVE ************* STA WSYNC ; [72] ; waste 8 cycles LDY #7 ScanLoop5 STA WSYNC ; [79] DEY BNE ScanLoop5 LDA #0 STA COLUPF STA WSYNC ; [80] LDA $AA STA GRP0 LDA $AB STA GRP1 LDA $AC STA GRP0 NOP NOP NOP NOP NOP NOP NOP LDY $AF LDX $AE LDA $AD STA GRP1 STX GRP0 STY GRP1 STX GRP0 STA WSYNC ; [81] LDA $B0 STA GRP0 LDA $B1 STA GRP1 LDA $B2 STA GRP0 NOP NOP NOP NOP NOP NOP NOP LDY $B5 LDX $B4 LDA $B3 STA GRP1 STX GRP0 STY GRP1 STX GRP0 STA WSYNC ; [82] LDA $B6 STA GRP0 LDA $B7 STA GRP1 LDA $B8 STA GRP0 NOP NOP NOP NOP NOP NOP NOP LDY $BB LDX $BA LDA $B9 STA GRP1 STX GRP0 STY GRP1 STX GRP0 STA WSYNC ; [83] LDA $BC STA GRP0 LDA $BD STA GRP1 LDA $BE STA GRP0 NOP NOP NOP NOP NOP NOP NOP LDY $C1 LDX $C0 LDA $BF STA GRP1 STX GRP0 STY GRP1 STX GRP0 STA WSYNC ; [84] LDA $C2 STA GRP0 LDA $C3 STA GRP1 LDA $C4 STA GRP0 NOP NOP NOP NOP NOP NOP NOP LDY $C7 LDX $C6 LDA $C5 STA GRP1 STX GRP0 STY GRP1 STX GRP0 STA WSYNC ; [85] LDA $C8 STA GRP0 LDA $C9 STA GRP1 LDA $CA STA GRP0 NOP NOP NOP NOP NOP NOP NOP LDY $CD LDX $CC LDA $CB STA GRP1 STX GRP0 STY GRP1 STX GRP0 STA WSYNC ; [86] LDA $CE STA GRP0 LDA $CF STA GRP1 LDA $D0 STA GRP0 NOP NOP NOP NOP NOP NOP NOP LDY $D3 LDX $D2 LDA $D1 STA GRP1 STX GRP0 STY GRP1 STX GRP0 STA WSYNC ; [87] LDA #0 STA GRP0 STA GRP1 STA GRP0 STA GRP1 STA WSYNC ; [88] LDA #50 STA COLUPF ;************* RECEIVE 7-1 ************* LDA SWCHA ROR ROL InNextSeven ;************* RECEIVE ************* STA WSYNC ; [89] ; waste 16 cycles + 1 for send LDY #16 ScanLoop6 STA WSYNC ; [105] DEY BNE ScanLoop6 JSR Send ; *** Third SEND *** need 3 receives STA WSYNC ; [106] ;************* RECEIVE 7-2 ************* LDA SWCHA ROR ROL InNextSeven ;************* RECEIVE ************* STA WSYNC ; [107] ; waste 16 cycles LDY #16 ScanLoop7 STA WSYNC ; [123] DEY BNE ScanLoop7 ;************* RECEIVE 7-3 ************* LDA SWCHA ROR ROL InNextSeven ;************* RECEIVE ************* STA WSYNC ; [124] STY NUSIZ0 STY NUSIZ1 STY VDELP0 STY VDELP1 STY COLUPF ScanLoop8 STA WSYNC ; [132] LDA Arrow,Y STA GRP0 INY CPY #8 BNE ScanLoop8 STA WSYNC ; [133] LDA #0 STA GRP0 LDY #7 LDX AlphaPtr DrawChar STA WSYNC ; [141] LDA Alphabet,X STA GRP0 INX DEY BPL DrawChar ;************* RECEIVE 7-4 ************* LDA SWCHA ROR ROL InNextSeven ;************* RECEIVE ************* STA WSYNC ; [142] ; waste 15 cycles + 1 for send INY STY GRP0 LDY #7 ScanLoop9A STA WSYNC ; [150] LDA Arrow,Y STA GRP0 DEY BPL ScanLoop9A LDY #7 ScanLoop9 STA WSYNC ; [157] DEY BNE ScanLoop9 JSR Send ; *** Fourth SEND *** need 3 receives STA WSYNC ; [158] ;************* RECEIVE 7-5 ************* LDA SWCHA ROR ROL InNextSeven ;************* RECEIVE ************* STA WSYNC ; [159] ; waste 17 cycles LDY #17 ScanLoop10 STA WSYNC ; [176] DEY BNE ScanLoop10 ;************* RECEIVE 7-6 ************* LDA SWCHA ROR ROL InNextSeven ;************* RECEIVE ************* STA WSYNC ; [177] ; waste 14 cycles LDY #14 ScanLoop11 STA WSYNC ; [191] DEY BNE ScanLoop11 LDA #2 STA VBLANK ; (2) STA WSYNC ; [192] JMP OverScan GameCalc2 LDA DirectionBit ROL ROL BPL NotPrintingData ROL BPL ShiftHop JMP Rub ShiftHop JMP ShiftLoop NotPrintingData LDA AlphaPtr AND #7 BNE MoveAlpha LDA SWCHA ROL ROL BPL Left ROL BPL Right JMP Button MoveAlpha LDA DirectionBit BPL Up DEC AlphaPtr RTS Up INC AlphaPtr RTS Left LDA #%01111111 AND DirectionBit STA DirectionBit INC AlphaPtr RTS Right LDA #%10000000 ORA DirectionBit STA DirectionBit DEC AlphaPtr RTS Button LDA DirectionBit ROL BPL StatePressed LDA INPT4 BPL JustPressed RTS StatePressed LDA INPT4 BPL StillPressed LDA #%01000000 ORA DirectionBit STA DirectionBit StillPressed RTS JustPressed LDA #%10111111 AND DirectionBit STA DirectionBit LDA #%00100000 ORA DirectionBit STA DirectionBit ; Send LDA AlphaPtr ; 2 CLC LSR LSR LSR TAY LDA ASCIITable,Y STA OutGoingByte ; 3 LDA #1 ; 2 STA AreWeSending ; 3 LDA #10 ; 2 STA OutBitCount ; 3 NewStuff LDA AlphaPtr ; AND #%11111000 ; not necessary, as button was pressed CMP #%00001000 BEQ Rubbing CMP #0 BNE NotSpace LDX #6 LDA #0 Loop2 STA T0,X DEX BPL Loop2 LDA #3 STA Temp2 RTS NotSpace LDY #6 Loop TYA CLC ADC AlphaPtr TAX LDA Alphabet,X STA T0,Y DEY BPL Loop LDA AlphaPtr CLC LSR LSR LSR TAY LDA Shifts,Y STA Temp2 ; # of shifts RTS ; we're set up, so let's return Rubbing LDA #%00110000 ORA DirectionBit STA DirectionBit RTS ; we're set up, so let's return. ShiftLoop ; Note: Temp is determined at the start of gamecalc ; it tells which field of charaters to move LDX #6 ;rows ; 2 [8] RowLoop ROL T0,X ; 6 LDY #5 ;columns ; 2 ColLoop LDA (Temp),Y ;14 cycle inner loop (not accounting for +1) ROL ; total = 15*5 + 14 = 89 STA (Temp),Y DEY BPL ColLoop LDA Temp ;3 ; 100 SEC ; 2 SBC #6 ; 2 STA Temp ; 3 DEX ; 2 BPL RowLoop ; 2 => 112*6 + 111 = [783] DEC Temp2 BPL OutHere LDA #%11011111 AND DirectionBit STA DirectionBit ; Play a sound! OutHere RTS Rub ; Note: Temp is determined at the start of gamecalc ; it tells which field of charaters to move LDX #6 STX TempCount LDY #0 STY TempChecker ; where we will rotate the bits. If empty, we're done CLC RowLoop2 LDA (Temp),Y ROR STA (Temp),Y INY DEX BNE RowLoop2 ROR TempChecker ; rotate the carry bits into a temp reg. LDA Temp SEC SBC #6 STA Temp LDX #6 LDY #0 CLC DEC TempCount BPL RowLoop2 LDA TempChecker BNE OutofHere LDA Temp CMP #122 BNE BottomScroll LDA #%11001111 AND DirectionBit STA DirectionBit RTS BottomScroll LDA #0 STA Flag2 STA Flag OutofHere RTS ReceiveSetup LDA #1 STA Flag LDA IncomingByte ; AND #%11111000 ; not necessary, as button was pressed CMP #8 ; ASCII backspace BEQ Rubbing2 CMP #32 BNE NotSpace2 LDX #6 LDA #0 Loop22 STA T1,X DEX BPL Loop22 LDA #3 STA Temp3 RTS NotSpace2 CMP #63 BNE NotQuestion LDA #5 STA IncomingByte BNE FinalSetup NotQuestion CMP #45 BNE NotHyphen LDA #4 STA IncomingByte BNE FinalSetup NotHyphen CMP #46 BNE NotPeriod LDA #3 STA IncomingByte BNE FinalSetup NotPeriod CMP #33 BNE NotExclaim LDA #2 STA IncomingByte BNE FinalSetup NotExclaim LDA IncomingByte SEC SBC #59 FinalSetup CLC ASL ASL ASL STA IncomingByte LDY #6 Loop1 TYA CLC ADC IncomingByte TAX LDA Alphabet,X STA T1,Y DEY BPL Loop1 LDA IncomingByte CLC LSR LSR LSR TAY LDA Shifts,Y STA Temp3 ; # of shifts RTS ; we're set up, so let's return Rubbing2 LDA #1 STA Flag2 RTS ; we're set up, so let's return. GameCalc3 ; Note: Temp is determined at the start of gamecalc ; it tells which field of charaters to move LDX #6 ;rows ; 2 [8] RowLoop3 ROL T1,X ; 6 LDY #5 ;columns ; 2 ColLoop3 LDA (Temp),Y ;14 cycle inner loop (not accounting for +1) ROL ; total = 15*5 + 14 = 89 STA (Temp),Y DEY BPL ColLoop3 LDA Temp ;3 ; 100 SEC ; 2 SBC #6 ; 2 STA Temp ; 3 DEX ; 2 BPL RowLoop3 ; 2 => 112*6 + 111 = [783] DEC Temp3 BPL OutHere3 LDA #0 STA Flag ; Play a sound! OutHere3 RTS ORG $FC00 ; ******** SEND *********** ; = including JSR and RTS's ; 17 cycles OR ; 38 cycles ; 40 cycles ; 46 ; 47 ; 6 for JSR Send LDA AreWeSending ; 3 BNE YesSending ; 2 ; 11 RTS ; 6 YesSending ; +1 DEC OutBitCount ; 5 LDA OutBitCount ; 3 must be here forthe cmp later! BEQ LastOutBit ; 2 ; 22 CMP #9 ; 2 BNE NotFirstOutBit ; 2 ; 26 FirstBittoSend LDA #0 ; 2 STA SWCHA ; 4 ;%xxxxx0xx ; Send a 0. RTS ; 6 [38] LastOutBit ; +1 LDA #%00000100 ; 2 ; store a 1 to SWCHA STA SWCHA ; 4 LDA #0 ; 2 ; we're no longer sending STA AreWeSending ; 3 RTS ; 6 [40] NotFirstOutBit ; +1 ROR OutGoingByte ; 5 ; bit is now in carry flag BCS SetCarry ; 2 ; 34 LDA #0 ; 2 STA SWCHA ; 4 RTS ; 6 [46] SetCarry ; +1 LDA #%00000100 ; 2 STA SWCHA ; 4 RTS ; 6 [47] NextSeven LDX #8 RestofSeven DEX BNE HereForSeven RTS Receive ROL InNextSeven ; to make the ROL easier later LDY #9 Again TYA BEQ RestofSeven DEY BEQ NextSeven ROL InFirstEight JMP ThruRec HereForSeven ROL InNextSeven ThruRec LDA ThreeBits ROL AND #%00000111 STA ThreeBits DEC InTripleCount BEQ ProbCheck JMP Again ProbCheck ; we have 3 new bits LDA AreWeReceiving BNE NotReceivingYet LDA #3 ; always reset this STA InTripleCount DEC InBitCount ;on 9th bit BNE BitToByte LDA #1 STA AreWeReceiving STA InTripleCount LDA IncomingByte ;STA COLUBK LDA #2 STA Flag JMP Again BitToByte ; **************************** ; check probability of 1'sor 0's in ThreeBit and store on byte ; <function> ; code assumes 1 or 0 placed in D0 of Acc. LDA ThreeBits CMP #3 BMI Zero CMP #4 BEQ Zero LDA #1 BNE PastZero Zero LDA #0 PastZero ; **************************** CLC ROR ; sets carry flag if a 1 in D0 ROR IncomingByte JMP Again NotReceivingYet LDA #1 STA InTripleCount ; **************************** ; this routine will see there is a 2/3 probability of 0. LDA ThreeBits AND #%00000100 BNE Close ; If we don't have a lead-in zero, don't receive yet LDA ThreeBits CMP #3 BMI StartingToReceive CMP #4 BEQ StartingToReceive Close JMP Again ; **************************** StartingToReceive LDA #9 ; set these only when we have 2/3 probability of STA InBitCount ; the starter 0. LDA #0 STA AreWeReceiving LDA #3 STA InTripleCount JMP Again org $FE00 Alphabet ; null1 spc .byte %01110111 .byte %01000101 .byte %01000101 .byte %01110111 .byte %00010100 .byte %00010100 .byte %01110100 .byte 0 ; null2 rub .byte %01110100 .byte %01010100 .byte %01110100 .byte %01100111 .byte %01110101 .byte %01010101 .byte %01010111 .byte 0 ; ! .byte %01000000 .byte %01000000 .byte %01000000 .byte %01000000 .byte %00000000 .byte %01000000 .byte %01000000 .byte 0 ; . .byte %00000000 .byte %00000000 .byte %00000000 .byte %00000000 .byte %00000000 .byte %01000000 .byte %01000000 .byte 0 ; - .byte %00000000 .byte %00000000 .byte %00000000 .byte %01110000 .byte %00000000 .byte %00000000 .byte %00000000 .byte 0 ; ? .byte %01111110 .byte %01000010 .byte %00000010 .byte %00011110 .byte %00011000 .byte %00000000 .byte %00011000 .byte 0 ; A .byte %01110000 .byte %01010000 .byte %01010000 .byte %01110000 .byte %01010000 .byte %01010000 .byte %01010000 .byte 0 ; B .byte %01110000 .byte %01001000 .byte %01001000 .byte %01110000 .byte %01001000 .byte %01001000 .byte %01110000 .byte 0 ; C .byte %01110000 .byte %01010000 .byte %01000000 .byte %01000000 .byte %01000000 .byte %01010000 .byte %01110000 .byte 0 ; D .byte %01110000 .byte %01011000 .byte %01001000 .byte %01001000 .byte %01001000 .byte %01011000 .byte %01110000 .byte 0 ; E .byte %01110000 .byte %01000000 .byte %01000000 .byte %01110000 .byte %01000000 .byte %01000000 .byte %01110000 .byte 0 ; F .byte %01110000 .byte %01000000 .byte %01000000 .byte %01110000 .byte %01000000 .byte %01000000 .byte %01000000 .byte 0 ; G .byte %01111000 .byte %01000000 .byte %01000000 .byte %01011000 .byte %01001000 .byte %01001000 .byte %01111000 .byte 0 ; H .byte %01010000 .byte %01010000 .byte %01010000 .byte %01110000 .byte %01010000 .byte %01010000 .byte %01010000 .byte 0 ; I .byte %01110000 .byte %00100000 .byte %00100000 .byte %00100000 .byte %00100000 .byte %00100000 .byte %01110000 .byte 0 ; J .byte %00010000 .byte %00010000 .byte %00010000 .byte %00010000 .byte %01010000 .byte %01010000 .byte %01110000 .byte 0 ; K .byte %01001000 .byte %01001000 .byte %01010000 .byte %01100000 .byte %01010000 .byte %01001000 .byte %01001000 .byte 0 ; L .byte %01000000 .byte %01000000 .byte %01000000 .byte %01000000 .byte %01000000 .byte %01000000 .byte %01110000 .byte 0 ; M .byte %01100011 .byte %01110111 .byte %01011101 .byte %01001001 .byte %01000001 .byte %01000001 .byte %01000001 .byte 0 ; N .byte %01000010 .byte %01100010 .byte %01110010 .byte %01011010 .byte %01001110 .byte %01000110 .byte %01000010 .byte 0 ; O .byte %01110000 .byte %01010000 .byte %01010000 .byte %01010000 .byte %01010000 .byte %01010000 .byte %01110000 .byte 0 ; P .byte %01110000 .byte %01010000 .byte %01010000 .byte %01110000 .byte %01000000 .byte %01000000 .byte %01000000 .byte 0 ; Q .byte %01111000 .byte %01001000 .byte %01001000 .byte %01001000 .byte %01011000 .byte %01001000 .byte %01111100 .byte 0 ; R .byte %01110000 .byte %01010000 .byte %01010000 .byte %01110000 .byte %01100000 .byte %01010000 .byte %01010000 .byte 0 ; S .byte %01110000 .byte %01000000 .byte %01000000 .byte %01110000 .byte %00010000 .byte %00010000 .byte %01110000 .byte 0 ; T .byte %01110000 .byte %00100000 .byte %00100000 .byte %00100000 .byte %00100000 .byte %00100000 .byte %00100000 .byte 0 ; U .byte %01010000 .byte %01010000 .byte %01010000 .byte %01010000 .byte %01010000 .byte %01010000 .byte %01110000 .byte 0 ; V .byte %01010000 .byte %01010000 .byte %01010000 .byte %01010000 .byte %01010000 .byte %00100000 .byte %00100000 .byte 0 ; W .byte %01000001 .byte %01000001 .byte %01000001 .byte %01001001 .byte %01011101 .byte %01110111 .byte %00100010 .byte 0 ; X .byte %01010000 .byte %01010000 .byte %01010000 .byte %00100000 .byte %01010000 .byte %01010000 .byte %01010000 .byte 0 ; Y .byte %01010000 .byte %01010000 .byte %01110000 .byte %00100000 .byte %00100000 .byte %00100000 .byte %00100000 .byte 0 ; Z .byte %01111100 .byte %00000100 .byte %00001000 .byte %00010000 .byte %00100000 .byte %01000000 .byte %01111100 .byte 0 org $FF00 Shifts .byte 3 ; space .byte $FF ; rub .byte 1 ; ! .byte 1 ; . .byte 3 ; - .byte 6 ; ? .byte 3 ; A .byte 4 ; B .byte 3 ; C .byte 4 ; D .byte 3 ; E .byte 3 ; F .byte 4 ; G .byte 3 ; H .byte 3 ; I .byte 3 ; J .byte 4 ; K .byte 3 ; L .byte 7 ; M .byte 6 ; N .byte 3 ; O .byte 3 ; P .byte 5 ; Q .byte 3 ; R .byte 3 ; S .byte 3 ; T .byte 3 ; U .byte 3 ; V .byte 7 ; W .byte 3 ; X .byte 3 ; Y .byte 5 ; Z Arrow .byte %00000000 .byte %00011000 .byte %00111100 .byte %01111110 .byte %11111111 .byte %00011000 .byte %00011000 .byte %00011000 SendWord .byte %00000000 .byte %11101110 .byte %00101000 .byte %00101000 .byte %11101100 .byte %10001000 .byte %10001000 .byte %11101110 SendWord2 .byte %00000000 .byte %10010010 .byte %10110010 .byte %10110010 .byte %11110010 .byte %11010010 .byte %11010010 .byte %10010111 RecWord .byte %00000000 .byte %10101110 .byte %10101000 .byte %11001000 .byte %11101100 .byte %10101000 .byte %10101000 .byte %11101110 RecWord2 .byte %00000000 .byte %11100111 .byte %10000101 .byte %10000101 .byte %10000111 .byte %10000001 .byte %10001001 .byte %11101001 ; ASCII codes ; A = 65, .... Z = 90 ; ? = 63 ; Bksp = ; . = 46 ; ! = 33 ; - = 45 ; SP = ASCIITable .byte 32 ; space .byte 8 ; rub .byte 33 ; ! .byte 46 ; . .byte 45 ; - .byte 63 ; ? .byte 65 ; A .byte 66 ; B .byte 67 ; C .byte 68 ; D .byte 69 ; E .byte 70 ; F .byte 71 ; G .byte 72 ; H .byte 73 ; I .byte 74 ; J .byte 75 ; K .byte 76 ; L .byte 77 ; M .byte 78 ; N .byte 79 ; O .byte 80 ; P .byte 81 ; Q .byte 82 ; R .byte 83 ; S .byte 84 ; T .byte 85 ; U .byte 86 ; V .byte 87 ; W .byte 88 ; X .byte 89 ; Y .byte 90 ; Z org $FFFC .word Start .word Start
Attachment:
0000.bin
Description: Binary data
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [stella] vcs net play A0?=, Erik Mooney | Thread | Re: [stella] Teleterm 2600, Joe Grand |
Re: [stella] vcs net play A0?=, Erik Mooney | Date | Re: [stella] 7800 development, Keith Gerdes |
Month |