T.BITS
FILE INFORMATION
FILENAME(S): T.BITS
FILE TYPE(S): PRG
FILE SIZE: 5.4K
FIRST SEEN: 2025-11-30 18:05:27
APPEARS ON: 1 disk(s)
FILE HASH
9fad783804e8ce3fa717547c71f6c93d74b9b8f6e617c0f48d5503e6ae37bce8
FOUND ON DISKS (1 DISKS)
| DISK TITLE | FILENAME | FILE TYPE | COLLECTION | TRACK | SECTOR | ACTIONS |
|---|---|---|---|---|---|---|
| LOADSTAR 69 S 1 | T.BITS | PRG | Xii | 25 | 5 | DOWNLOAD FILE |
FILE CONTENT & ANALYSIS
00000000: 00 80 5E 55 3A 5A 45 52 4F 0D 20 20 20 20 20 20 |..^U:ZERO. | 00000010: 20 20 20 20 C2 C9 D4 D3 3A 20 C3 CF D0 D9 CD C5 | ....: ......| 00000020: CD 20 31 39 39 30 0D 0D 20 20 20 20 20 20 20 20 |. 1990.. | 00000030: 20 20 20 42 59 20 C6 45 4E 44 45 52 20 D4 55 43 | BY .ENDER .UC| 00000040: 4B 45 52 0D 0D 20 20 20 20 C9 20 41 4D 20 41 20 |KER.. . AM A | 00000050: C2 C1 D3 C9 C3 20 50 52 4F 47 52 41 4D 4D 45 52 |..... PROGRAMMER| 00000060: 2E 20 20 D4 48 45 0D 4F 4E 4C 59 20 54 49 4D 45 |. .HE.ONLY TIME| 00000070: 20 C9 20 4C 49 4B 45 20 4D 41 43 48 49 4E 45 20 | . LIKE MACHINE | 00000080: 4C 41 4E 47 55 41 47 45 20 4F 52 0D 43 4F 4D 50 |LANGUAGE OR.COMP| 00000090: 49 4C 49 4E 47 20 49 53 20 57 48 45 4E 20 C2 C1 |ILING IS WHEN ..| 000000A0: D3 C9 C3 20 49 53 20 54 4F 4F 20 53 4C 4F 57 2E |... IS TOO SLOW.| 000000B0: 0D C9 20 47 45 54 20 41 20 53 45 4E 53 45 20 4F |.. GET A SENSE O| 000000C0: 46 20 52 45 41 4C 20 53 41 54 49 53 46 41 43 54 |F REAL SATISFACT| 000000D0: 49 4F 4E 0D 57 48 45 4E 20 C9 20 53 45 45 20 41 |ION.WHEN . SEE A| 000000E0: 20 50 52 4F 42 4C 45 4D 20 49 4E 20 41 20 50 52 | PROBLEM IN A PR| 000000F0: 4F 47 52 41 4D 2C 0D 42 52 45 41 4B 20 4F 55 54 |OGRAM,.BREAK OUT| 00000100: 20 4F 46 20 49 54 2C 20 4C 49 53 54 20 49 54 2C | OF IT, LIST IT,| 00000110: 20 4D 41 4B 45 20 54 48 45 0D 43 48 41 4E 47 45 | MAKE THE.CHANGE| 00000120: 20 57 49 54 48 20 54 48 45 20 48 41 4E 44 59 20 | WITH THE HANDY | 00000130: 4F 4E 2D 53 43 52 45 45 4E 0D 45 44 49 54 4F 52 |ON-SCREEN.EDITOR| 00000140: 2C 20 41 4E 44 20 D2 D5 CE 20 49 54 20 49 4D 4D |, AND ... IT IMM| 00000150: 45 44 49 41 54 45 4C 59 2E 0D 0D 20 20 20 20 D9 |EDIATELY... .| 00000160: 45 54 20 C9 27 56 45 20 57 52 49 54 54 45 4E 20 |ET .'VE WRITTEN | 00000170: 53 45 56 45 52 41 4C 20 C2 C9 D4 D3 0D 41 52 54 |SEVERAL .....ART| 00000180: 49 43 4C 45 53 20 41 42 4F 55 54 20 CD CC 20 52 |ICLES ABOUT .. R| 00000190: 4F 55 54 49 4E 45 53 20 54 48 41 54 20 57 45 0D |OUTINES THAT WE.| 000001A0: 55 53 45 20 41 4C 4C 20 54 48 45 20 54 49 4D 45 |USE ALL THE TIME| 000001B0: 20 48 45 52 45 20 41 54 20 CC CF C1 C4 D3 D4 C1 | HERE AT .......| 000001C0: D2 2E 0D C9 20 45 56 45 4E 20 41 44 56 49 53 45 |.... EVEN ADVISE| 000001D0: 20 59 4F 55 20 54 4F 20 55 53 45 20 54 48 45 4D | YOU TO USE THEM| 000001E0: 20 49 4E 20 59 4F 55 52 0D 52 4F 55 54 49 4E 45 | IN YOUR.ROUTINE| 000001F0: 53 2E 0D 0D 0D 20 20 20 20 D7 48 45 4E 20 49 53 |S.... .HEN IS| 00000200: 20 C2 C1 D3 C9 C3 20 54 4F 4F 20 53 4C 4F 57 3F | ..... TOO SLOW?| 00000210: 20 20 D5 53 55 41 4C 4C 59 0D 57 48 45 4E 20 41 | .SUALLY.WHEN A| 00000220: 20 4C 4F 54 20 4F 46 20 4D 45 4D 4F 52 59 20 4E | LOT OF MEMORY N| 00000230: 45 45 44 53 20 54 4F 20 42 45 0D 4D 4F 56 45 44 |EEDS TO BE.MOVED| 00000240: 2E 20 20 D9 4F 55 20 4D 41 59 20 52 45 4D 45 4D |. .OU MAY REMEM| 00000250: 42 45 52 20 52 45 41 44 49 4E 47 20 49 4E 0D 59 |BER READING IN.Y| 00000260: 4F 55 52 20 D0 52 4F 47 52 41 4D 4D 45 52 27 53 |OUR .ROGRAMMER'S| 00000270: 20 D2 45 46 45 52 45 4E 43 45 20 C7 55 49 44 45 | .EFERENCE .UIDE| 00000280: 0D 41 42 4F 55 54 20 48 4F 57 20 54 4F 20 4D 4F |.ABOUT HOW TO MO| 00000290: 56 45 20 54 48 45 20 43 48 41 52 41 43 54 45 52 |VE THE CHARACTER| 000002A0: 20 53 45 54 0D 4F 55 54 20 4F 46 20 D2 CF CD 20 | SET.OUT OF ... | 000002B0: 49 4E 54 4F 20 D2 C1 CD 20 53 4F 20 59 4F 55 20 |INTO ... SO YOU | 000002C0: 43 41 4E 20 4D 4F 44 49 46 59 0D 49 54 2E 20 20 |CAN MODIFY.IT. | 000002D0: CF 4E 20 50 41 47 45 20 31 31 30 2C 20 49 54 20 |.N PAGE 110, IT | 000002E0: 48 41 53 20 54 48 49 53 20 43 4F 44 45 3A 0D 0D |HAS THIS CODE:..| 000002F0: 34 30 20 C6 CF D2 C9 3D 30 D4 CF 35 31 31 3A D0 |40 ....=0..511:.| 00000300: CF CB C5 C9 2B 31 32 32 38 38 2C D0 C5 C5 CB 28 |....+12288,....(| 00000310: C9 2B 0D 20 20 20 20 35 33 32 34 38 29 3A CE C5 |.+. 53248):..| 00000320: D8 D4 0D 0D C9 54 20 54 41 4B 45 53 20 38 2E 35 |.....T TAKES 8.5| 00000330: 20 53 45 43 4F 4E 44 53 20 54 4F 20 4D 4F 56 45 | SECONDS TO MOVE| 00000340: 20 35 31 32 0D 42 59 54 45 53 2E 20 20 C9 46 20 | 512.BYTES. .F | 00000350: 57 45 20 57 41 4E 54 45 44 20 54 4F 20 42 45 20 |WE WANTED TO BE | 00000360: 41 42 4C 45 20 54 4F 0D 43 55 53 54 4F 4D 49 5A |ABLE TO.CUSTOMIZ| 00000370: 45 20 C1 CC CC 20 4F 46 20 54 48 45 20 32 30 34 |E ... OF THE 204| 00000380: 38 20 42 59 54 45 53 20 54 48 41 54 0D 4D 41 4B |8 BYTES THAT.MAK| 00000390: 45 20 55 50 20 41 20 43 48 41 52 41 43 54 45 52 |E UP A CHARACTER| 000003A0: 20 53 45 54 2C 20 49 54 20 57 4F 55 4C 44 0D 54 | SET, IT WOULD.T| 000003B0: 41 4B 45 20 33 33 2E 39 20 53 45 43 4F 4E 44 53 |AKE 33.9 SECONDS| 000003C0: 2E 0D 0D 0D 0D 20 20 20 20 D4 48 49 53 20 49 53 |..... .HIS IS| 000003D0: 20 50 4C 41 49 4E 4C 59 20 41 20 4A 4F 42 20 46 | PLAINLY A JOB F| 000003E0: 4F 52 20 4D 41 43 48 49 4E 45 0D 4C 41 4E 47 55 |OR MACHINE.LANGU| 000003F0: 41 47 45 2E 20 20 CF 4E 45 20 4C 49 54 54 4C 45 |AGE. .NE LITTLE| 00000400: 20 D3 D9 D3 20 43 4F 4D 4D 41 4E 44 20 43 41 4E | ... COMMAND CAN| 00000410: 0D 44 4F 20 54 48 45 20 53 41 4D 45 20 41 53 20 |.DO THE SAME AS | 00000420: 54 48 45 20 4C 49 4E 45 20 41 42 4F 56 45 20 49 |THE LINE ABOVE I| 00000430: 4E 0D 41 42 4F 55 54 20 4F 4E 45 20 51 55 41 52 |N.ABOUT ONE QUAR| 00000440: 54 45 52 20 4F 46 20 41 20 53 45 43 4F 4E 44 2E |TER OF A SECOND.| 00000450: 0D 0D 34 30 20 D3 D9 D3 34 39 31 35 32 2C 35 33 |..40 ...49152,53| 00000460: 32 34 38 2C 31 32 32 38 38 2C 35 31 32 0D 0D C3 |248,12288,512...| 00000470: CF D0 D9 CD C5 CD 20 31 39 39 30 20 57 4F 52 4B |...... 1990 WORK| 00000480: 53 20 4C 49 4B 45 20 54 48 49 53 2E 20 20 C9 54 |S LIKE THIS. .T| 00000490: 0D 54 41 4B 45 53 20 54 48 45 20 53 50 45 43 49 |.TAKES THE SPECI| 000004A0: 46 49 45 44 20 4E 55 4D 42 45 52 20 4F 46 20 42 |FIED NUMBER OF B| 000004B0: 59 54 45 53 0D 28 35 31 32 2C 20 49 4E 20 54 48 |YTES.(512, IN TH| 000004C0: 49 53 20 43 41 53 45 29 20 46 52 4F 4D 20 54 48 |IS CASE) FROM TH| 000004D0: 45 20 53 4F 55 52 43 45 0D 41 52 45 41 20 28 35 |E SOURCE.AREA (5| 000004E0: 33 32 34 38 29 20 41 4E 44 20 4D 4F 56 45 53 20 |3248) AND MOVES | 000004F0: 54 48 45 4D 20 54 4F 20 54 48 45 0D 44 45 53 54 |THEM TO THE.DEST| 00000500: 49 4E 41 54 49 4F 4E 20 41 52 45 41 20 28 31 32 |INATION AREA (12| 00000510: 32 38 38 29 2E 20 20 D4 48 45 20 53 59 4E 54 41 |288). .HE SYNTA| 00000520: 58 0D 49 53 20 54 48 45 52 45 46 4F 52 45 3A 0D |X.IS THEREFORE:.| 00000530: 0D D3 D9 D3 4D 4C 20 4C 4F 43 41 54 49 4F 4E 2C |....ML LOCATION,| 00000540: 20 53 4F 55 52 43 45 2C 20 44 45 53 54 49 4E 41 | SOURCE, DESTINA| 00000550: 54 49 4F 4E 2C 0D 20 20 20 20 20 20 20 20 4E 55 |TION,. NU| 00000560: 4D 42 45 52 20 4F 46 20 42 59 54 45 53 0D 0D 0D |MBER OF BYTES...| 00000570: 20 20 20 20 D4 48 45 20 41 53 53 45 4D 42 4C 59 | .HE ASSEMBLY| 00000580: 20 53 4F 55 52 43 45 20 43 4F 44 45 20 46 4F 52 | SOURCE CODE FOR| 00000590: 0D C3 CF D0 D9 CD C5 CD 20 31 39 39 30 20 49 53 |........ 1990 IS| 000005A0: 20 4F 4E 20 54 48 45 20 44 49 53 4B 20 49 4E 20 | ON THE DISK IN | 000005B0: 41 20 46 49 4C 45 0D 43 41 4C 4C 45 44 20 22 43 |A FILE.CALLED "C| 000005C0: 4F 50 59 2E 50 41 4C 22 2E 20 20 D9 4F 55 20 43 |OPY.PAL". .OU C| 000005D0: 41 4E 20 4C 49 53 54 0D 49 54 20 4C 49 4B 45 20 |AN LIST.IT LIKE | 000005E0: 41 20 C2 C1 D3 C9 C3 20 50 52 4F 47 52 41 4D 2C |A ..... PROGRAM,| 000005F0: 20 42 55 54 20 59 4F 55 20 4E 45 45 44 0D 54 48 | BUT YOU NEED.TH| 00000600: 45 20 D0 C1 CC 20 41 53 53 45 4D 42 4C 45 52 20 |E ... ASSEMBLER | 00000610: 54 4F 20 41 53 53 45 4D 42 4C 45 20 49 54 2E 20 |TO ASSEMBLE IT. | 00000620: 20 C9 54 0D 49 53 20 43 4F 4D 50 4C 45 54 45 4C | .T.IS COMPLETEL| 00000630: 59 20 52 45 4C 4F 43 41 54 41 42 4C 45 2C 20 53 |Y RELOCATABLE, S| 00000640: 4F 20 59 4F 55 20 43 41 4E 0D 41 53 53 45 4D 42 |O YOU CAN.ASSEMB| 00000650: 4C 45 20 49 54 20 41 4E 59 57 48 45 52 45 2E 20 |LE IT ANYWHERE. | 00000660: 20 CF 4E 20 54 48 45 20 44 49 53 4B 20 57 45 0D | .N THE DISK WE.| 00000670: 55 53 45 20 54 48 45 20 4F 42 4A 45 43 54 20 43 |USE THE OBJECT C| 00000680: 4F 44 45 20 43 41 4C 4C 45 44 20 22 43 4F 50 59 |ODE CALLED "COPY| 00000690: 2E 4F 22 0D 41 4E 44 20 49 54 27 53 20 41 53 53 |.O".AND IT'S ASS| 000006A0: 45 4D 42 4C 45 44 20 41 54 20 34 39 31 35 32 20 |EMBLED AT 49152 | 000006B0: 28 24 43 30 30 30 29 2E 0D D4 48 45 20 43 4F 44 |($C000)...HE COD| 000006C0: 45 20 49 53 20 4F 4E 4C 59 20 38 38 20 42 59 54 |E IS ONLY 88 BYT| 000006D0: 45 53 20 4C 4F 4E 47 20 53 4F 20 49 54 0D 57 49 |ES LONG SO IT.WI| 000006E0: 4C 4C 20 46 49 54 20 49 4E 20 54 48 45 20 43 41 |LL FIT IN THE CA| 000006F0: 53 53 45 54 54 45 20 42 55 46 46 45 52 2C 20 54 |SSETTE BUFFER, T| 00000700: 4F 4F 2E 0D C9 20 57 4F 4E 27 54 20 47 4F 20 49 |OO... WON'T GO I| 00000710: 4E 54 4F 20 48 4F 57 20 54 48 45 20 CD CC 20 57 |NTO HOW THE .. W| 00000720: 4F 52 4B 53 2C 20 42 55 54 0D 54 48 45 20 53 4F |ORKS, BUT.THE SO| 00000730: 55 52 43 45 20 43 4F 44 45 20 49 53 20 43 4F 4D |URCE CODE IS COM| 00000740: 4D 45 4E 54 45 44 2E 20 20 D4 48 45 0D 46 49 52 |MENTED. .HE.FIR| 00000750: 53 54 20 50 41 52 54 20 55 53 45 53 20 53 4F 4D |ST PART USES SOM| 00000760: 45 20 4B 45 52 4E 41 4C 20 52 4F 55 54 49 4E 45 |E KERNAL ROUTINE| 00000770: 53 0D 54 4F 20 41 4C 4C 4F 57 20 54 48 45 20 41 |S.TO ALLOW THE A| 00000780: 44 44 49 54 49 4F 4E 20 4F 46 20 50 41 52 41 4D |DDITION OF PARAM| 00000790: 45 54 45 52 53 0D 54 4F 20 54 48 45 20 D3 D9 D3 |ETERS.TO THE ...| 000007A0: 20 43 4F 4D 4D 41 4E 44 2C 20 53 45 50 41 52 41 | COMMAND, SEPARA| 000007B0: 54 45 44 20 42 59 0D 43 4F 4D 4D 41 53 2E 20 20 |TED BY.COMMAS. | 000007C0: D4 48 45 20 4B 45 52 4E 41 4C 20 52 4F 55 54 49 |.HE KERNAL ROUTI| 000007D0: 4E 45 53 20 41 4C 53 4F 0D 45 56 41 4C 55 41 54 |NES ALSO.EVALUAT| 000007E0: 45 20 41 4C 47 45 42 52 41 49 43 20 45 58 50 52 |E ALGEBRAIC EXPR| 000007F0: 45 53 53 49 4F 4E 53 20 49 46 0D 54 48 45 59 20 |ESSIONS IF.THEY | 00000800: 41 52 45 20 55 53 45 44 20 41 53 20 50 41 52 41 |ARE USED AS PARA| 00000810: 4D 45 54 45 52 53 2E 0D 0D 20 20 20 20 D4 48 45 |METERS... .HE| 00000820: 20 D2 55 4E 20 C9 54 20 44 45 4D 4F 20 53 48 4F | .UN .T DEMO SHO| 00000830: 57 53 20 4F 4E 45 0D 50 4F 53 53 49 42 4C 45 20 |WS ONE.POSSIBLE | 00000840: 55 53 45 20 46 4F 52 20 C3 CF D0 D9 CD C5 CD 20 |USE FOR ....... | 00000850: 31 39 39 30 2E 0D D3 55 50 50 4F 53 45 20 59 4F |1990...UPPOSE YO| 00000860: 55 27 52 45 20 57 52 49 54 49 4E 47 20 41 4E 20 |U'RE WRITING AN | 00000870: 41 44 56 45 4E 54 55 52 45 0D 47 41 4D 45 20 41 |ADVENTURE.GAME A| 00000880: 4E 44 20 59 4F 55 20 57 41 4E 54 20 54 4F 20 48 |ND YOU WANT TO H| 00000890: 41 56 45 20 41 20 41 52 45 41 20 28 4F 52 0D 57 |AVE A AREA (OR.W| 000008A0: 49 4E 44 4F 57 29 20 4F 46 20 54 48 45 20 53 43 |INDOW) OF THE SC| 000008B0: 52 45 45 4E 20 57 48 45 52 45 20 54 48 45 0D 41 |REEN WHERE THE.A| 000008C0: 44 56 45 4E 54 55 52 45 52 27 53 20 4D 4F 56 45 |DVENTURER'S MOVE| 000008D0: 4D 45 4E 54 53 20 41 52 45 20 53 48 4F 57 4E 2E |MENTS ARE SHOWN.| 000008E0: 0D C8 45 27 53 20 4D 4F 56 49 4E 47 20 54 48 52 |..E'S MOVING THR| 000008F0: 4F 55 47 48 20 41 20 48 55 47 45 20 57 4F 52 4C |OUGH A HUGE WORL| 00000900: 44 20 59 4F 55 0D 48 41 56 45 20 4D 41 50 50 45 |D YOU.HAVE MAPPE| 00000910: 44 20 4F 55 54 20 49 4E 20 4D 45 4D 4F 52 59 20 |D OUT IN MEMORY | 00000920: 53 4F 4D 45 57 48 45 52 45 0D 42 55 54 20 59 4F |SOMEWHERE.BUT YO| 00000930: 55 20 43 41 4E 20 4F 4E 4C 59 20 53 45 45 20 48 |U CAN ONLY SEE H| 00000940: 49 53 20 49 4D 4D 45 44 49 41 54 45 0D 45 4E 56 |IS IMMEDIATE.ENV| 00000950: 49 52 4F 4E 53 20 4F 4E 20 54 48 45 20 53 43 52 |IRONS ON THE SCR| 00000960: 45 45 4E 2E 0D 0D 20 20 20 20 D4 48 49 53 20 49 |EEN... .HIS I| 00000970: 53 20 41 20 4E 41 54 55 52 41 4C 20 46 4F 52 20 |S A NATURAL FOR | 00000980: C3 CF D0 D9 CD C5 CD 0D 31 39 39 30 2E 20 20 D0 |........1990. .| 00000990: CF CB C5 49 4E 47 20 54 48 45 20 4D 41 50 20 54 |...ING THE MAP T| 000009A0: 4F 20 54 48 45 20 53 43 52 45 45 4E 0D 57 4F 55 |O THE SCREEN.WOU| 000009B0: 4C 44 20 42 45 20 57 41 59 20 54 4F 4F 20 53 4C |LD BE WAY TOO SL| 000009C0: 4F 57 2E 20 20 D2 55 4E 20 54 48 45 20 44 45 4D |OW. .UN THE DEM| 000009D0: 4F 0D 41 4E 44 20 4E 4F 54 49 43 45 20 48 4F 57 |O.AND NOTICE HOW| 000009E0: 20 45 41 43 48 20 4F 46 20 54 48 45 20 54 57 4F | EACH OF THE TWO| 000009F0: 0D 4F 50 54 49 4F 4E 53 20 57 4F 52 4B 53 2C 20 |.OPTIONS WORKS, | 00000A00: 54 48 45 4E 20 42 52 45 41 4B 20 54 48 45 20 50 |THEN BREAK THE P| 00000A10: 52 4F 47 52 41 4D 0D 54 4F 20 43 48 45 43 4B 20 |ROGRAM.TO CHECK | 00000A20: 4F 55 54 20 54 48 45 20 43 4F 44 45 2E 0D 0D 0D |OUT THE CODE....| 00000A30: 20 20 20 20 CF 4E 43 45 20 59 4F 55 27 56 45 20 | .NCE YOU'VE | 00000A40: 4C 4F 41 44 45 44 20 54 48 45 20 4D 41 50 20 28 |LOADED THE MAP (| 00000A50: 4C 49 4E 45 0D 34 30 29 20 41 4E 44 20 54 48 45 |LINE.40) AND THE| 00000A60: 20 CD CC 20 52 4F 55 54 49 4E 45 20 28 4C 49 4E | .. ROUTINE (LIN| 00000A70: 45 20 35 30 29 2C 20 41 4C 4C 0D 59 4F 55 20 4E |E 50), ALL.YOU N| 00000A80: 45 45 44 20 54 4F 20 44 4F 20 49 53 20 49 4E 56 |EED TO DO IS INV| 00000A90: 4F 4B 45 20 54 48 45 20 D3 D9 D3 0D 43 4F 4D 4D |OKE THE ....COMM| 00000AA0: 41 4E 44 20 43 4F 52 52 45 43 54 4C 59 2E 20 20 |AND CORRECTLY. | 00000AB0: CC 45 54 27 53 20 45 58 41 4D 49 4E 45 20 54 48 |.ET'S EXAMINE TH| 00000AC0: 45 0D 22 41 52 45 41 20 53 43 52 4F 4C 4C 22 20 |E."AREA SCROLL" | 00000AD0: 52 4F 55 54 49 4E 45 2E 20 20 D4 48 45 20 52 45 |ROUTINE. .HE RE| 00000AE0: 41 53 4F 4E 0D 57 48 59 20 49 54 27 53 20 4D 55 |ASON.WHY IT'S MU| 00000AF0: 43 48 20 46 41 53 54 45 52 20 54 48 41 4E 20 54 |CH FASTER THAN T| 00000B00: 48 45 20 22 57 49 4E 44 4F 57 0D 53 43 52 4F 4C |HE "WINDOW.SCROL| 00000B10: 4C 22 20 52 4F 55 54 49 4E 45 20 49 53 20 54 48 |L" ROUTINE IS TH| 00000B20: 41 54 20 4F 4E 4C 59 20 54 57 4F 20 D3 D9 D3 0D |AT ONLY TWO ....| 00000B30: 43 4F 4D 4D 41 4E 44 53 20 41 52 45 20 4E 45 43 |COMMANDS ARE NEC| 00000B40: 45 53 53 41 52 59 2E 20 20 C9 54 20 43 4F 50 49 |ESSARY. .T COPI| 00000B50: 45 53 20 32 34 30 0D 42 59 54 45 53 20 46 52 4F |ES 240.BYTES FRO| 00000B60: 4D 20 54 48 45 20 4D 41 50 20 41 52 45 41 20 28 |M THE MAP AREA (| 00000B70: 31 36 33 34 38 20 4F 52 0D 24 34 30 30 30 29 20 |16348 OR.$4000) | 00000B80: 54 4F 20 54 48 45 20 53 43 52 45 45 4E 20 49 4E |TO THE SCREEN IN| 00000B90: 20 41 4E 20 49 4E 53 54 41 4E 54 2E 0D D4 48 45 | AN INSTANT...HE| 00000BA0: 20 43 4F 50 59 20 49 53 20 44 4F 4E 45 20 49 4E | COPY IS DONE IN| 00000BB0: 20 4C 49 4E 45 20 32 33 30 2E 20 20 D3 49 4E 43 | LINE 230. .INC| 00000BC0: 45 0D 57 45 20 57 41 4E 54 20 43 4F 4C 4F 52 2C |E.WE WANT COLOR,| 00000BD0: 20 54 48 49 53 20 4C 49 4E 45 20 41 4C 53 4F 20 | THIS LINE ALSO | 00000BE0: 43 4F 50 49 45 53 0D 32 34 30 20 42 59 54 45 53 |COPIES.240 BYTES| 00000BF0: 20 4F 46 20 43 4F 4C 4F 52 20 4D 45 4D 4F 52 59 | OF COLOR MEMORY| 00000C00: 20 44 41 54 41 20 46 52 4F 4D 0D 54 48 45 20 43 | DATA FROM.THE C| 00000C10: 4F 4C 4F 52 20 4D 41 50 20 28 31 36 33 38 34 2B |OLOR MAP (16384+| 00000C20: 31 30 32 34 20 4F 52 20 24 34 34 30 30 29 0D 54 |1024 OR $4400).T| 00000C30: 4F 20 54 48 45 20 53 43 52 45 45 4E 27 53 20 43 |O THE SCREEN'S C| 00000C40: 4F 4C 4F 52 20 4D 45 4D 4F 52 59 20 28 35 35 32 |OLOR MEMORY (552| 00000C50: 39 36 0D 4F 52 20 24 44 38 30 30 29 2E 0D 0D 0D |96.OR $D800)....| 00000C60: 0D 20 20 20 20 D4 4F 20 4D 41 4B 45 20 49 54 20 |. .O MAKE IT | 00000C70: 41 53 20 46 41 53 54 20 41 53 20 50 4F 53 53 49 |AS FAST AS POSSI| 00000C80: 42 4C 45 2C 20 C9 0D 53 55 42 53 54 49 54 55 54 |BLE, ..SUBSTITUT| 00000C90: 45 44 20 56 41 52 49 41 42 4C 45 53 20 46 4F 52 |ED VARIABLES FOR| 00000CA0: 20 41 4C 4D 4F 53 54 20 41 4C 4C 0D 4F 46 20 54 | ALMOST ALL.OF T| 00000CB0: 48 45 20 49 4E 54 45 47 45 52 20 56 41 4C 55 45 |HE INTEGER VALUE| 00000CC0: 53 20 49 4E 20 54 48 45 20 D3 D9 D3 0D 43 4F 4D |S IN THE ....COM| 00000CD0: 4D 41 4E 44 2E 0D 0D 20 20 20 20 D3 D9 D3 34 39 |MAND... ...49| 00000CE0: 31 35 32 2C 31 36 33 38 34 2B 34 30 2A 56 2C 31 |152,16384+40*V,1| 00000CF0: 31 38 34 2C 32 34 30 20 57 4F 55 4C 44 0D 57 4F |184,240 WOULD.WO| 00000D00: 52 4B 2C 20 42 55 54 20 49 54 20 57 4F 55 4C 44 |RK, BUT IT WOULD| 00000D10: 20 42 45 20 41 20 4C 49 54 54 4C 45 0D 53 4C 4F | BE A LITTLE.SLO| 00000D20: 57 45 52 2E 20 20 C2 41 53 49 43 41 4C 4C 59 2C |WER. .ASICALLY,| 00000D30: 20 4C 49 4E 45 53 20 32 34 30 2D 32 38 30 0D 41 | LINES 240-280.A| 00000D40: 4C 4C 4F 57 20 54 48 45 20 55 53 45 52 20 54 4F |LLOW THE USER TO| 00000D50: 20 50 52 45 53 53 20 C3 D2 D3 D2 20 D5 D0 2F C4 | PRESS .... ../.| 00000D60: CF D7 CE 0D 41 4E 44 20 43 48 41 4E 47 45 20 54 |....AND CHANGE T| 00000D70: 48 45 20 4D 45 4D 4F 52 59 20 50 4F 49 4E 54 45 |HE MEMORY POINTE| 00000D80: 44 20 54 4F 20 41 53 0D 54 48 45 20 D3 CF D5 D2 |D TO AS.THE ....| 00000D90: C3 C5 20 42 59 20 34 30 2C 20 45 49 54 48 45 52 |.. BY 40, EITHER| 00000DA0: 20 55 50 20 4F 52 20 44 4F 57 4E 2E 0D 34 30 20 | UP OR DOWN..40 | 00000DB0: 49 53 20 54 48 45 20 57 49 44 54 48 20 4F 46 20 |IS THE WIDTH OF | 00000DC0: 54 48 45 20 53 43 52 45 45 4E 2C 20 52 49 47 48 |THE SCREEN, RIGH| 00000DD0: 54 3F 0D D6 20 49 53 20 54 48 45 20 56 41 52 49 |T?.. IS THE VARI| 00000DE0: 41 42 4C 45 20 54 48 41 54 20 43 48 41 4E 47 45 |ABLE THAT CHANGE| 00000DF0: 53 20 41 4E 44 0D 49 54 27 53 20 4D 55 4C 54 49 |S AND.IT'S MULTI| 00000E00: 50 4C 49 45 44 20 42 59 20 DA 2C 20 57 48 49 43 |PLIED BY ., WHIC| 00000E10: 48 20 45 51 55 41 4C 53 20 34 30 2E 0D 0D 20 20 |H EQUALS 40... | 00000E20: 20 20 D4 48 45 20 56 41 52 49 41 42 4C 45 20 D2 | .HE VARIABLE .| 00000E30: 2C 20 57 48 49 43 48 20 45 51 55 41 4C 53 0D 31 |, WHICH EQUALS.1| 00000E40: 31 34 38 2C 20 49 53 20 54 48 45 20 4C 4F 43 41 |148, IS THE LOCA| 00000E50: 54 49 4F 4E 20 4F 46 20 54 48 45 20 54 4F 50 20 |TION OF THE TOP | 00000E60: 4C 45 46 54 0D 43 4F 52 4E 45 52 20 4F 46 20 54 |LEFT.CORNER OF T| 00000E70: 48 45 20 22 41 52 45 41 22 2E 0D 0D 20 20 20 20 |HE "AREA"... | 00000E80: C9 46 20 59 4F 55 20 57 4F 55 4C 44 20 52 41 54 |.F YOU WOULD RAT| 00000E90: 48 45 52 20 48 41 56 45 20 41 0D 22 57 49 4E 44 |HER HAVE A."WIND| 00000EA0: 4F 57 22 20 41 4E 44 20 41 4C 4C 4F 57 20 54 48 |OW" AND ALLOW TH| 00000EB0: 45 20 55 53 45 52 20 54 4F 20 53 43 52 4F 4C 4C |E USER TO SCROLL| 00000EC0: 0D 4C 45 46 54 20 41 4E 44 20 52 49 47 48 54 2C |.LEFT AND RIGHT,| 00000ED0: 20 41 53 20 57 45 4C 4C 20 41 53 20 55 50 20 41 | AS WELL AS UP A| 00000EE0: 4E 44 0D 44 4F 57 4E 2C 20 59 4F 55 27 4C 4C 20 |ND.DOWN, YOU'LL | 00000EF0: 48 41 56 45 20 54 4F 20 55 53 45 20 C3 CF D0 D9 |HAVE TO USE ....| 00000F00: CD C5 CD 20 31 39 39 30 0D 54 4F 20 43 4F 50 59 |... 1990.TO COPY| 00000F10: 20 45 41 43 48 20 52 4F 57 20 41 54 20 41 20 54 | EACH ROW AT A T| 00000F20: 49 4D 45 2E 20 20 CE 4F 54 45 0D 54 48 41 54 20 |IME. .OTE.THAT | 00000F30: 54 48 45 20 D3 D9 D3 20 43 4F 4D 4D 41 4E 44 20 |THE ... COMMAND | 00000F40: 49 53 20 49 4E 53 49 44 45 20 4F 46 20 41 0D C6 |IS INSIDE OF A..| 00000F50: CF D2 C9 3D 30 D4 CF 36 20 4C 4F 4F 50 20 49 4E |...=0..6 LOOP IN| 00000F60: 20 4C 49 4E 45 53 20 33 35 30 2D 33 38 30 2E 0D | LINES 350-380..| 00000F70: C1 47 41 49 4E 2C 20 C9 20 54 52 49 45 44 20 54 |.GAIN, . TRIED T| 00000F80: 4F 20 53 50 45 45 44 20 54 48 49 53 20 55 50 20 |O SPEED THIS UP | 00000F90: 41 53 0D 4D 55 43 48 20 41 53 20 50 4F 53 53 49 |AS.MUCH AS POSSI| 00000FA0: 42 4C 45 20 42 59 20 54 41 4B 49 4E 47 20 41 53 |BLE BY TAKING AS| 00000FB0: 20 4D 55 43 48 0D 4F 55 54 20 4F 46 20 54 48 45 | MUCH.OUT OF THE| 00000FC0: 20 4C 4F 4F 50 20 41 53 20 C9 20 43 4F 55 4C 44 | LOOP AS . COULD| 00000FD0: 2C 20 41 4E 44 20 55 53 49 4E 47 0D 56 41 52 49 |, AND USING.VARI| 00000FE0: 41 42 4C 45 53 20 52 41 54 48 45 52 20 54 48 41 |ABLES RATHER THA| 00000FF0: 4E 20 49 4E 54 45 47 45 52 20 56 41 4C 55 45 53 |N INTEGER VALUES| 00001000: 2E 0D 0D 20 20 20 20 C9 20 44 49 44 20 41 20 4C |... . DID A L| 00001010: 4F 54 20 4F 46 20 54 48 49 53 20 42 59 20 54 52 |OT OF THIS BY TR| 00001020: 49 41 4C 20 41 4E 44 0D 45 52 52 4F 52 2C 20 41 |IAL AND.ERROR, A| 00001030: 4E 44 20 59 4F 55 20 57 49 4C 4C 20 54 4F 4F 2C |ND YOU WILL TOO,| 00001040: 20 42 55 54 20 54 48 45 0D 42 45 4E 45 46 49 54 | BUT THE.BENEFIT| 00001050: 53 20 49 4E 20 54 45 52 4D 53 20 4F 46 20 53 50 |S IN TERMS OF SP| 00001060: 45 45 44 20 4D 41 4B 45 20 49 54 0D 57 4F 52 54 |EED MAKE IT.WORT| 00001070: 48 20 54 48 45 20 45 46 46 4F 52 54 2E 20 20 C9 |H THE EFFORT. .| 00001080: 4E 20 C2 C1 D3 C9 C3 2C 20 49 54 20 57 4F 55 4C |N ....., IT WOUL| 00001090: 44 0D 42 45 20 54 4F 55 47 48 20 54 4F 20 53 49 |D.BE TOUGH TO SI| 000010A0: 4D 55 4C 41 54 45 20 54 48 49 53 2E 0D 0D 0D 20 |MULATE THIS.... | 000010B0: 20 20 20 D4 48 45 52 45 20 41 52 45 20 4D 41 4E | .HERE ARE MAN| 000010C0: 59 20 57 41 59 53 20 54 4F 20 44 4F 20 46 4C 41 |Y WAYS TO DO FLA| 000010D0: 53 48 59 0D 54 48 49 4E 47 53 20 57 49 54 48 20 |SHY.THINGS WITH | 000010E0: C3 CF D0 D9 CD C5 CD 20 31 39 39 30 2E 20 20 D3 |....... 1990. .| 000010F0: 41 59 20 59 4F 55 0D 57 41 4E 54 20 54 4F 20 44 |AY YOU.WANT TO D| 00001100: 4F 20 53 4F 4D 45 20 53 50 52 49 54 45 20 41 4E |O SOME SPRITE AN| 00001110: 49 4D 41 54 49 4F 4E 2C 20 42 55 54 0D 59 4F 55 |IMATION, BUT.YOU| 00001120: 20 4F 4E 4C 59 20 48 41 56 45 20 4F 4E 45 20 53 | ONLY HAVE ONE S| 00001130: 50 52 49 54 45 20 54 4F 20 53 50 41 52 45 2E 0D |PRITE TO SPARE..| 00001140: D5 53 45 20 D3 D0 D2 C9 D4 C5 20 CF CE 21 20 28 |.SE ...... ..! (| 00001150: CC CF C1 C4 D3 D4 C1 D2 20 23 35 38 29 20 54 4F |........ #58) TO| 00001160: 0D 43 52 45 41 54 45 2C 20 53 41 59 2C 20 46 4F |.CREATE, SAY, FO| 00001170: 55 52 20 56 45 52 53 49 4F 4E 53 20 4F 46 20 41 |UR VERSIONS OF A| 00001180: 0D 53 50 52 49 54 45 20 54 48 41 54 2C 20 57 48 |.SPRITE THAT, WH| 00001190: 45 4E 20 43 59 43 4C 45 44 20 54 48 52 4F 55 47 |EN CYCLED THROUG| 000011A0: 48 2C 0D 57 49 4C 4C 20 41 4E 49 4D 41 54 45 20 |H,.WILL ANIMATE | 000011B0: 54 48 45 20 53 50 52 49 54 45 2E 20 20 D4 48 45 |THE SPRITE. .HE| 000011C0: 59 20 57 49 4C 4C 0D 42 45 20 53 41 56 45 44 20 |Y WILL.BE SAVED | 000011D0: 41 53 20 41 20 42 49 4E 41 52 59 20 46 49 4C 45 |AS A BINARY FILE| 000011E0: 2C 20 4F 4E 45 20 52 49 47 48 54 0D 41 46 54 45 |, ONE RIGHT.AFTE| 000011F0: 52 20 41 4E 4F 54 48 45 52 2E 20 20 D3 41 59 20 |R ANOTHER. .AY | 00001200: 59 4F 55 52 20 53 50 52 49 54 45 20 44 41 54 41 |YOUR SPRITE DATA| 00001210: 0D 49 53 20 41 54 20 38 33 32 20 28 53 50 52 49 |.IS AT 832 (SPRI| 00001220: 54 45 20 41 52 45 41 20 23 31 33 29 20 41 4E 44 |TE AREA #13) AND| 00001230: 20 54 48 45 0D D3 D0 D2 C9 D4 C5 20 CF CE 21 20 | THE....... ..! | 00001240: 42 49 4E 41 52 59 20 46 49 4C 45 20 49 53 20 4C |BINARY FILE IS L| 00001250: 4F 41 44 45 44 20 49 4E 54 4F 0D 4D 45 4D 4F 52 |OADED INTO.MEMOR| 00001260: 59 20 41 54 20 31 36 33 38 34 2E 0D 0D 31 30 30 |Y AT 16384...100| 00001270: 20 C6 CF D2 D6 3D 30 D4 CF 33 3A D3 D9 D3 34 39 | ....=0..3:...49| 00001280: 31 35 32 2C 31 36 33 38 34 2B 36 34 2A D6 2C 38 |152,16384+64*.,8| 00001290: 33 32 2C 0D 20 20 20 20 20 20 36 34 3A CE C5 D8 |32,. 64:...| 000012A0: D4 0D 0D 57 49 4C 4C 20 41 4E 49 4D 41 54 45 20 |...WILL ANIMATE | 000012B0: 54 48 45 20 53 50 52 49 54 45 2E 0D 0D 20 20 20 |THE SPRITE... | 000012C0: 20 C5 56 45 4E 20 4D 4F 56 49 4E 47 20 54 48 45 | .VEN MOVING THE| 000012D0: 20 38 20 4F 52 20 39 20 54 48 4F 55 53 41 4E 44 | 8 OR 9 THOUSAND| 000012E0: 0D 42 59 54 45 53 20 54 48 41 54 20 43 4F 4E 53 |.BYTES THAT CONS| 000012F0: 54 49 54 55 54 45 20 41 20 48 49 2D 52 45 53 20 |TITUTE A HI-RES | 00001300: 53 43 52 45 45 4E 0D 54 41 4B 45 53 20 4F 4E 4C |SCREEN.TAKES ONL| 00001310: 59 20 41 20 53 45 43 4F 4E 44 20 4F 52 20 54 57 |Y A SECOND OR TW| 00001320: 4F 20 57 49 54 48 0D C3 CF D0 D9 CD C5 CD 20 31 |O WITH........ 1| 00001330: 39 39 30 2E 0D 0D 20 20 20 20 D4 48 49 53 20 52 |990... .HIS R| 00001340: 4F 55 54 49 4E 45 20 4A 4F 49 4E 53 20 C9 CE D0 |OUTINE JOINS ...| 00001350: D5 D4 20 C1 CE D9 2E CF 2C 0D C4 C9 D4 D2 CF D6 |.. .....,.......| 00001360: C1 D2 2E CF 2C 20 D3 C3 D2 C5 C5 CE 20 D3 D7 C9 |...., ...... ...| 00001370: D4 C3 C8 C5 D2 20 31 39 39 30 20 28 41 0D 53 50 |..... 1990 (A.SP| 00001380: 45 43 49 41 4C 20 46 4F 52 4D 20 4F 46 20 C3 CF |ECIAL FORM OF ..| 00001390: D0 D9 CD C5 CD 29 2C 20 C8 C9 2D D2 C5 D3 0D C2 |.....), ..-.....| 000013A0: CF CF D4 2E CF 2C 20 CD C1 C7 C9 C3 20 C9 C9 2C |....., ..... ..,| 000013B0: 20 C3 CF CC CF D2 C9 DA C5 D2 2E CF 2C 20 C3 CF | ..........., ..| 000013C0: CC CF D2 0D C3 C8 C1 D3 C5 D2 2E CF 2C 20 CD C9 |............, ..| 000013D0: D3 D4 2E CF 2C 20 CB C5 D9 20 41 4E 44 20 CA CF |...., ... AND ..| 000013E0: D9 20 C4 D2 C9 D6 C5 D2 0D 36 34 2C 20 41 4E 44 |. .......64, AND| 000013F0: 20 D4 CF C4 2E CF 20 4F 4E 20 4D 59 20 CD CC 20 | ..... ON MY .. | 00001400: D5 D4 C9 CC C9 D4 C9 C5 D3 0D 44 49 53 4B 2E 20 |..........DISK. | 00001410: 20 C1 4C 4C 20 4F 46 20 54 48 45 53 45 20 41 50 | .LL OF THESE AP| 00001420: 50 45 41 52 45 44 20 49 4E 20 54 48 45 49 52 0D |PEARED IN THEIR.| 00001430: 4F 57 4E 20 DA C5 D2 CF 20 D0 C1 C7 C5 20 41 52 |OWN .... .... AR| 00001440: 54 49 43 4C 45 53 20 49 4E 20 43 41 53 45 20 59 |TICLES IN CASE Y| 00001450: 4F 55 0D 48 41 56 45 20 46 4F 52 47 4F 54 54 45 |OU.HAVE FORGOTTE| 00001460: 4E 20 41 42 4F 55 54 20 54 48 45 4D 2E 0D 0D 0D |N ABOUT THEM....| 00001470: 0D 0D 0D 20 20 20 20 C2 C1 D3 C9 C3 20 49 53 20 |... ..... IS | 00001480: 54 48 45 20 42 45 53 54 20 4C 41 4E 47 55 41 47 |THE BEST LANGUAG| 00001490: 45 20 46 4F 52 20 41 0D 4E 55 4D 42 45 52 20 4F |E FOR A.NUMBER O| 000014A0: 46 20 52 45 41 53 4F 4E 53 2C 20 41 4E 44 20 4C |F REASONS, AND L| 000014B0: 45 54 27 53 20 4E 4F 54 0D 46 4F 52 47 45 54 20 |ET'S NOT.FORGET | 000014C0: 54 48 41 54 20 D3 D9 D3 20 49 53 20 41 20 C2 C1 |THAT ... IS A ..| 000014D0: D3 C9 C3 20 43 4F 4D 4D 41 4E 44 2E 0D CC CF C1 |... COMMAND.....| 000014E0: C4 D3 D4 C1 D2 20 49 53 20 41 20 47 4F 4F 44 20 |..... IS A GOOD | 000014F0: 53 4F 55 52 43 45 20 46 4F 52 20 CD CC 0D 52 4F |SOURCE FOR ...RO| 00001500: 55 54 49 4E 45 53 20 42 55 54 20 54 48 45 52 45 |UTINES BUT THERE| 00001510: 20 41 52 45 20 50 4C 45 4E 54 59 20 4F 46 0D 4F | ARE PLENTY OF.O| 00001520: 54 48 45 52 20 50 4C 41 43 45 53 20 57 48 45 52 |THER PLACES WHER| 00001530: 45 20 59 4F 55 20 43 41 4E 20 46 49 4E 44 20 54 |E YOU CAN FIND T| 00001540: 48 45 4D 2E 0D C2 55 54 20 54 48 41 54 27 53 20 |HEM...UT THAT'S | 00001550: 41 20 54 4F 50 49 43 20 46 4F 52 20 41 20 46 55 |A TOPIC FOR A FU| 00001560: 54 55 52 45 20 DA C5 D2 CF 0D D0 C1 C7 C5 20 41 |TURE ......... A| 00001570: 52 54 49 43 4C 45 2C 20 49 53 4E 27 54 20 49 54 |RTICLE, ISN'T IT| 00001580: 3F 0D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |?. | 00001590: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000015A0: 20 20 20 C6 D4 0D 20 20 20 20 20 20 20 20 20 2A | ... *| 000015B0: 2A 2A 2A 20 C5 4E 44 20 4F 46 20 D4 45 58 54 20 |*** .ND OF .EXT | 000015C0: 2A 2A 2A 2A 0D |****. |
..^U:ZERO. BITS: COPYMEM 1990..
BY FENDER TUCKER.. I AM A
BASIC PROGRAMMER. THE.ONLY TIME I LIKE
MACHINE LANGUAGE OR.COMPILING IS WHEN BA
SIC IS TOO SLOW..I GET A SENSE OF REAL S
ATISFACTION.WHEN I SEE A PROBLEM IN A PR
OGRAM,.BREAK OUT OF IT, LIST IT, MAKE TH
E.CHANGE WITH THE HANDY ON-SCREEN.EDITOR
, AND RUN IT IMMEDIATELY... YET I'VE
WRITTEN SEVERAL BITS.ARTICLES ABOUT ML R
OUTINES THAT WE.USE ALL THE TIME HERE AT
LOADSTAR..I EVEN ADVISE YOU TO USE THEM
IN YOUR.ROUTINES.... WHEN IS BASIC T
OO SLOW? USUALLY.WHEN A LOT OF MEMORY N
EEDS TO BE.MOVED. YOU MAY REMEMBER READ
ING IN.YOUR PROGRAMMER'S REFERENCE GUIDE
.ABOUT HOW TO MOVE THE CHARACTER SET.OUT
OF ROM INTO RAM SO YOU CAN MODIFY.IT.
ON PAGE 110, IT HAS THIS CODE:..40 FORI=
0TO511:POKEI+12288,PEEK(I+. 53248):NE
XT..IT TAKES 8.5 SECONDS TO MOVE 512.BYT
ES. IF WE WANTED TO BE ABLE TO.CUSTOMIZ
E ALL OF THE 2048 BYTES THAT.MAKE UP A C
HARACTER SET, IT WOULD.TAKE 33.9 SECONDS
..... THIS IS PLAINLY A JOB FOR MACHI
NE.LANGUAGE. ONE LITTLE SYS COMMAND CAN
.DO THE SAME AS THE LINE ABOVE IN.ABOUT
ONE QUARTER OF A SECOND...40 SYS49152,53
248,12288,512..COPYMEM 1990 WORKS LIKE T
HIS. IT.TAKES THE SPECIFIED NUMBER OF B
YTES.(512, IN THIS CASE) FROM THE SOURCE
.AREA (53248) AND MOVES THEM TO THE.DEST
INATION AREA (12288). THE SYNTAX.IS THE
REFORE:..SYSML LOCATION, SOURCE, DESTINA
TION,. NUMBER OF BYTES... THE
ASSEMBLY SOURCE CODE FOR.COPYMEM 1990 IS
ON THE DISK IN A FILE.CALLED "COPY.PAL"
. YOU CAN LIST.IT LIKE A BASIC PROGRAM,
BUT YOU NEED.THE PAL ASSEMBLER TO ASSEM
BLE IT. IT.IS COMPLETELY RELOCATABLE, S
O YOU CAN.ASSEMBLE IT ANYWHERE. ON THE
DISK WE.USE THE OBJECT CODE CALLED "COPY
.O".AND IT'S ASSEMBLED AT 49152 ($C000).
.THE CODE IS ONLY 88 BYTES LONG SO IT.WI
LL FIT IN THE CASSETTE BUFFER, TOO..I WO
N'T GO INTO HOW THE ML WORKS, BUT.THE SO
URCE CODE IS COMMENTED. THE.FIRST PART
USES SOME KERNAL ROUTINES.TO ALLOW THE A
DDITION OF PARAMETERS.TO THE SYS COMMAND
, SEPARATED BY.COMMAS. THE KERNAL ROUTI
NES ALSO.EVALUATE ALGEBRAIC EXPRESSIONS
IF.THEY ARE USED AS PARAMETERS... THE
RUN IT DEMO SHOWS ONE.POSSIBLE USE FOR
COPYMEM 1990..SUPPOSE YOU'RE WRITING AN
ADVENTURE.GAME AND YOU WANT TO HAVE A AR
EA (OR.WINDOW) OF THE SCREEN WHERE THE.A
DVENTURER'S MOVEMENTS ARE SHOWN..HE'S MO
VING THROUGH A HUGE WORLD YOU.HAVE MAPPE
D OUT IN MEMORY SOMEWHERE.BUT YOU CAN ON
LY SEE HIS IMMEDIATE.ENVIRONS ON THE SCR
EEN... THIS IS A NATURAL FOR COPYMEM.
1990. POKEING THE MAP TO THE SCREEN.WOU
LD BE WAY TOO SLOW. RUN THE DEMO.AND NO
TICE HOW EACH OF THE TWO.OPTIONS WORKS,
THEN BREAK THE PROGRAM.TO CHECK OUT THE
CODE.... ONCE YOU'VE LOADED THE MAP (
LINE.40) AND THE ML ROUTINE (LINE 50), A
LL.YOU NEED TO DO IS INVOKE THE SYS.COMM
AND CORRECTLY. LET'S EXAMINE THE."AREA
SCROLL" ROUTINE. THE REASON.WHY IT'S MU
CH FASTER THAN THE "WINDOW.SCROLL" ROUTI
NE IS THAT ONLY TWO SYS.COMMANDS ARE NEC
ESSARY. IT COPIES 240.BYTES FROM THE MA
P AREA (16348 OR.$4000) TO THE SCREEN IN
AN INSTANT..THE COPY IS DONE IN LINE 23
0. SINCE.WE WANT COLOR, THIS LINE ALSO
COPIES.240 BYTES OF COLOR MEMORY DATA FR
OM.THE COLOR MAP (16384+1024 OR $4400).T
O THE SCREEN'S COLOR MEMORY (55296.OR $D
800)..... TO MAKE IT AS FAST AS POSSI
BLE, I.SUBSTITUTED VARIABLES FOR ALMOST
ALL.OF THE INTEGER VALUES IN THE SYS.COM
MAND... SYS49152,16384+40*V,1184,240
WOULD.WORK, BUT IT WOULD BE A LITTLE.SLO
WER. BASICALLY, LINES 240-280.ALLOW THE
USER TO PRESS CRSR UP/DOWN.AND CHANGE T
HE MEMORY POINTED TO AS.THE SOURCE BY 40
, EITHER UP OR DOWN..40 IS THE WIDTH OF
THE SCREEN, RIGHT?.V IS THE VARIABLE THA
T CHANGES AND.IT'S MULTIPLIED BY Z, WHIC
H EQUALS 40... THE VARIABLE R, WHICH
EQUALS.1148, IS THE LOCATION OF THE TOP
LEFT.CORNER OF THE "AREA"... IF YOU W
OULD RATHER HAVE A."WINDOW" AND ALLOW TH
E USER TO SCROLL.LEFT AND RIGHT, AS WELL
AS UP AND.DOWN, YOU'LL HAVE TO USE COPY
MEM 1990.TO COPY EACH ROW AT A TIME. NO
TE.THAT THE SYS COMMAND IS INSIDE OF A.F
ORI=0TO6 LOOP IN LINES 350-380..AGAIN, I
TRIED TO SPEED THIS UP AS.MUCH AS POSSI
BLE BY TAKING AS MUCH.OUT OF THE LOOP AS
I COULD, AND USING.VARIABLES RATHER THA
N INTEGER VALUES... I DID A LOT OF TH
IS BY TRIAL AND.ERROR, AND YOU WILL TOO,
BUT THE.BENEFITS IN TERMS OF SPEED MAKE
IT.WORTH THE EFFORT. IN BASIC, IT WOUL
D.BE TOUGH TO SIMULATE THIS.... THERE
ARE MANY WAYS TO DO FLASHY.THINGS WITH
COPYMEM 1990. SAY YOU.WANT TO DO SOME S
PRITE ANIMATION, BUT.YOU ONLY HAVE ONE S
PRITE TO SPARE..USE SPRITE ON! (LOADSTAR
#58) TO.CREATE, SAY, FOUR VERSIONS OF A
.SPRITE THAT, WHEN CYCLED THROUGH,.WILL
ANIMATE THE SPRITE. THEY WILL.BE SAVED
AS A BINARY FILE, ONE RIGHT.AFTER ANOTHE
R. SAY YOUR SPRITE DATA.IS AT 832 (SPRI
TE AREA #13) AND THE.SPRITE ON! BINARY F
ILE IS LOADED INTO.MEMORY AT 16384...100
FORV=0TO3:SYS49152,16384+64*V,832,.
64:NEXT..WILL ANIMATE THE SPRITE...
EVEN MOVING THE 8 OR 9 THOUSAND.BYTES T
HAT CONSTITUTE A HI-RES SCREEN.TAKES ONL
Y A SECOND OR TWO WITH.COPYMEM 1990...
THIS ROUTINE JOINS INPUT ANY.O,.DITROV
AR.O, SCREEN SWITCHER 1990 (A.SPECIAL FO
RM OF COPYMEM), HI-RES.BOOT.O, MAGIC II,
COLORIZER.O, COLOR.CHASER.O, MIST.O, KE
Y AND JOY DRIVER.64, AND TOD.O ON MY ML
UTILITIES.DISK. ALL OF THESE APPEARED I
N THEIR.OWN ZERO PAGE ARTICLES IN CASE Y
OU.HAVE FORGOTTEN ABOUT THEM....... B
ASIC IS THE BEST LANGUAGE FOR A.NUMBER O
F REASONS, AND LET'S NOT.FORGET THAT SYS
IS A BASIC COMMAND..LOADSTAR IS A GOOD
SOURCE FOR ML.ROUTINES BUT THERE ARE PLE
NTY OF.OTHER PLACES WHERE YOU CAN FIND T
HEM..BUT THAT'S A TOPIC FOR A FUTURE ZER
O.PAGE ARTICLE, ISN'T IT?.
FT. **** END
OF TEXT ****.
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL