Classic Computer Magazine Archive COMPUTE! ISSUE 144 / SEPTEMBER 1992 / PAGE G34

DLiner. (utility program)
by Daniel Lightner

Here's a little program that you can have fun with by devising a variety of useful applications. DLiner is a utility that can convert any area of memory into lines of BASIC data statements. These lines ca then be saved and used just like any BASIC program data.

DLiner is written in machine language. To enter it, you'll need MLX, our machine language entry program. See "Typing Aids" elsewhere in this section. When MLX prompts for the starting and ending addresses, respond with the following. Starting address: CCA2 Ending address: CFFE

Be sure to save a copy of the program before you exit MLX.

To use DLiner, load it with the 8,1 extension, type NEW, and press Return. You can then go ahead and load another program. When you're ready to convert an area of memory to data statements, simply type SYS 52386, SA, EA. SA is the starting address of the area you want to convert, and EA is that area's ending address.

To convert the information that appears on a screen, for example, type SYS 52386, 1024, 2023 and press Return. DLiner then creates 1000 data statements, starting with line 9000. Adding a few lines of code to read and poke these same data statements back into memory will re-create the screen.

DLiner can also be used to convert machine language code. If you write a machine language program, you can convert it to data statements and either run the statements with a BASIC loader or combine them to run with other subroutines.

DLINER

CCA2:D8 20 7D CF A0 00 A2 00 A7 CCAA:A9 00 C8 C0 FF D0 FB A0 1A CCB2:00 E8 E0 FF D0 F4 A2 00 42 CCBA:69 01 C9 0A D0 EC AD 06 BE CCC2:02 C9 2C D0 11 A0 00 B9 27 CCCA:07 02 C9 2C F0 0B 99 35 80 CCD2:03 C8 C0 06 D0 F1 4C 66 E5 CCDA:FE 8C 34 03 88 8C C4 02 CF CCE2:20 4D CD AD A7 02 8D C2 97 CCEA:02 AD A8 02 8D C3 02 AC 52 CCF2:C4 02 C8 B9 07 02 C9 2C 24 CCFA:D0 DC A2 00 C8 B9 07 02 C5 CD02:C9 00 F0 07 9D 35 03 E8 C1 CD0A:C8 D0 F2 98 38 ED C4 02 2B CD12:A8 88 88 8C 34 03 20 4D 39 CD1A:CD AD A7 02 8D A9 02 AD E1 CD22:A8 02 8D AA 02 AD C2 02 3D CD2A:8D A7 02 AD C3 02 8D A8 7B CD32:02 AD AA 02 CD A8 02 90 55 CD3A:9D F0 03 4C D4 CD AD A9 E8 CD42:02 CD A7 02 90 90 F0 8E 9E CD4A:4C D4 CD A0 00 B9 35 03 59 CD52:A2 00 DD 95 CF F0 06 E8 8B CD5A:E0 0A D0 F6 60 C8 CC 34 66 CD62:03 D0 EA AD 34 03 C9 05 32 CD6A:90 1C A0 00 B9 35 03 D9 EB CD72:9F CF B0 03 4C 88 CD D9 12 CD7A:9F CF F0 01 60 C8 C0 05 B4 CD82:F0 03 4C 6E CD 60 EA A9 37 CD8A:00 8D A7 02 8D AB 02 A0 52 CD92:00 AE 34 03 CA BD 8B CF C4 CD9A:8D AA 02 BD 90 CF 8D AB 4E CDA2:02 B9 35 03 8C AC 02 38 D7 CDAA:E9 30 A8 18 C0 00 F0 17 DC CDB2:18 AD A7 02 6D AA 02 8D 82 CDBA:A7 02 AD A8 02 6D AB 02 0A CDC2:8D A8 02 88 4C AD CD AC 79 CDCA:AC 02 CA C8 CC 34 03 D0 31 CDD2:C4 60 18 AD A9 02 69 01 EF CDDA:8D A9 02 AD AA 02 69 00 F2 CDE2:8D AA 02 AD A7 02 85 FB 57 CDEA:AD A8 02 85 FC A9 00 8D 3C CDF2:AB 02 A9 28 8D AE 02 A9 71 CDFA:23 8D AF 02 A9 01 8D AC BA CE02:02 A9 08 8D AD 02 A9 03 B0 CE0A:8D B0 02 A9 08 8D B1 02 51 CE12:A0 00 AD B0 02 85 FD AD 90 CE1A:B1 02 85 FE AD AE 02 91 6F CE22:FD AD AF 02 CB 91 FD A0 69 CE2A:00 18 AD AE 02 69 01 8D B3 CE32:AE 02 AD AF 02 69 00 8D 9B CE3A:AF 02 20 CC CE 20 CC CE 60 CE42:A9 83 91 FD 20 CC CE B1 2B CE4A:FB AA A9 00 20 77 CE A0 E2 CE52:00 A9 2C 91 FD 18 A5 FB 90 CE5A:69 01 85 FB A5 FC 69 00 51 CE62:85 FC 4C DA CE EE AB 02 C4 CE6A:AD AB 02 C9 10 D0 D5 20 36 CE72:26 CF 4C 14 CE 8D 2F CB B8 CE7A:8E 2E CB A2 09 8E 20 CB 1D CE82:A0 B0 AD 2E CB DD A8 CF 2C CE8A:AD 2F CB FD A9 CF 90 0F E0 CE92:8D 2F CB AD 2E CB FD A8 5C CE9A:CF 8D 2E CB C8 D0 E3 98 EF CEA2:CA F0 10 C9 B0 F0 03 8D 5D CEAA:20 CB 2C 20 CB 30 04 A9 A3 CEB2:00 F0 05 29 7F 20 BE CE 88 CEBA:CA 10 C5 60 8C B4 02 A0 5C CEC2:00 91 FD 20 CC CE AC B4 36 CECA:02 60 18 A5 FD 69 01 85 FB CED2:FD A5 FE 69 00 85 FE 60 C3 CEDA:A5 FB CD A9 02 F0 03 4C C4 CEE2:67 CE A5 FC CD AA 02 F0 7A CEEA:03 4C 67 CE 20 26 CF A9 D9 CEF2:00 91 FD C8 91 FD C8 91 E8 CEFA:FD 18 A5 FD 69 02 85 2D BD CF02:A5 FE 69 00 85 2E A5 2D BE CF0A:85 2F 85 31 A5 2E 85 30 1D CF12:85 32 A0 00 B9 A4 CF 99 AE CF1A:77 02 C8 C0 05 D0 F5 84 F6 CF22:C6 4C 66 FE A9 00 8D AB 09 CF2A:02 A9 00 91 FD 20 CC CE 27 CF32:A5 FD 8D B0 02 A5 FE 8D 13 CF3A:B1 02 AD AC 02 85 FD AD 83 CF42:AD 02 85 FE AD B0 02 91 9F CF4A:FD AD B1 02 C8 91 FD A0 D3 CF52:00 AD B0 02 85 FD 8D AC 7F CF5A:02 AD B1 02 8D AD 02 85 69 CF62:FE A9 00 91 FD C8 91 FD 39 CF6A:A0 00 20 CC CE 20 CC CE 8A CF72:A5 FD 8D B0 02 A5 FE 8D 53 CF7A:B1 02 60 A0 00 B9 B3 CF A7 CF82:20 D2 FF C8 C0 4C D0 F5 42 CF8A:60 01 0A 64 E8 10 00 00 A9 CF92:00 03 27 30 31 32 33 34 C7 CF9A:35 36 37 38 39 36 35 35 0F CFA2:33 35 4C 49 53 54 0D 01 4E CFAA:00 0A 00 64 00 E8 03 10 CC CFB2:27 0D 54 48 45 20 44 4C B7 CFBA:49 4E 45 52 0D 43 4F 50 C4 CFC2:59 52 49 47 48 54 20 31 46 CFCA:39 39 32 20 43 4F 4D 50 DF CFD2:55 54 45 0D 50 55 42 4C 54 CFDA:49 43 41 54 49 4F 4E 53 D4 CFE2:20 49 4E 54 4C 20 4C 54 C3 CFEA:44 0D 41 4C 4C 20 52 49 AD CFF2:47 48 54 53 20 52 45 53 30 CFFA:45 52 56 45 44 00 00 00 13