* ROBOTRON PART OF LOGO * IF SIGN BIT IS ON, THE BYTE IS A KEY BYTE, * ELSE IT IS A DATA BYTE. * KEY BYTE: * 1 R L C N N N N * R = REPEAT LAST COLUMN N N N N TIMES * L = END OF LETTER * C = END OF COLUMN * ELSE THE BYTE IS OF THE FORM: * * 0 B C D D D D D * * BC 00 = ZERO 10 = COLOR 1 01 = COLOR 2 11 = WHO KNOWS? * D = NUMBER OF ROWS TO GET THIS REPEAT EQU $C0 ENDLET EQU $A0 ENDCOL EQU $90 ON EQU $40 INDICATE COLOR IS ON ON2 EQU $20 COLOR 2 ON * LETTER R * LETTER R * LETTER R LR FCB 1 COLUMN 1 FCB 25+ON2 FCB ENDCOL FCB 2+ON2 FCB 23+ON COLUMN 2 FCB 2+ON2 FCB ENDCOL FCB 1+ON2 COL 3 FCB 25+ON FCB 1+ON2 FCB ENDCOL FCB 1+ON2 COL 4 FCB 3+ON FCB 7+ON2 FCB 15+ON FCB 1+ON2 FCB ENDCOL FCB 1+ON2 FCB 3+ON COLUMN 5 FCB 1+ON2 FCB 5 FCB 2+ON2 FCB 13+ON FCB 2+ON2 FCB ENDCOL FCB 1+ON2 FCB 3+ON COLUMN 6 FCB 1+ON2 FCB 6 FCB 1+ON2 FCB 2+ON FCB 12+ON2 FCB ENDCOL FCB 1+ON2 FCB 3+ON COLUMN 7 FCB 1+ON2 FCB 6 FCB 1+ON2 FCB 2+ON FCB 1+ON2 FCB ENDCOL FCB REPEAT+6 COLUMN 8,9,10,11,12,13 FCB 1+ON2 FCB 3+ON COLUMN 14 FCB 2+ON2 FCB 5 FCB 1+ON2 FCB 2+ON FCB 1+ON2 FCB ENDCOL FCB 1+ON2 FCB 4+ON COLUMN 15 FCB 7+ON2 FCB 2+ON FCB 1+ON2 FCB ENDCOL FCB 1+ON2 COL 16 FCB 13+ON FCB 1+ON2 FCB ENDCOL FCB 3+ON2 FCB 11+ON COLUMN 17 FCB 2+ON2 FCB ENDCOL FCB 2 COLUMN 18 FCB 10+ON2 FCB 3+ON FCB 11+ON2 FCB ENDCOL FCB 10 COLUMN 19 FCB 2+ON2 FCB 13+ON FCB 2+ON2 FCB ENDCOL FCB 11 COLUMN 20 FCB 2+ON2 FCB 12+ON FCB 2+ON2 FCB ENDCOL FCB 12 21 FCB 14+ON2 FCB ENDCOL FCB ENDLET END OF LETTER * LETTER O * LETTER O * LETTER O LO FCB 1 COLUMN 1 FCB 25+ON2 FCB ENDCOL FCB 2+ON2 FCB 23+ON COLUMN 2 FCB 2+ON2 FCB ENDCOL FCB 1+ON2 FCB 25+ON FCB 1+ON2 COL 3 FCB ENDCOL FCB 1+ON2 4 FCB 3+ON FCB 19+ON2 FCB 3+ON FCB 1+ON2 FCB ENDCOL FCB 1+ON2 FCB 2+ON FCB 2+ON2 FCB 17 FCB 2+ON2 FCB 2+ON FCB 1+ON2 FCB ENDCOL FCB 1+ON2 FCB 2+ON COLUMN 6 FCB 1+ON2 FCB 19 FCB 1+ON2 FCB 2+ON FCB 1+ON2 FCB ENDCOL FCB REPEAT+8 COLUMN 7,8,9,10,11,12,13,14 FCB 1+ON2 FCB 2+ON COLUMN 15 FCB 4+ON2 FCB 16 FCB 1+ON2 FCB 2+ON FCB 1+ON2 FCB ENDCOL FCB 1+ON2 FCB 5+ON COLUMN 16 FCB 2+ON2 FCB 15 FCB 1+ON2 FCB 2+ON FCB 1+ON2 FCB ENDCOL FCB 1+ON2 FCB 6+ON COLUMN 17 FCB 2+ON2 FCB 13 FCB 2+ON2 FCB 2+ON FCB 1+ON2 FCB ENDCOL FCB 1+ON2 18 FCB 7+ON FCB 15+ON2 FCB 3+ON FCB 1+ON2 FCB ENDCOL FCB 1+ON2 FCB 25+ON FCB 1+ON2 FCB ENDCOL 19 FCB 2+ON2 FCB 23+ON 20 FCB 2+ON2 FCB ENDCOL FCB 1 FCB 25+ON2 FCB ENDCOL 21 FCB ENDLET END OF LETTER * LETTER B * LETTER B * LETTER B LB FCB 1 COLUMN 1 FCB 25+ON2 FCB ENDCOL FCB 2+ON2 FCB 23+ON 2 FCB 1+ON2 FCB ENDCOL FCB 1+ON2 FCB 24+ON 3 FCB 2+ON2 FCB ENDCOL FCB 1+ON2 4 FCB 2+ON FCB 7+ON2 FCB 16+ON FCB 1+ON2 FCB ENDCOL FCB 1+ON2 FCB 2+ON 5 FCB 1+ON2 FCB 5 FCB 2+ON2 FCB 15+ON FCB 1+ON2 FCB ENDCOL FCB 1+ON2 FCB 2+ON 6 FCB 1+ON2 FCB 6 FCB 1+ON2 FCB 15+ON FCB 1+ON2 FCB ENDCOL FCB 1+ON2 7 FCB 2+ON FCB 1+ON2 FCB 6 FCB 1+ON2 FCB 3+ON FCB 9+ON2 FCB 3+ON FCB 1+ON2 FCB ENDCOL FCB 1+ON2 FCB 2+ON 8 FCB 1+ON2 FCB 6 FCB 1+ON2 FCB 2+ON FCB 2+ON2 FCB 7 FCB 2+ON2 FCB 2+ON FCB 1+ON2 FCB ENDCOL FCB 1+ON2 FCB 2+ON 9 FCB 1+ON2 FCB 6 FCB 1+ON2 FCB 2+ON FCB 1+ON2 FCB 9 FCB 1+ON2 FCB 2+ON FCB 1+ON2 FCB ENDCOL FCB REPEAT+5 10,11,12,13,14 FCB 1+ON2 FCB 2+ON 15 FCB 2+ON2 FCB 5 FCB 1+ON2 FCB 2+ON FCB 1+ON2 FCB 9 FCB 1+ON2 FCB 2+ON FCB 1+ON2 FCB ENDCOL FCB 1+ON2 FCB 3+ON FCB 7+ON2 FCB 2+ON FCB 1+ON2 FCB 9 FCB 1+ON2 FCB 2+ON FCB 1+ON2 FCB ENDCOL FCB 1+ON2 17 FCB 12+ON FCB 1+ON2 FCB 9 FCB 1+ON2 FCB 2+ON FCB 1+ON2 FCB ENDCOL FCB 2+ON2 FCB 11+ON 18 FCB 2+ON2 FCB 7 FCB 2+ON2 FCB 2+ON FCB 1+ON2 FCB ENDCOL FCB 1 19 FCB 10+ON2 FCB 3+ON FCB 9+ON2 FCB 3+ON FCB 1+ON2 FCB ENDCOL FCB 10 20 FCB 1+ON2 FCB 14+ON FCB 2+ON2 FCB ENDCOL FCB 10 21 FCB 2+ON2 FCB 11+ON FCB 3+ON2 FCB ENDCOL FCB 11 22 FCB 13+ON2 FCB ENDCOL FCB ENDLET * LETTER T * LETTER T * LETTER T LT FCB 1 1 FCB 3+ON2 FCB ENDCOL FCB 2+ON2 FCB 1+ON 2 FCB 2+ON2 FCB ENDCOL FCB 1+ON2 3 FCB 3+ON FCB 1+ON2 FCB ENDCOL FCB REPEAT+4 4,5,6,7,8 FCB 1+ON2 FCB 3+ON 9 FCB 2+ON2 FCB ENDCOL FCB 1+ON2 FCB 4+ON 10 FCB 21+ON2 FCB ENDCOL FCB 1+ON2 11 FCB 24+ON FCB 2+ON2 FCB ENDCOL FCB 1+ON2 FCB 25+ON 12 FCB 1+ON2 FCB ENDCOL FCB REPEAT+1 13 FCB 1+ON2 FCB 4+ON 14 FCB 7+ON2 FCB 13+ON FCB 2+ON2 FCB ENDCOL FCB 1+ON2 FCB 3+ON 15 FCB 2+ON2 FCB 5 FCB 15+ON2 FCB ENDCOL FCB 1+ON2 FCB 3+ON 16 FCB 1+ON2 FCB ENDCOL FCB REPEAT+4 17,18,19 FCB 2+ON2 20 FCB 1+ON FCB 2+ON2 FCB ENDCOL FCB 1 21 FCB 3+ON2 FCB ENDCOL FCB ENDLET * LETTER N * LETTER N * LETTER N LN FCB 1 1 FCB 25+ON2 FCB ENDCOL FCB 2+ON2 FCB 23+ON 2 FCB 2+ON2 FCB ENDCOL FCB 1+ON2 3 FCB 25+ON FCB 1+ON2 FCB ENDCOL FCB 1+ON2 FCB 2+ON 4 FCB 8+ON2 FCB 15+ON FCB 1+ON2 FCB ENDCOL FCB 1+ON2 FCB 2+ON 5 FCB 1+ON2 FCB 6 FCB 1+ON2 FCB 15+ON FCB 1+ON2 FCB ENDCOL FCB 1+ON2 FCB 2+ON 6 FCB 1+ON2 FCB 6 FCB 2+ON2 FCB 12+ON FCB 2+ON2 FCB ENDCOL FCB 1+ON2 FCB 2+ON 7 FCB 1+ON2 FCB 7 FCB 14+ON2 FCB ENDCOL FCB 1+ON2 FCB 2+ON 8 FCB 1+ON2 FCB ENDCOL FCB REPEAT+8 9,10,11,12,13,14,15,16 FCB 1+ON2 FCB 2+ON 17 FCB 23+ON2 FCB ENDCOL FCB 1+ON2 FCB 24+ON 18 FCB 2+ON2 FCB ENDCOL FCB 2+ON2 19 FCB 23+ON FCB 2+ON2 FCB ENDCOL FCB 1 20 FCB 25+ON2 FCB ENDCOL FCB ENDLET * COLON * COLON * COLON LC FCB 3 1 FCB 4+ON2 FCB 14 FCB 4+ON2 FCB ENDCOL FCB 2 2 FCB 2+ON2 FCB 2+ON FCB 2+ON2 FCB 12 FCB 2+ON2 FCB 2+ON FCB 2+ON2 FCB ENDCOL FCB 2 3 FCB 1+ON2 FCB 4+ON FCB 1+ON2 FCB 12 FCB 1+ON2 FCB 4+ON FCB 1+ON2 FCB ENDCOL FCB REPEAT+5 4,5,6 FCB 2 7 FCB 2+ON2 FCB 2+ON FCB 2+ON2 FCB 12 FCB 2+ON2 FCB 2+ON FCB 2+ON2 FCB ENDCOL FCB 3 8 FCB 4+ON2 FCB 14 FCB 4+ON2 FCB ENDCOL FCB ENDLET ****** * * 2084 DEFINITION * ****** L8 FCB 1 1 FCB 1+ON2 FCB 12+ON FCB 3+ON2 FCB 12+ON FCB 1+ON2 FCB ENDCOL FCB 2 2 FCB 1+ON2 FCB 12+ON FCB 1+ON2 FCB 12+ON FCB 1+ON2 FCB ENDCOL FCB 3 3 FCB 1+ON2 FCB 23+ON FCB 1+ON2 FCB ENDCOL FCB 4 4 FCB 1+ON2 FCB 21+ON FCB 1+ON2 FCB ENDCOL FCB 5 5 FCB 1+ON2 FCB 3+ON FCB 6+ON2 FCB 1+ON FCB 6+ON2 FCB 3+ON FCB 1+ON2 FCB ENDCOL FCB 6 6 FCB 1+ON2 FCB 3+ON FCB 1+ON2 FCB 4 FCB 1+ON2 FCB 4 FCB 1+ON2 FCB 3+ON FCB 1+ON2 FCB ENDCOL FCB 7 7 FCB 1+ON2 FCB 3+ON FCB 1+ON2 FCB 3 FCB 1+ON2 FCB 3 FCB 1+ON2 FCB 3+ON FCB 1+ON2 FCB ENDCOL FCB 8 8 FCB 1+ON2 FCB 3+ON FCB 3+ON2 FCB 1+ON FCB 3+ON2 FCB 3+ON FCB 1+ON2 FCB ENDCOL FCB 9 9 FCB 1+ON2 FCB 11+ON FCB 1+ON2 FCB ENDCOL FCB 10 10 FCB 1+ON2 FCB 9+ON FCB 1+ON2 FCB ENDCOL FCB 11 11 FCB 1+ON2 FCB 3+ON FCB 1+ON2 FCB 3+ON FCB 1+ON2 FCB ENDCOL FCB 12 12 FCB 8+ON2 FCB ENDCOL FCB ENDLET L4 FCB 13 1 FCB 1+ON2 FCB 5+ON FCB 1+ON2 FCB ENDCOL FCB 12 2 FCB 1+ON2 FCB 6+ON FCB 1+ON2 FCB ENDCOL FCB 11 3 FCB 1+ON2 FCB 7+ON FCB 1+ON2 FCB ENDCOL FCB 10 4 FCB 1+ON2 FCB 8+ON FCB 1+ON2 FCB ENDCOL FCB 9 5 FCB 1+ON2 FCB 5+ON FCB 1+ON2 FCB 3+ON FCB 1+ON2 FCB ENDCOL FCB 8 6 FCB 1+ON2 FCB 5+ON FCB 2+ON2 FCB 3+ON FCB 1+ON2 FCB ENDCOL FCB 8 7 FCB 1+ON2 FCB 4+ON FCB 1+ON2 FCB 1 FCB 1+ON2 FCB 3+ON FCB 1+ON2 FCB ENDCOL FCB 8 8 FCB 1+ON2 FCB 3+ON FCB 1+ON2 FCB 2 FCB 1+ON2 FCB 3+ON FCB 1+ON2 FCB ENDCOL FCB 8 9 FCB 1+ON2 FCB 3+ON FCB 4+ON2 FCB 3+ON FCB 5+ON2 FCB ENDCOL FCB 8 10 FCB 1+ON2 FCB 14+ON FCB 1+ON2 FCB ENDCOL FCB REPEAT+3 11,12,13 FCB 8 14 FCB 8+ON2 FCB 3+ON FCB 5+ON2 FCB ENDCOL FCB 15 15 FCB 1+ON2 FCB 3+ON FCB 1+ON2 FCB ENDCOL FCB REPEAT+3 16,17,18 FCB 14 19 FCB 1+ON2 FCB 4+ON FCB 1+ON2 FCB ENDCOL FCB REPEAT+4 20,21,22,23 FCB 15 24 FCB 1+ON2 FCB 3+ON FCB 1+ON2 FCB ENDCOL FCB 16 25 FCB 1+ON2 FCB 2+ON FCB 1+ON2 FCB ENDCOL FCB 17 26 FCB 1+ON2 FCB 1+ON FCB 1+ON2 FCB ENDCOL FCB 18 27 FCB 2+ON2 FCB ENDCOL FCB ENDLET L2084 FDB L2,L0,LZER FDB L8,L4 LZER FDB 0 BILL FCB 10 1 BALL IS COLOR 1 (HIGH) FCB 7+ON W IS COLOR 2 (LOW) FCB ENDCOL FCB 8 2 FCB 11+ON FCB ENDCOL FCB 6 3 FCB 15+ON FCB ENDCOL FCB 5 4 FCB 17+ON FCB ENDCOL FCB 4 5 FCB 4+ON FCB 2+ON2 FCB 13+ON FCB ENDCOL FCB 3 6 FCB 7+ON FCB 2+ON2 FCB 12+ON FCB ENDCOL FCB 2 7 FCB 9+ON FCB 4+ON2 FCB 10+ON FCB ENDCOL FCB 2 8 FCB 10+ON FCB 5+ON2 FCB 8+ON FCB ENDCOL FCB 1 9 FCB 12+ON FCB 7+ON2 FCB 6+ON FCB ENDCOL FCB 1 10 FCB 13+ON FCB 8+ON2 FCB 4+ON FCB ENDCOL FCB 13+ON 11 FCB 7+ON2 FCB 7+ON FCB ENDCOL FCB 8+ON 12 FCB 2+ON2 FCB 2+ON FCB 6+ON2 FCB 9+ON FCB ENDCOL FCB 9+ON 13 FCB 7+ON2 FCB 11+ON FCB ENDCOL FCB 10+ON FCB 4+ON2 14 FCB 13+ON FCB ENDCOL FCB 9+ON 13 FCB 7+ON2 FCB 11+ON FCB ENDCOL FCB 8+ON 12 FCB 2+ON2 FCB 2+ON FCB 6+ON2 FCB 9+ON FCB ENDCOL FCB 13+ON 11 FCB 7+ON2 FCB 7+ON FCB ENDCOL FCB 1 10 FCB 13+ON FCB 8+ON2 FCB 4+ON FCB ENDCOL FCB 1 9 FCB 12+ON FCB 7+ON2 FCB 6+ON FCB ENDCOL FCB 2 8 FCB 10+ON FCB 5+ON2 FCB 8+ON FCB ENDCOL FCB 2 7 FCB 9+ON FCB 4+ON2 FCB 10+ON FCB ENDCOL FCB 3 6 FCB 7+ON FCB 2+ON2 FCB 12+ON FCB ENDCOL FCB 4 5 FCB 4+ON FCB 2+ON2 FCB 13+ON FCB ENDCOL FCB 5 4 FCB 17+ON FCB ENDCOL FCB 6 3 FCB 15+ON FCB ENDCOL FCB 8 2 FCB 11+ON FCB ENDCOL FCB 10 1 BALL IS COLOR 1 (HIGH) FCB 7+ON W IS COLOR 2 (LOW) FCB ENDCOL FCB ENDLET * LETOUT - OUTPUT A LETTER STORED IN LOGO FORMAT * * X = UPPER LEFT TO OUTPUT, RETURNS UPPER LEFT COLUMN FOLLOWING LETTER * U = POINTER TO LETTER DATA * Y = ROUTINE TO UPDATE COLOR * A = COLOR 1, COLOR 2 INITIALLY * B = INITIAL FLAVOR, RETURNS FLAVOR JUST FOLLOWING LETTER LETOUT PSHS A,U,Y ANDA #$F0 PSHS A LSRA LSRA LSRA LSRA ORAA 0,S+ COLOR 1 FORMED STA LOGCOL LDA ,S ANDA #$0F PSHS A ASLA ASLA ASLA ASLA ORAA ,S+ STA LOGCL2 COLOR 2 CAGAIN BSR DOCOL DO A COLUMN BCC CAGAIN NOT END OF LETTER...DO ANOTHER PULS A,U,Y,PC AND RETURN DOCOL LDA ,U CHECK FIRST BYTE OF THE COLUMN COMA BITA #$C0 REPEATER?? BEQ DOCOL0 YEP...NO COLUMN SAVE FOR THIS START STU LOGCST SAVE COLUMN START DOCOL0 STX LOGX SAVE THE X FOR COLUMN END DOCOL2 LDA ,U+ GET A DATA BYTE BPL DOCOL1 ORDINARY BOREDOM BITA #$20 END OF LETTER?? BEQ DOCOL3 NOPE SEC DUMRTS RTS INDICATE END OF LETTER DOCOL3 BITA #$10 END OF COLUMN?? BEQ DOCOL4 NOPE BSR CEND DO TERMINAL TYPE OF STUFF CLC RTS AND RETURN DOCOL4 BITA #$40 MUST BE REPEAT TIME BEQ DOCOL2 INVALID...CONTINUE ANDA #$F GET COUNT STA LOGCNT SAVE THE COUNT STU LOGSAV SAVE THE POINTER DOCOL5 LDU LOGCST GET START OF COLUMN POINTER BSR DOCOL0 CURSE AGAIN DEC LOGCNT 1 LESS BNE DOCOL5 AND DO IT AGAIN LDU LOGSAV GET OUR POINTER BACK PLEASE CLC CLEAR OUT THE CARRY GUY RTS DOCOL1 BITA #$60 COLOR?? BNE DCOL6 YEP LEAX A,X ADD COUNT TO X IS ALL WE NEED TO DO BRA DOCOL2 AND GET NEXT BYTE DCOL6 PSHS CC,A SAVE ANDA #$1F REMOVE GARBAGE BITS SEI STX DEST PLACE LEAX A,X FORM NEW POINTER EORA #4 THROW GREG A BONE STA HORIZ+1 HEIGHT LDA #5 STA HORIZ 1 WIDE STD ORIG CONSTANT GARBAGE LDA 1,S GET DIRECTIVE BYTE BACK BITA #$40 BEQ COL2U USE COLOR 2 LDA LOGCOL GET COLOR1 BRA COL3U COL2U LDA LOGCL2 USE COLOR 2 COL3U STA CONST LDA #$12 CONSTANT STUFF ETC, BUT.... TSTB WHICH FLAVOR?? BEQ DCOL7 EVEN FLAVOR ORAA #$80 ODD FLAVOR...SUPRESS HIGH BRA DCOL8 DCOL7 ORAA #$40 EVEN FLAVOR...SUPRESS LOW DCOL8 STA CONTRL DONE! PULS CC,A BRA DOCOL2 GET THE NEXT BYTE CEND LDX LOGX RESTORE START X TSTB EVEN FLAVOR?? BEQ CEND1 YEP LDB #$FF MAKE NON-ZERO FLAVOR FF IN CASE LEAX $100,X MOVE OVER 1 CEND1 COMB CHANGE FLAVOR RTS AND RETURN