Classic Computer Magazine Archive COMPUTE! ISSUE 73 / JUNE 1986 / PAGE 92

64 Fleet List

Buck Childress

Have you ever wished you could zip forward or backward through a program listing at the touch of a key? That capability is especially valuable when you're writing or debugging a long BASIC program. This Commodore 64 utility lets you do exactly that-scroll a program listing up or down on the screen using the 64's special function keys.


"Fleet List" simplifies and speeds up the process of editing a BASIC program listing. As a bonus, it can also tell you the current number of lines in a program and is very easy to use.
    Since Fleet List is written entirely in machine language, it must be entered using the "MLX" machine language entry program, published elsewhere in this issue. Be sure you have read and understood the instructions for using MLX before you begin entering the data for Fleet List. When you first run MLX, you'll be asked for starting and ending addresses. The proper values for Fleet List are as follows:

Starting address: 0000
Ending address: C367

After you have entered all the data for Fleet List, be sure to use the MLX Save option to store at least one copy of the data before proceeding.

Scroll In Either Direction
To use Fleet List, load it into memory with LOAD "filename",8,1 (for tape, change the ,8,1 to ,1,1), then type NEW and press RETURN to reset memory pointers. Fleet List is now in memory, but it's not active yet. You should first load the BASIC program you wish to edit, then type SYS 49152 and press RETURN to activate Fleet List. (For the utility to function properly, there must be a BASIC program in memory when Fleet List is activated.) It can handle programs up to 1,600 lines in length (a warning is issued if your program is too long).
    To scroll the listing forward, press the fl function key (the text will be dark gray). To scroll back ward, press f3 (the text will be black). To move quickly from one part of the program to another, hold down the Commodore key while pressing fl or f3. You'll see the line numbers spin past on your screen. When you release the Commodore logo key, Fleet List begins listing from that point onward. At other times you may want a slowmotion listing. To slow down the scrolling in either direction, press f2 (SHIFT-fl) or f4 (SHIFT-f3).
    If you scroll past the end or beginning of your program, Fleet List simply wraps around to the other end of the program. For instance, say that your program starts with line 10 and ends at line 1000. If you scroll forward past line 1000, Fleet List prints a line on the screen as a marker and then begins to list forward from line 10. If you scroll backward past line 10, Fleet List prints a marker line and begins to work downward from line 1000.
    Fleet List also provides an easy way to move immediately to the beginning or end of the program. If you press the f7 key, the list starts at the first line in the program. Remember, Fleet List wraps around the ends of the program automatically, so to get to the very last line, simply scroll backward one line from the beginning.

Line Count
You can find out how many lines you have in your program at any time by pressing the f5 function key. When Fleet List is first activated, it also displays the number of lines in whatever program is currently in memory. As you add and delete lines, the f5 key comes in handy.
    Of course, if you're writing a program that uses the function keys for its own purposes, you want to be able to enter them normally in a program line. To allow for this possibility, Fleet List checks for quote and insert modes and does not respond when you're in either mode. When you leave quote or insert mode (usually by pressing RETURN), Fleet List is active again.
    Fleet List does not interfere with the process of editing existing program lines, entering new ones, or moving around on the screen with the cursor keys. And there's no need to clear the screen to relist after such activities. Before it begins to list again, Fleet List automatically positions the cursor at the bottom of the screen.
    Because Fleet List resides in a memory area that's not normally used by BASIC, you should be able to load and save BASIC programs without disturbing it. However, before loading or saving, it's a good idea to deactivate Fleet List by pressing RUN/STOP-RESTORE. To reactivate Fleet List, type SYS 49152 and press RETURN.

Fleet List
For instructions on entering this listing, please
refer
to the "MLX" article in this Issue of
COMPUTE!.


C000:AD 14 03 AE 15 03 C9 5E 4F
C008:D0 04 E0 C0 F0 4F 8D 70 6B
C010:C3 8E 71 C3 20 B0 C2 8C 57
C018:73 C3 SC 74 C3 8C 76 C3 lE
C020:SC 78 C3 8C 79 C3 8C 7E B9
C028:C3 A9 0F A2 0B 8D 20 D0 Al
C030:8D 21 D0 8E 86 02 BE 75 92
C038:C3 20 44 E5 A9 8E 20 D2 25
C040:FF A9 08 20 D2 FF A0 00 07
C048:20 FB C0 20 18 C3 A9 5E 74
C050:SD 7E C3 A2 C0 78 8D 14 F1
C058:03 BE 15 03 58 60 AD 74 E5
C060:C3 D0 6D A5 D4 D0 66 A5 5C
C068:D8 D0 62 AD 8D 02 C9 03 BC
C070:B0 5E A5 CB C9 40 F0 58 DC
C078:C9 01 D0 03 8D 79 C3 C9 0D
C080:03 D0 0C eD 74 C3 20 S0 B5
C088:C2 8C 76 C3 4C A3 C2 C9 D9
C090:06 D0 32 8D 74 C3 8D 75 AS
C098:C3 A0 00 8C 7E C3 A5 FB 37
C0A0:48 A5 FC 48 A9 01 20 FB 61
C0A8:C0 68 85 FC 68 85 FB A2 19
C0B0:18 86 CC BE 7E C3 A0 00 A6
C0B8:18 20 F0 FF 20 4D C3 20 4A
C0C0:18 C3 4C A3 C2 C9 04 90 D8
C0C8:04 C9 06 90 06 8D 78 C3 A3
C0D0:6C 70 C3 8D 74 C3 AD 78 7C
C0DE:C3 F0 13 A9 00 8D 73 C3 56
C0E0:BD 78 C3 A2 18 A0 00 18 45
C0E8:20 F0 FF 20 4D C3 AC 73 FE
C0F0:C3 D0 05 AD 79 C3 D0 03 83
C0F8:4C 7B C1 8C 7C C3 BC 7D 0A
Cl00:C3 A5 FD 48 A5 FE 48 20 EC
C108:B0 C2 A0 01 84 CC 88 B1 D2
C110:FB F0 06 20 C4 C2 4C 0A 64
C118:C1 20 C4 C2 20 C4 C2 B1 94
C120:FB F0 lE 20 C4 C2 A5 FB 1C
C128:A6 FC 91 FD 20 CB C2 8A 90
C130:91 FD 20 CB C2 20 E9 C2 E9
C138:20 C4 C2 20 C4 C2 4C 0A 2B
C140:C1 20 F2 C2 A5 FD A6 FE A8
C148:8D 7A C3 BE 7B C3 A0 00 BE
C150:A5 FE C9 D0 B0 16 E6 FD 56
C158:D0 08 E6 FE A5 FE C9 D0 A0
C160:B0 0A A5 FE 85 CC 98 91 85
C168:FD 4C 56 C1 20 S0 C2 68 96
C170:85 FE 68 85 FD AD 7E C3 43
C178:D0 01 60 A0 01 84 CC 88 F6
C180:AD 74 C3 C9 04 F0 2B 8C D3
C188:86 02 AD 76 C3 C9 02 D0 07
C190:06 20 F2 C2 20 F2 C2 A9 A5
C198:01 8D 76 C3 20 F2 C2 20 7D
C1A0:F2 C2 A0 01 B1 FD F0 F4 CE
C1A8:85 FC 88 B1 FD 85 FB 4C A4
C1B0:E2 C1 A9 0B 8D 86 02 AD 34
C1B8:76 C3 C9 01 D0 06 20 CB 5C
C1C0:C2 20 CB C2 A9 02 8D 76 3A
C1C8:C3 B1 FD 85 FB 20 CB C2 6D
C1D0:B1 FD D0 09 20 S0 C2 20 C0
ClD8:13 C3 4C C9 C1 85 FC 20 3B
C1E0:CB C2 AD 8D 02 48 48 8D D8
C1E8:77 C3 C9 02 D0 08 20 4D A6
C1F0:C3 A9 91 20 D2 FF B1 FB EA
C1F8:AA 20 C4 C2 B1 FB 20 CD 2A
C200:BD 20 C4 C2 A9 20 20 D2 12
C208:FF 68 AA E0 02 D0 08 A9 18
C210:20 20 D2 FF 20 D2 FF A0 F4
C218:00 B1 FB F0 3D E0 02 D0 DA
C220:06 20 C4 C2 4C 17 C2 C9 83
C228:B0 90 26 A6 D4 D0 22 38 A7
C230:E9 7F AA A0 FF CA F0 08 FE
C238:C8 B9 9E A0 10 FA 30 F5 31
C240:C8 B9 9E A0 C9 80 B0 06 2E
C248:20 D2 FF 4C 40 C2 38 E9 BE
C250:80 20 D2 FF 20 C4 C2 4C 5E
C258r17 C2 68 C9 02 F0 03 20 BD
C260:4D C3 A5 CB C9 04 90 31 9F
C268:C9 06 B0 2D SD 74 C3 AD B0
C270:8D 02 C9 02 F0 0A AD 77 19
C278:C3 C9 02 D0 06 20 4D C3 AE
C280:4C 7B C1 AD 8D 02 F0 F8 6D
C288:C9 02 B0 F7 A2 00 A0 00 5F
C290:E8 D0 FD C8 D0 FA 4C 7B 91
C298:C1 AD 77 C3 C9 02 D0 03 90
C2A0:20 4D C3 A9 00 85 C6 8D CD
C2A8:74 C3 SD 79 C3 6C 70 C3 17
C2B0:A0 00 A2 80 84 FB 86 FD 02
C2BB:A9 08 A2 C3 8D 73 C3 85 EC
C2C0:FC 86 FE 60 E6 FB D0 02 17
C2C8:E6 FC 60 E6 FD D0 FB E6 8D
C2D0:FE A5 FE C9 D0 90 F3 20 8C
C2D8:44 E5 20 13 C3 A2 08 20 08
C2E0:41 C3 20 30 C3 C0 00 F0 11
C2ES:FC EE 7C C3 D0 DC EE 7D C9
C2F0:C3 60 A5 FE C9 C4 B0 06 DD
C2F8:A5 FD C9 81 90 0B C6 FD 5E
C300rA5 FD C9 FF D0 02 C6 FE 2E
C308:60 AD 7A C3 AE 7B C3 85 27
C310:FD 86 FE A9 00 SD 75 C3 97
C318:20 4D C3 A2 28 A9 2A 20 02
C320:D2 FF CA D0 FA AD 75 C3 B4
C328:F0 23 8E 75 C3 20 4D C3 17
C330:AE 7C C3 AD 7D C3 20 CD 8A
C338:BD A2 00 20 41 C3 4C 18 13
C340:C3 BD 55 C3 F0 0E 20 D2 D2
C348:FF E8 4C 41 C3 A9 0D 20 A6
C350:D2 FF A0 00 60 20 4C 49 BA
C358:4E 45 53 0D 00 4F 56 45 C2
C360:52 20 00 00 00 00 00 00 19