AUTOMATA.SRC
FILE INFORMATION
FILENAME(S): AUTOMATA.SRC
FILE TYPE(S): SEQ
FILE SIZE: 4.6K
FIRST SEEN: 2025-11-30 21:15:14
APPEARS ON: 1 disk(s)
FILE HASH
5703d02b7cfaba071b8615708c20701564b359f0eeb3d5f01eb32e22bc844ec3
FOUND ON DISKS (1 DISKS)
| DISK TITLE | FILENAME | FILE TYPE | COLLECTION | TRACK | SECTOR | ACTIONS |
|---|---|---|---|---|---|---|
| TRANSACTOR DISK | AUTOMATA.SRC | SEQ | DuncanTwain | 25 | 4 | DOWNLOAD FILE |
FILE CONTENT & ANALYSIS
00000000: 3B 20 20 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |; *************| 00000010: 2A 2A 2A 2A 2A 2A 0D 3B 20 20 2A 2A 20 20 20 20 |******.; ** | 00000020: 20 20 20 20 20 20 20 20 20 20 20 2A 2A 0D 3B 20 | **.; | 00000030: 20 2A 2A 20 20 20 43 45 4C 4C 55 4C 41 52 20 20 | ** CELLULAR | 00000040: 20 20 2A 2A 0D 3B 20 20 2A 2A 20 20 20 41 55 54 | **.; ** AUT| 00000050: 4F 4D 41 54 41 20 20 20 20 2A 2A 0D 3B 20 20 2A |OMATA **.; *| 00000060: 2A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |* | 00000070: 2A 2A 0D 3B 20 20 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |**.; **********| 00000080: 2A 2A 2A 2A 2A 2A 2A 2A 2A 0D 3B 0D 3B 0D 3B 0D |*********.;.;.;.| 00000090: 3B 20 20 47 45 4F 4D 45 54 52 49 43 20 20 43 4F |; GEOMETRIC CO| 000000A0: 4D 50 55 54 45 52 0D 3B 20 20 20 20 20 20 20 20 |MPUTER.; | 000000B0: 41 52 54 46 4F 52 4D 53 0D 3B 0D 3B 20 20 20 20 |ARTFORMS.;.; | 000000C0: 20 20 20 20 46 4F 52 20 20 54 48 45 0D 3B 20 20 | FOR THE.; | 000000D0: 43 4F 4D 4D 4F 44 4F 52 45 20 20 36 34 20 26 20 |COMMODORE 64 & | 000000E0: 31 32 38 0D 3B 0D 3B 20 20 20 20 20 42 59 20 20 |128.;.; BY | 000000F0: 49 41 4E 20 20 41 44 41 4D 0D 3B 20 20 20 20 20 |IAN ADAM.; | 00000100: 56 41 4E 43 4F 55 56 45 52 20 20 42 43 0D 3B 0D |VANCOUVER BC.;.| 00000110: 3B 20 20 20 20 20 4D 41 52 43 48 20 20 20 20 31 |; MARCH 1| 00000120: 39 38 37 0D 3B 0D 3B 0D 3B 20 54 48 45 20 53 43 |987.;.;.; THE SC| 00000130: 52 45 45 4E 20 49 4D 41 47 45 20 49 53 20 50 4C |REEN IMAGE IS PL| 00000140: 4F 54 54 45 44 20 31 0D 3B 20 4C 49 4E 45 20 41 |OTTED 1.; LINE A| 00000150: 54 20 41 20 54 49 4D 45 2E 20 20 45 41 43 48 20 |T A TIME. EACH | 00000160: 50 49 58 45 4C 0D 3B 20 44 45 50 45 4E 44 53 20 |PIXEL.; DEPENDS | 00000170: 4F 4E 20 54 48 45 20 53 55 4D 20 4F 46 20 54 48 |ON THE SUM OF TH| 00000180: 45 20 33 0D 3B 20 50 49 58 45 4C 53 20 41 42 4F |E 3.; PIXELS ABO| 00000190: 56 45 2C 20 55 53 49 4E 47 20 41 20 50 52 45 53 |VE, USING A PRES| 000001A0: 45 54 0D 3B 20 43 4F 44 45 20 53 55 50 50 4C 49 |ET.; CODE SUPPLI| 000001B0: 45 44 20 42 59 20 54 48 45 20 55 53 45 52 2E 0D |ED BY THE USER..| 000001C0: 3B 0D 20 5A 50 20 20 20 20 20 3D 20 24 41 36 20 |;. ZP = $A6 | 000001D0: 3B 38 20 42 59 54 45 53 20 54 45 4D 50 4F 52 41 |;8 BYTES TEMPORA| 000001E0: 52 59 0D 20 52 4F 57 53 20 20 20 3D 20 24 41 36 |RY. ROWS = $A6| 000001F0: 0D 20 43 4F 4C 55 4D 4E 20 3D 20 24 41 37 0D 20 |. COLUMN = $A7. | 00000200: 42 49 54 53 20 20 20 3D 20 24 41 38 0D 20 41 56 |BITS = $A8. AV| 00000210: 41 4C 20 20 20 3D 20 24 41 39 0D 20 42 56 41 4C |AL = $A9. BVAL| 00000220: 20 20 20 3D 20 24 41 41 0D 20 41 44 52 45 41 44 | = $AA. ADREAD| 00000230: 20 3D 20 24 46 41 20 3B 52 45 41 44 20 41 44 44 | = $FA ;READ ADD| 00000240: 52 45 53 53 0D 20 41 44 57 52 49 54 20 3D 20 24 |RESS. ADWRIT = $| 00000250: 46 43 20 3B 57 52 49 54 45 20 41 44 44 52 45 53 |FC ;WRITE ADDRES| 00000260: 53 0D 20 4F 55 54 50 55 54 20 3D 20 24 46 45 0D |S. OUTPUT = $FE.| 00000270: 20 53 43 52 45 45 4E 20 3D 20 24 32 30 30 30 0D | SCREEN = $2000.| 00000280: 20 42 53 4F 55 54 20 20 3D 20 24 46 46 44 32 0D | BSOUT = $FFD2.| 00000290: 20 3B 0D 20 2A 3D 24 31 37 30 30 20 3B 53 41 4D | ;. *=$1700 ;SAM| 000002A0: 45 20 46 4F 52 20 42 4F 54 48 0D 20 3B 0D 20 43 |E FOR BOTH. ;. C| 000002B0: 4F 44 45 53 20 2A 3D 2A 2B 31 30 20 3B 54 48 45 |ODES *=*+10 ;THE| 000002C0: 53 45 20 41 52 45 20 54 48 45 20 52 55 4C 45 53 |SE ARE THE RULES| 000002D0: 0D 20 3B 20 46 4F 52 20 50 4C 4F 54 54 49 4E 47 |. ; FOR PLOTTING| 000002E0: 20 50 49 58 45 4C 53 20 28 31 30 20 42 59 54 45 | PIXELS (10 BYTE| 000002F0: 53 29 0D 20 3B 0D 20 3B 20 2A 2A 2A 2A 2A 2A 2A |S). ;. ; *******| 00000300: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************| 00000310: 2A 2A 0D 20 3B 20 2A 2A 20 20 20 20 20 20 20 20 |**. ; ** | 00000320: 20 20 20 20 20 20 20 20 20 20 20 20 20 2A 2A 0D | **.| 00000330: 20 3B 20 2A 2A 20 53 54 41 52 54 20 50 4C 4F 54 | ; ** START PLOT| 00000340: 54 49 4E 47 20 48 45 52 45 20 2A 2A 0D 20 3B 20 |TING HERE **. ; | 00000350: 2A 2A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |** | 00000360: 20 20 20 20 20 20 20 2A 2A 0D 20 3B 20 2A 2A 2A | **. ; ***| 00000370: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************| 00000380: 2A 2A 2A 2A 2A 2A 0D 3B 0D 2A 3D 24 31 37 30 43 |******.;.*=$170C| 00000390: 20 3B 46 52 49 45 4E 44 4C 59 20 41 44 44 52 45 | ;FRIENDLY ADDRE| 000003A0: 53 53 20 28 35 39 30 30 29 0D 3B 0D 3B 20 53 45 |SS (5900).;.; SE| 000003B0: 54 20 55 50 20 50 4F 49 4E 54 45 52 53 0D 3B 0D |T UP POINTERS.;.| 000003C0: 20 4C 44 59 20 23 3E 53 43 52 45 45 4E 20 3B 53 | LDY #>SCREEN ;S| 000003D0: 45 54 20 41 44 44 52 45 53 53 45 53 0D 20 53 54 |ET ADDRESSES. ST| 000003E0: 59 20 41 44 52 45 41 44 2B 31 0D 20 53 54 59 20 |Y ADREAD+1. STY | 000003F0: 41 44 57 52 49 54 2B 31 0D 20 4C 44 59 20 23 24 |ADWRIT+1. LDY #$| 00000400: 30 31 0D 20 53 54 59 20 41 44 57 52 49 54 20 3B |01. STY ADWRIT ;| 00000410: 57 52 49 54 45 20 54 4F 20 24 32 30 30 31 0D 20 |WRITE TO $2001. | 00000420: 44 45 59 0D 20 53 54 59 20 41 44 52 45 41 44 20 |DEY. STY ADREAD | 00000430: 3B 52 45 41 44 20 24 32 30 30 30 0D 20 3B 0D 20 |;READ $2000. ;. | 00000440: 4C 44 58 20 23 24 43 37 0D 20 53 54 58 20 52 4F |LDX #$C7. STX RO| 00000450: 57 53 20 3B 31 39 39 20 52 4F 57 53 20 54 4F 20 |WS ;199 ROWS TO | 00000460: 44 4F 0D 3B 0D 3B 20 53 45 54 55 50 20 46 4F 52 |DO.;.; SETUP FOR| 00000470: 20 45 41 43 48 20 52 4F 57 0D 3B 0D 53 54 41 52 | EACH ROW.;.STAR| 00000480: 54 52 20 4C 44 58 20 23 24 32 37 20 3B 34 30 20 |TR LDX #$27 ;40 | 00000490: 42 59 54 45 53 20 50 45 52 20 4C 49 4E 45 0D 20 |BYTES PER LINE. | 000004A0: 53 54 58 20 43 4F 4C 55 4D 4E 0D 20 3B 0D 20 3B |STX COLUMN. ;. ;| 000004B0: 20 41 56 41 4C 20 49 53 20 50 49 58 45 4C 20 41 | AVAL IS PIXEL A| 000004C0: 42 4F 56 45 20 26 20 4C 45 46 54 0D 20 3B 20 42 |BOVE & LEFT. ; B| 000004D0: 56 41 4C 20 52 45 50 52 45 53 45 4E 54 53 20 50 |VAL REPRESENTS P| 000004E0: 49 58 45 4C 20 41 42 4F 56 45 0D 20 3B 20 43 56 |IXEL ABOVE. ; CV| 000004F0: 41 4C 20 49 53 20 50 49 58 45 4C 20 41 42 4F 56 |AL IS PIXEL ABOV| 00000500: 45 20 26 20 52 49 47 48 54 0D 20 3B 0D 20 53 54 |E & RIGHT. ;. ST| 00000510: 59 20 41 56 41 4C 20 3B 41 56 41 4C 20 3D 20 30 |Y AVAL ;AVAL = 0| 00000520: 20 54 4F 20 53 54 41 52 54 20 52 4F 57 0D 3B 0D | TO START ROW.;.| 00000530: 3B 20 50 52 45 50 41 52 45 20 4F 4E 45 20 42 59 |; PREPARE ONE BY| 00000540: 54 45 20 41 54 20 41 20 54 49 4D 45 0D 3B 0D 53 |TE AT A TIME.;.S| 00000550: 54 41 52 54 43 20 4C 44 41 20 28 41 44 52 45 41 |TARTC LDA (ADREA| 00000560: 44 29 2C 59 20 3B 47 45 54 20 42 59 54 45 20 41 |D),Y ;GET BYTE A| 00000570: 42 4F 56 45 0D 20 53 54 41 20 42 49 54 53 0D 20 |BOVE. STA BITS. | 00000580: 3B 0D 20 4C 44 41 20 43 4F 4C 55 4D 4E 0D 20 42 |;. LDA COLUMN. B| 00000590: 45 51 20 47 45 54 31 53 54 0D 20 3B 4E 4F 54 45 |EQ GET1ST. ;NOTE| 000005A0: 3A 20 57 45 20 4E 45 45 44 20 54 48 45 20 46 49 |: WE NEED THE FI| 000005B0: 52 53 54 20 50 49 58 45 4C 0D 20 3B 46 52 4F 4D |RST PIXEL. ;FROM| 000005C0: 20 54 48 45 20 4E 45 58 54 20 42 59 54 45 20 54 | THE NEXT BYTE T| 000005D0: 4F 20 54 48 45 20 52 49 47 48 54 2C 0D 20 3B 54 |O THE RIGHT,. ;T| 000005E0: 4F 20 42 45 20 43 56 41 4C 20 46 4F 52 20 54 48 |O BE CVAL FOR TH| 000005F0: 45 20 34 54 48 20 50 49 58 45 4C 20 4F 46 0D 20 |E 4TH PIXEL OF. | 00000600: 3B 54 48 49 53 20 42 59 54 45 2E 20 4F 4E 20 54 |;THIS BYTE. ON T| 00000610: 48 45 20 4C 41 53 54 20 53 43 52 45 45 4E 0D 20 |HE LAST SCREEN. | 00000620: 3B 42 4C 4F 43 4B 20 4F 46 20 41 20 52 4F 57 2C |;BLOCK OF A ROW,| 00000630: 20 43 4F 55 4E 54 45 52 20 27 43 4F 4C 55 4D 4E | COUNTER 'COLUMN| 00000640: 27 0D 20 3B 57 49 4C 4C 20 42 45 20 5A 45 52 4F |'. ;WILL BE ZERO| 00000650: 2E 20 20 49 4E 20 54 48 49 53 20 43 41 53 45 2C |. IN THIS CASE,| 00000660: 0D 20 3B 41 20 30 20 57 49 4C 4C 20 42 45 20 50 |. ;A 0 WILL BE P| 00000670: 55 54 20 49 4E 54 4F 20 56 41 52 49 41 42 4C 45 |UT INTO VARIABLE| 00000680: 0D 20 3B 43 56 41 4C 20 46 4F 52 20 54 48 45 20 |. ;CVAL FOR THE | 00000690: 4C 41 53 54 20 50 49 58 45 4C 20 49 4E 20 54 48 |LAST PIXEL IN TH| 000006A0: 45 0D 20 3B 52 4F 57 2E 20 49 46 20 4E 4F 54 20 |E. ;ROW. IF NOT | 000006B0: 54 48 45 20 4C 41 53 54 20 42 4C 4F 43 4B 2C 20 |THE LAST BLOCK, | 000006C0: 54 48 45 4E 0D 20 3B 47 45 54 20 41 20 50 49 58 |THEN. ;GET A PIX| 000006D0: 45 4C 20 46 52 4F 4D 20 54 48 45 20 4E 45 58 54 |EL FROM THE NEXT| 000006E0: 20 42 4C 4F 43 4B 3A 0D 20 3B 0D 20 4C 44 59 20 | BLOCK:. ;. LDY | 000006F0: 23 38 0D 20 4C 44 41 20 28 41 44 52 45 41 44 29 |#8. LDA (ADREAD)| 00000700: 2C 59 0D 20 3B 0D 47 45 54 31 53 54 20 41 53 4C |,Y. ;.GET1ST ASL| 00000710: 20 41 0D 20 52 4F 4C 20 42 49 54 53 20 3B 45 58 | A. ROL BITS ;EX| 00000720: 54 52 41 20 50 49 58 45 4C 20 49 4E 54 4F 20 42 |TRA PIXEL INTO B| 00000730: 49 54 53 0D 20 52 4F 4C 20 41 0D 20 52 4F 4C 20 |ITS. ROL A. ROL | 00000740: 42 49 54 53 0D 20 52 4F 4C 20 41 20 3B 41 4E 44 |BITS. ROL A ;AND| 00000750: 20 31 53 54 20 50 49 58 45 4C 20 52 4F 4C 4C 53 | 1ST PIXEL ROLLS| 00000760: 0D 20 41 4E 44 20 23 33 20 3B 49 4E 54 4F 20 41 |. AND #3 ;INTO A| 00000770: 2C 20 54 48 45 4E 0D 20 53 54 41 20 42 56 41 4C |, THEN. STA BVAL| 00000780: 20 3B 2E 2E 2E 49 4E 54 4F 20 42 56 41 4C 0D 3B | ;...INTO BVAL.;| 00000790: 0D 3B 20 50 49 58 45 4C 20 4C 4F 4F 50 20 46 4F |.; PIXEL LOOP FO| 000007A0: 52 20 4F 4E 45 20 42 59 54 45 0D 3B 0D 20 4C 44 |R ONE BYTE.;. LD| 000007B0: 59 20 23 34 20 3B 34 20 50 49 58 45 4C 53 0D 50 |Y #4 ;4 PIXELS.P| 000007C0: 58 4C 4F 4F 50 20 4C 44 41 20 23 30 0D 20 52 4F |XLOOP LDA #0. RO| 000007D0: 4C 20 42 49 54 53 20 3B 47 45 54 20 4F 4E 45 20 |L BITS ;GET ONE | 000007E0: 50 49 58 45 4C 0D 20 52 4F 4C 20 41 0D 20 52 4F |PIXEL. ROL A. RO| 000007F0: 4C 20 42 49 54 53 0D 20 52 4F 4C 20 41 0D 20 50 |L BITS. ROL A. P| 00000800: 48 41 20 3B 54 48 49 53 20 50 49 58 45 4C 20 49 |HA ;THIS PIXEL I| 00000810: 53 20 43 56 41 4C 0D 20 3B 0D 20 41 44 43 20 42 |S CVAL. ;. ADC B| 00000820: 56 41 4C 20 3B 46 4F 52 4D 20 53 55 4D 20 4F 46 |VAL ;FORM SUM OF| 00000830: 20 33 20 50 49 58 45 4C 53 0D 20 41 44 43 20 41 | 3 PIXELS. ADC A| 00000840: 56 41 4C 20 3B 28 43 41 52 52 59 20 49 53 20 43 |VAL ;(CARRY IS C| 00000850: 4C 45 41 52 29 0D 20 54 41 58 0D 20 3B 0D 20 4C |LEAR). TAX. ;. L| 00000860: 44 41 20 42 56 41 4C 20 3B 53 48 49 46 54 20 52 |DA BVAL ;SHIFT R| 00000870: 45 43 4F 52 44 53 20 4F 56 45 52 0D 20 53 54 41 |ECORDS OVER. STA| 00000880: 20 41 56 41 4C 0D 20 50 4C 41 20 3B 47 45 54 20 | AVAL. PLA ;GET | 00000890: 43 56 41 4C 20 42 41 43 4B 0D 20 53 54 41 20 42 |CVAL BACK. STA B| 000008A0: 56 41 4C 0D 20 3B 0D 20 4C 44 41 20 43 4F 44 45 |VAL. ;. LDA CODE| 000008B0: 53 2C 58 20 3B 47 45 54 20 4E 45 57 20 43 4F 4C |S,X ;GET NEW COL| 000008C0: 4F 55 52 20 56 41 4C 55 45 0D 20 41 53 4C 20 4F |OUR VALUE. ASL O| 000008D0: 55 54 50 55 54 20 3B 4D 41 4B 45 20 52 4F 4F 4D |UTPUT ;MAKE ROOM| 000008E0: 20 49 4E 20 42 59 54 45 2C 20 26 0D 20 41 53 4C | IN BYTE, &. ASL| 000008F0: 20 4F 55 54 50 55 54 0D 20 4F 52 41 20 4F 55 54 | OUTPUT. ORA OUT| 00000900: 50 55 54 20 3B 50 55 54 20 50 49 58 45 4C 20 49 |PUT ;PUT PIXEL I| 00000910: 4E 20 53 54 52 45 41 4D 0D 20 53 54 41 20 4F 55 |N STREAM. STA OU| 00000920: 54 50 55 54 0D 20 3B 0D 20 44 45 59 20 3B 4D 4F |TPUT. ;. DEY ;MO| 00000930: 56 45 20 54 4F 20 4E 45 58 54 20 50 49 58 45 4C |VE TO NEXT PIXEL| 00000940: 0D 20 42 4E 45 20 50 58 4C 4F 4F 50 0D 20 3B 0D |. BNE PXLOOP. ;.| 00000950: 20 3B 20 46 49 4E 49 53 48 45 44 20 50 49 58 45 | ; FINISHED PIXE| 00000960: 4C 20 4C 4F 4F 50 20 46 4F 52 0D 20 3B 20 42 59 |L LOOP FOR. ; BY| 00000970: 54 45 2C 20 53 4F 20 4F 55 54 50 55 54 20 54 48 |TE, SO OUTPUT TH| 00000980: 45 20 52 45 53 55 4C 54 3A 0D 20 3B 0D 20 53 54 |E RESULT:. ;. ST| 00000990: 41 20 28 41 44 57 52 49 54 29 2C 59 0D 20 3B 0D |A (ADWRIT),Y. ;.| 000009A0: 20 3B 20 55 50 44 41 54 45 20 41 44 44 52 45 53 | ; UPDATE ADDRES| 000009B0: 53 45 53 3A 0D 20 3B 0D 20 43 4C 43 0D 20 44 45 |SES:. ;. CLC. DE| 000009C0: 43 20 43 4F 4C 55 4D 4E 20 3B 57 48 45 52 45 20 |C COLUMN ;WHERE | 000009D0: 4F 4E 20 53 43 52 45 45 4E 3F 0D 20 42 50 4C 20 |ON SCREEN?. BPL | 000009E0: 4F 4C 44 52 4F 57 0D 3B 0D 3B 20 48 45 52 45 20 |OLDROW.;.; HERE | 000009F0: 42 45 43 41 55 53 45 20 45 4E 44 20 4F 46 20 52 |BECAUSE END OF R| 00000A00: 4F 57 2C 20 53 4F 0D 3B 0D 3B 20 55 50 44 41 54 |OW, SO.;.; UPDAT| 00000A10: 45 20 50 4F 49 4E 54 45 52 53 20 54 4F 20 53 54 |E POINTERS TO ST| 00000A20: 41 52 54 20 4E 45 58 54 20 52 4F 57 0D 3B 0D 20 |ART NEXT ROW.;. | 00000A30: 4C 44 58 20 23 32 20 3B 44 4F 20 41 44 57 52 49 |LDX #2 ;DO ADWRI| 00000A40: 54 20 46 49 52 53 54 0D 4E 45 57 52 57 31 20 4C |T FIRST.NEWRW1 L| 00000A50: 44 41 20 41 44 52 45 41 44 2C 58 0D 20 41 4E 44 |DA ADREAD,X. AND| 00000A60: 20 23 37 0D 20 43 4D 50 20 23 37 20 3B 43 48 45 | #7. CMP #7 ;CHE| 00000A70: 43 4B 20 49 46 20 42 4F 54 54 4F 4D 20 4F 46 20 |CK IF BOTTOM OF | 00000A80: 42 4C 4F 43 4B 0D 20 42 45 51 20 4E 45 57 4C 49 |BLOCK. BEQ NEWLI| 00000A90: 4E 0D 20 3B 0D 20 53 45 43 20 3B 4E 45 58 54 20 |N. ;. SEC ;NEXT | 00000AA0: 50 49 58 45 4C 20 52 4F 57 2C 20 53 55 42 54 52 |PIXEL ROW, SUBTR| 00000AB0: 41 43 54 20 33 31 31 0D 20 4C 44 41 20 41 44 52 |ACT 311. LDA ADR| 00000AC0: 45 41 44 2C 58 0D 20 53 42 43 20 23 24 33 37 0D |EAD,X. SBC #$37.| 00000AD0: 20 53 54 41 20 41 44 52 45 41 44 2C 58 0D 20 4C | STA ADREAD,X. L| 00000AE0: 44 41 20 41 44 52 45 41 44 2B 31 2C 58 0D 20 53 |DA ADREAD+1,X. S| 00000AF0: 42 43 20 23 31 0D 20 53 54 41 20 41 44 52 45 41 |BC #1. STA ADREA| 00000B00: 44 2B 31 2C 58 0D 20 42 4E 45 20 4E 45 57 52 57 |D+1,X. BNE NEWRW| 00000B10: 32 0D 20 3B 0D 4E 45 57 4C 49 4E 20 49 4E 43 20 |2. ;.NEWLIN INC | 00000B20: 41 44 52 45 41 44 2C 58 20 3B 49 46 20 42 4F 54 |ADREAD,X ;IF BOT| 00000B30: 54 4F 4D 20 4F 46 0D 20 42 4E 45 20 4E 45 57 52 |TOM OF. BNE NEWR| 00000B40: 57 32 20 3B 42 4C 4F 43 4B 2C 20 4A 55 53 54 20 |W2 ;BLOCK, JUST | 00000B50: 41 44 44 20 31 0D 20 49 4E 43 20 41 44 52 45 41 |ADD 1. INC ADREA| 00000B60: 44 2B 31 2C 58 0D 20 3B 0D 4E 45 57 52 57 32 20 |D+1,X. ;.NEWRW2 | 00000B70: 44 45 58 20 3B 4E 4F 57 20 44 4F 20 41 44 52 45 |DEX ;NOW DO ADRE| 00000B80: 41 44 0D 20 44 45 58 0D 20 42 45 51 20 4E 45 57 |AD. DEX. BEQ NEW| 00000B90: 52 57 31 0D 20 3B 0D 20 44 45 43 20 52 4F 57 53 |RW1. ;. DEC ROWS| 00000BA0: 20 3B 52 45 41 44 59 20 46 4F 52 20 4E 45 58 54 | ;READY FOR NEXT| 00000BB0: 20 52 4F 57 0D 20 42 4E 45 20 53 54 41 52 54 52 | ROW. BNE STARTR| 00000BC0: 0D 20 52 54 53 0D 3B 0D 3B 20 48 45 52 45 20 42 |. RTS.;.; HERE B| 00000BD0: 45 43 41 55 53 45 20 49 4E 20 4D 49 44 44 4C 45 |ECAUSE IN MIDDLE| 00000BE0: 20 4F 46 20 52 4F 57 0D 3B 0D 3B 20 53 4F 20 4D | OF ROW.;.; SO M| 00000BF0: 4F 56 45 20 54 4F 20 4E 45 58 54 20 42 59 54 45 |OVE TO NEXT BYTE| 00000C00: 0D 3B 0D 4F 4C 44 52 4F 57 20 4C 44 58 20 23 32 |.;.OLDROW LDX #2| 00000C10: 20 3B 53 54 41 52 54 20 57 49 54 48 20 41 44 57 | ;START WITH ADW| 00000C20: 52 49 54 0D 20 3B 0D 4F 4C 44 52 57 32 20 4C 44 |RIT. ;.OLDRW2 LD| 00000C30: 41 20 41 44 52 45 41 44 2C 58 20 3B 4D 49 44 20 |A ADREAD,X ;MID | 00000C40: 43 4F 4C 55 4D 4E 20 53 4F 0D 20 41 44 43 20 23 |COLUMN SO. ADC #| 00000C50: 38 20 3B 4D 4F 56 45 20 4F 56 45 52 20 4F 4E 45 |8 ;MOVE OVER ONE| 00000C60: 20 42 59 54 45 0D 20 53 54 41 20 41 44 52 45 41 | BYTE. STA ADREA| 00000C70: 44 2C 58 0D 20 42 43 43 20 4F 4C 44 52 57 33 0D |D,X. BCC OLDRW3.| 00000C80: 20 49 4E 43 20 41 44 52 45 41 44 2B 31 2C 58 0D | INC ADREAD+1,X.| 00000C90: 20 43 4C 43 0D 20 3B 0D 4F 4C 44 52 57 33 20 44 | CLC. ;.OLDRW3 D| 00000CA0: 45 58 0D 20 44 45 58 0D 20 42 45 51 20 4F 4C 44 |EX. DEX. BEQ OLD| 00000CB0: 52 57 32 20 3B 4E 4F 57 20 44 4F 20 41 44 52 45 |RW2 ;NOW DO ADRE| 00000CC0: 41 44 0D 20 4A 4D 50 20 53 54 41 52 54 43 20 3B |AD. JMP STARTC ;| 00000CD0: 53 54 41 52 54 20 4E 45 58 54 20 43 4F 4C 55 4D |START NEXT COLUM| 00000CE0: 4E 0D 3B 0D 20 3B 0D 20 3B 20 2A 2A 2A 2A 2A 2A |N.;. ;. ; ******| 00000CF0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************| 00000D00: 0D 20 3B 20 2A 2A 20 20 20 20 20 20 20 20 20 20 |. ; ** | 00000D10: 20 20 20 20 20 20 20 20 2A 2A 0D 20 3B 20 2A 2A | **. ; **| 00000D20: 20 53 43 52 45 45 4E 20 44 55 4D 50 20 48 45 52 | SCREEN DUMP HER| 00000D30: 45 20 2A 2A 0D 20 3B 20 2A 2A 20 20 20 20 20 20 |E **. ; ** | 00000D40: 20 20 20 20 20 20 20 20 20 20 20 20 2A 2A 0D 20 | **. | 00000D50: 3B 20 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |; **************| 00000D60: 2A 2A 2A 2A 2A 2A 2A 2A 0D 3B 0D 52 4F 57 4F 55 |********.;.ROWOU| 00000D70: 54 20 3D 20 41 44 57 52 49 54 0D 43 4F 4C 4F 55 |T = ADWRIT.COLOU| 00000D80: 54 20 3D 20 41 44 57 52 49 54 2B 31 0D 3B 0D 4D |T = ADWRIT+1.;.M| 00000D90: 45 53 53 41 47 20 2E 42 59 54 20 32 37 2C 36 35 |ESSAG .BYT 27,65| 00000DA0: 2C 38 2C 31 33 2C 31 30 2C 32 37 2C 37 35 2C 36 |,8,13,10,27,75,6| 00000DB0: 34 2C 31 0D 3B 0D 3B 20 32 37 2C 36 35 2C 38 20 |4,1.;.; 27,65,8 | 00000DC0: 53 45 54 53 20 47 52 41 50 48 49 43 53 20 4C 49 |SETS GRAPHICS LI| 00000DD0: 4E 45 46 45 45 44 0D 3B 20 31 33 2C 31 30 20 20 |NEFEED.; 13,10 | 00000DE0: 20 49 53 20 43 41 52 52 49 41 47 45 20 52 45 54 | IS CARRIAGE RET| 00000DF0: 55 52 4E 20 26 20 4C 46 0D 3B 20 32 37 2C 37 35 |URN & LF.; 27,75| 00000E00: 2C 36 34 2C 31 20 46 4F 52 20 33 32 30 20 47 52 |,64,1 FOR 320 GR| 00000E10: 41 50 48 49 43 53 20 42 59 54 45 53 0D 3B 20 43 |APHICS BYTES.; C| 00000E20: 48 41 4E 47 45 20 54 48 45 53 45 20 46 4F 52 20 |HANGE THESE FOR | 00000E30: 4F 54 48 45 52 20 50 52 49 4E 54 45 52 53 0D 3B |OTHER PRINTERS.;| 00000E40: 0D 3B 0D 3B 20 50 52 49 4E 54 45 52 20 49 53 20 |.;.; PRINTER IS | 00000E50: 41 4C 52 45 41 44 59 20 41 43 43 45 53 53 45 44 |ALREADY ACCESSED| 00000E60: 20 41 53 0D 3B 20 C3 CD C4 20 46 49 4C 45 20 42 | AS.; ... FILE B| 00000E70: 59 20 C2 C1 D3 C9 C3 20 50 52 4F 47 52 41 4D 0D |Y ..... PROGRAM.| 00000E80: 3B 0D 3B 0D 2A 20 3D 20 24 31 37 41 43 20 3B 36 |;.;.* = $17AC ;6| 00000E90: 30 36 30 20 49 53 20 41 20 46 52 49 45 4E 44 4C |060 IS A FRIENDL| 00000EA0: 59 20 53 54 41 52 54 0D 3B 0D 3B 20 53 45 54 20 |Y START.;.; SET | 00000EB0: 55 50 20 50 4F 49 4E 54 45 52 0D 3B 0D 20 4C 44 |UP POINTER.;. LD| 00000EC0: 59 20 23 3E 53 43 52 45 45 4E 20 3B 53 45 54 20 |Y #>SCREEN ;SET | 00000ED0: 53 43 52 45 45 4E 20 41 44 44 52 45 53 53 0D 20 |SCREEN ADDRESS. | 00000EE0: 53 54 59 20 41 44 52 45 41 44 2B 31 0D 20 4C 44 |STY ADREAD+1. LD| 00000EF0: 59 20 23 24 30 30 0D 20 53 54 59 20 41 44 52 45 |Y #$00. STY ADRE| 00000F00: 41 44 0D 20 4C 44 59 20 23 24 31 39 0D 20 53 54 |AD. LDY #$19. ST| 00000F10: 59 20 52 4F 57 4F 55 54 20 3B 32 35 20 52 4F 57 |Y ROWOUT ;25 ROW| 00000F20: 53 20 54 4F 20 44 4F 0D 3B 0D 3B 20 53 45 54 20 |S TO DO.;.; SET | 00000F30: 55 50 20 46 4F 52 20 52 4F 57 20 4F 46 20 33 32 |UP FOR ROW OF 32| 00000F40: 30 20 42 59 54 45 53 0D 3B 0D 4F 50 52 4F 57 20 |0 BYTES.;.OPROW | 00000F50: 4C 44 59 20 23 30 0D 4C 49 4E 4D 53 47 20 4C 44 |LDY #0.LINMSG LD| 00000F60: 41 20 4D 45 53 53 41 47 2C 59 0D 20 4A 53 52 20 |A MESSAG,Y. JSR | 00000F70: 42 53 4F 55 54 0D 20 49 4E 59 0D 20 43 50 59 20 |BSOUT. INY. CPY | 00000F80: 23 39 0D 20 42 4E 45 20 4C 49 4E 4D 53 47 0D 20 |#9. BNE LINMSG. | 00000F90: 3B 0D 20 4C 44 59 20 23 24 32 38 20 3B 4F 55 54 |;. LDY #$28 ;OUT| 00000FA0: 50 55 54 20 34 30 20 43 4F 4C 55 4D 4E 53 0D 20 |PUT 40 COLUMNS. | 00000FB0: 53 54 59 20 43 4F 4C 4F 55 54 0D 20 3B 0D 42 4C |STY COLOUT. ;.BL| 00000FC0: 4F 43 4B 20 4C 44 59 20 23 37 20 3B 4F 4E 45 20 |OCK LDY #7 ;ONE | 00000FD0: 42 4C 4F 43 4B 20 4F 46 20 38 20 42 59 54 45 53 |BLOCK OF 8 BYTES| 00000FE0: 0D 42 59 54 45 4C 50 20 4C 44 41 20 28 41 44 52 |.BYTELP LDA (ADR| 00000FF0: 45 41 44 29 2C 59 0D 20 3B 0D 20 3B 20 52 45 4F |EAD),Y. ;. ; REO| 00001000: 52 49 45 4E 54 20 42 59 54 45 53 20 39 30 20 44 |RIENT BYTES 90 D| 00001010: 45 47 52 45 45 53 0D 20 3B 0D 20 3B 20 53 43 52 |EGREES. ;. ; SCR| 00001020: 45 45 4E 20 42 59 54 45 53 20 41 52 45 20 48 4F |EEN BYTES ARE HO| 00001030: 52 49 5A 4F 4E 54 41 4C 0D 20 3B 20 50 52 49 4E |RIZONTAL. ; PRIN| 00001040: 54 45 52 20 42 59 54 45 53 20 41 52 45 20 56 45 |TER BYTES ARE VE| 00001050: 52 54 49 43 41 4C 0D 20 3B 0D 20 4C 44 58 20 23 |RTICAL. ;. LDX #| 00001060: 37 0D 52 4F 54 41 54 45 20 52 4F 4C 20 41 20 3B |7.ROTATE ROL A ;| 00001070: 4F 4E 45 20 42 49 54 20 49 4E 54 4F 20 45 41 43 |ONE BIT INTO EAC| 00001080: 48 0D 20 52 4F 52 20 5A 50 2C 58 20 3B 20 4F 46 |H. ROR ZP,X ; OF| 00001090: 20 38 20 42 59 54 45 53 0D 20 3B 43 48 41 4E 47 | 8 BYTES. ;CHANG| 000010A0: 45 20 52 4F 52 20 54 4F 20 52 4F 4C 20 49 46 20 |E ROR TO ROL IF | 000010B0: 59 4F 55 52 0D 20 3B 50 52 49 4E 54 45 52 20 44 |YOUR. ;PRINTER D| 000010C0: 4F 45 53 20 47 52 41 50 48 49 43 53 20 49 4E 56 |OES GRAPHICS INV| 000010D0: 45 52 54 45 44 0D 20 3B 0D 20 44 45 58 0D 20 42 |ERTED. ;. DEX. B| 000010E0: 50 4C 20 52 4F 54 41 54 45 0D 20 3B 0D 20 44 45 |PL ROTATE. ;. DE| 000010F0: 59 0D 20 42 50 4C 20 42 59 54 45 4C 50 0D 3B 0D |Y. BPL BYTELP.;.| 00001100: 3B 20 4D 4F 56 45 20 50 4F 49 4E 54 45 52 20 38 |; MOVE POINTER 8| 00001110: 20 42 59 54 45 53 0D 3B 20 46 4F 52 20 4E 45 58 | BYTES.; FOR NEX| 00001120: 54 20 53 43 52 45 45 4E 20 42 4C 4F 43 4B 0D 3B |T SCREEN BLOCK.;| 00001130: 0D 20 4C 44 41 20 23 37 0D 20 54 41 58 0D 20 53 |. LDA #7. TAX. S| 00001140: 45 43 0D 20 41 44 43 20 41 44 52 45 41 44 0D 20 |EC. ADC ADREAD. | 00001150: 53 54 41 20 41 44 52 45 41 44 0D 20 42 43 43 20 |STA ADREAD. BCC | 00001160: 4F 50 4C 4F 4F 50 0D 20 49 4E 43 20 41 44 52 45 |OPLOOP. INC ADRE| 00001170: 41 44 2B 31 0D 3B 0D 3B 20 4F 55 54 50 55 54 20 |AD+1.;.; OUTPUT | 00001180: 38 20 42 59 54 45 53 0D 3B 0D 4F 50 4C 4F 4F 50 |8 BYTES.;.OPLOOP| 00001190: 20 4C 44 41 20 5A 50 2C 58 0D 20 4A 53 52 20 42 | LDA ZP,X. JSR B| 000011A0: 53 4F 55 54 0D 20 44 45 58 0D 20 42 50 4C 20 4F |SOUT. DEX. BPL O| 000011B0: 50 4C 4F 4F 50 0D 3B 0D 3B 20 55 50 44 41 54 45 |PLOOP.;.; UPDATE| 000011C0: 20 43 4F 55 4E 54 45 52 53 0D 3B 0D 20 44 45 43 | COUNTERS.;. DEC| 000011D0: 20 43 4F 4C 4F 55 54 20 3B 4E 45 58 54 20 43 4F | COLOUT ;NEXT CO| 000011E0: 4C 55 4D 4E 0D 20 42 4E 45 20 42 4C 4F 43 4B 0D |LUMN. BNE BLOCK.| 000011F0: 20 3B 0D 20 44 45 43 20 52 4F 57 4F 55 54 20 3B | ;. DEC ROWOUT ;| 00001200: 4E 45 58 54 20 52 4F 57 0D 20 42 4E 45 20 4F 50 |NEXT ROW. BNE OP| 00001210: 52 4F 57 0D 20 3B 0D 20 52 54 53 0D 20 3B 0D 20 |ROW. ;. RTS. ;. | 00001220: 3B 20 C2 C1 D3 C9 C3 20 54 41 4B 45 53 20 43 41 |; ..... TAKES CA| 00001230: 52 45 20 4F 46 20 55 4E 4C 49 53 54 45 4E 49 4E |RE OF UNLISTENIN| 00001240: 47 0D 20 3B 20 41 4E 44 20 43 4C 4F 53 49 4E 47 |G. ; AND CLOSING| 00001250: 20 50 52 49 4E 54 45 52 20 46 49 4C 45 2E 0D 20 | PRINTER FILE.. | 00001260: 3B 0D 2E 45 4E 44 0D |;..END. |
; *******************.; **
**.; ** CELLULAR **.; ** AUT
OMATA **.; ** **.; **
*****************.;.;.;.; GEOMETRIC CO
MPUTER.; ARTFORMS.;.; FOR
THE.; COMMODORE 64 & 128.;.; BY
IAN ADAM.; VANCOUVER BC.;.; MA
RCH 1987.;.;.; THE SCREEN IMAGE IS PL
OTTED 1.; LINE AT A TIME. EACH PIXEL.;
DEPENDS ON THE SUM OF THE 3.; PIXELS ABO
VE, USING A PRESET.; CODE SUPPLIED BY TH
E USER..;. ZP = $A6 ;8 BYTES TEMPORA
RY. ROWS = $A6. COLUMN = $A7. BITS =
$A8. AVAL = $A9. BVAL = $AA. ADREAD
= $FA ;READ ADDRESS. ADWRIT = $FC ;WRIT
E ADDRESS. OUTPUT = $FE. SCREEN = $2000.
BSOUT = $FFD2. ;. *=$1700 ;SAME FOR BO
TH. ;. CODES *=*+10 ;THESE ARE THE RULES
. ; FOR PLOTTING PIXELS (10 BYTES). ;. ;
*************************. ; **
**. ; ** START PLOTTING HER
E **. ; ** **. ; ***
**********************.;.*=$170C ;FRIEND
LY ADDRESS (5900).;.; SET UP POINTERS.;.
LDY #>SCREEN ;SET ADDRESSES. STY ADREAD
+1. STY ADWRIT+1. LDY #$01. STY ADWRIT ;
WRITE TO $2001. DEY. STY ADREAD ;READ $2
000. ;. LDX #$C7. STX ROWS ;199 ROWS TO
DO.;.; SETUP FOR EACH ROW.;.STARTR LDX #
$27 ;40 BYTES PER LINE. STX COLUMN. ;. ;
AVAL IS PIXEL ABOVE & LEFT. ; BVAL REPR
ESENTS PIXEL ABOVE. ; CVAL IS PIXEL ABOV
E & RIGHT. ;. STY AVAL ;AVAL = 0 TO STAR
T ROW.;.; PREPARE ONE BYTE AT A TIME.;.S
TARTC LDA (ADREAD),Y ;GET BYTE ABOVE. ST
A BITS. ;. LDA COLUMN. BEQ GET1ST. ;NOTE
: WE NEED THE FIRST PIXEL. ;FROM THE NEX
T BYTE TO THE RIGHT,. ;TO BE CVAL FOR TH
E 4TH PIXEL OF. ;THIS BYTE. ON THE LAST
SCREEN. ;BLOCK OF A ROW, COUNTER 'COLUMN
'. ;WILL BE ZERO. IN THIS CASE,. ;A 0 W
ILL BE PUT INTO VARIABLE. ;CVAL FOR THE
LAST PIXEL IN THE. ;ROW. IF NOT THE LAST
BLOCK, THEN. ;GET A PIXEL FROM THE NEXT
BLOCK:. ;. LDY #8. LDA (ADREAD),Y. ;.GE
T1ST ASL A. ROL BITS ;EXTRA PIXEL INTO B
ITS. ROL A. ROL BITS. ROL A ;AND 1ST PIX
EL ROLLS. AND #3 ;INTO A, THEN. STA BVAL
;...INTO BVAL.;.; PIXEL LOOP FOR ONE BY
TE.;. LDY #4 ;4 PIXELS.PXLOOP LDA #0. RO
L BITS ;GET ONE PIXEL. ROL A. ROL BITS.
ROL A. PHA ;THIS PIXEL IS CVAL. ;. ADC B
VAL ;FORM SUM OF 3 PIXELS. ADC AVAL ;(CA
RRY IS CLEAR). TAX. ;. LDA BVAL ;SHIFT R
ECORDS OVER. STA AVAL. PLA ;GET CVAL BAC
K. STA BVAL. ;. LDA CODES,X ;GET NEW COL
OUR VALUE. ASL OUTPUT ;MAKE ROOM IN BYTE
, &. ASL OUTPUT. ORA OUTPUT ;PUT PIXEL I
N STREAM. STA OUTPUT. ;. DEY ;MOVE TO NE
XT PIXEL. BNE PXLOOP. ;. ; FINISHED PIXE
L LOOP FOR. ; BYTE, SO OUTPUT THE RESULT
:. ;. STA (ADWRIT),Y. ;. ; UPDATE ADDRES
SES:. ;. CLC. DEC COLUMN ;WHERE ON SCREE
N?. BPL OLDROW.;.; HERE BECAUSE END OF R
OW, SO.;.; UPDATE POINTERS TO START NEXT
ROW.;. LDX #2 ;DO ADWRIT FIRST.NEWRW1 L
DA ADREAD,X. AND #7. CMP #7 ;CHECK IF BO
TTOM OF BLOCK. BEQ NEWLIN. ;. SEC ;NEXT
PIXEL ROW, SUBTRACT 311. LDA ADREAD,X. S
BC #$37. STA ADREAD,X. LDA ADREAD+1,X. S
BC #1. STA ADREAD+1,X. BNE NEWRW2. ;.NEW
LIN INC ADREAD,X ;IF BOTTOM OF. BNE NEWR
W2 ;BLOCK, JUST ADD 1. INC ADREAD+1,X. ;
.NEWRW2 DEX ;NOW DO ADREAD. DEX. BEQ NEW
RW1. ;. DEC ROWS ;READY FOR NEXT ROW. BN
E STARTR. RTS.;.; HERE BECAUSE IN MIDDLE
OF ROW.;.; SO MOVE TO NEXT BYTE.;.OLDRO
W LDX #2 ;START WITH ADWRIT. ;.OLDRW2 LD
A ADREAD,X ;MID COLUMN SO. ADC #8 ;MOVE
OVER ONE BYTE. STA ADREAD,X. BCC OLDRW3.
INC ADREAD+1,X. CLC. ;.OLDRW3 DEX. DEX.
BEQ OLDRW2 ;NOW DO ADREAD. JMP STARTC ;
START NEXT COLUMN.;. ;. ; **************
********. ; ** **. ; **
SCREEN DUMP HERE **. ; **
**. ; **********************.;.ROWOU
T = ADWRIT.COLOUT = ADWRIT+1.;.MESSAG .B
YT 27,65,8,13,10,27,75,64,1.;.; 27,65,8
SETS GRAPHICS LINEFEED.; 13,10 IS CARR
IAGE RETURN & LF.; 27,75,64,1 FOR 320 GR
APHICS BYTES.; CHANGE THESE FOR OTHER PR
INTERS.;.;.; PRINTER IS ALREADY ACCESSED
AS.; CMD FILE BY BASIC PROGRAM.;.;.* =
$17AC ;6060 IS A FRIENDLY START.;.; SET
UP POINTER.;. LDY #>SCREEN ;SET SCREEN A
DDRESS. STY ADREAD+1. LDY #$00. STY ADRE
AD. LDY #$19. STY ROWOUT ;25 ROWS TO DO.
;.; SET UP FOR ROW OF 320 BYTES.;.OPROW
LDY #0.LINMSG LDA MESSAG,Y. JSR BSOUT. I
NY. CPY #9. BNE LINMSG. ;. LDY #$28 ;OUT
PUT 40 COLUMNS. STY COLOUT. ;.BLOCK LDY
#7 ;ONE BLOCK OF 8 BYTES.BYTELP LDA (ADR
EAD),Y. ;. ; REORIENT BYTES 90 DEGREES.
;. ; SCREEN BYTES ARE HORIZONTAL. ; PRIN
TER BYTES ARE VERTICAL. ;. LDX #7.ROTATE
ROL A ;ONE BIT INTO EACH. ROR ZP,X ; OF
8 BYTES. ;CHANGE ROR TO ROL IF YOUR. ;P
RINTER DOES GRAPHICS INVERTED. ;. DEX. B
PL ROTATE. ;. DEY. BPL BYTELP.;.; MOVE P
OINTER 8 BYTES.; FOR NEXT SCREEN BLOCK.;
. LDA #7. TAX. SEC. ADC ADREAD. STA ADRE
AD. BCC OPLOOP. INC ADREAD+1.;.; OUTPUT
8 BYTES.;.OPLOOP LDA ZP,X. JSR BSOUT. DE
X. BPL OPLOOP.;.; UPDATE COUNTERS.;. DEC
COLOUT ;NEXT COLUMN. BNE BLOCK. ;. DEC
ROWOUT ;NEXT ROW. BNE OPROW. ;. RTS. ;.
; BASIC TAKES CARE OF UNLISTENING. ; AND
CLOSING PRINTER FILE.. ;..END.
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL