Files
filed-qbasic/README.md
T

3.2 KiB

filed-qbasic

FilEd is a hex editor for MS-DOS written in QBasic.

  • Search for a byte value or string.
  • Compare one file to another to find changes.
  • Replace values, one byte at a time or by typing a string.
Screenshot of white fixed width characters on a black screen. The program is titled "File Ed" and the open file is filed.bas. A grid of byte values are displayed in 8 columns and 16 rows. To the right is another grid showing the ASCII equivalent of each byte. The bottom lists the available keyboard shortcuts

History

This is the first computer program I remember feeling really proud about. The last version, 1.51, was completed on October 22, 1997.

Except for half-heartedly uploading the file to my Geocities website, I made no attempt to publish or distribute this software.

I'm sharing it now just for fun.

Usage

  • Run FILED.EXE
  • Enter the filename of the file to edit.

After writing this program, I used it to edit save files in DOS games to cheat or otherwise cause impossible conditions, using the following steps:

  1. Make a backup copy of my save file.
  2. Perform an action in the game, for example, losing some health points.
  3. Save the game.
  4. Compare the backup copy to the current copy of the save file, to find the address of the changed value.
  5. Edit the byte value to a new value.
  6. Load the game and see if I've successfully changed the value in the game.

The example I remember best is changing my party members in Ultima VI, adding NPCs who normally could never join the party.

Keyboard shortcuts

B
Back: Go back a page in the file.
F
Forward: Go forward a page in the file.
N
Move to a new address.
S
Search for a value or text string.
E
Edit one byte value.
T
Type a string to change a series of bytes.
Q
Quit the program.
C
Compare to find differences between the active file and another.
L
Load a new file, either:
  • A regular file in the filesystem;
  • The first 1 MB or memory; or
  • I/O ports
D
DOS: Open a temporary command prompt without losing your place in the current file.
M
Mode: Switch between seeing byte values and only seeing the string representation.
H
Hex/decimal: Switch between displaying byte values as hex or decimal.

Code quality

It's uncommented spaghetti code with line numbers and GOTO statements.

Acknowledgements

Thank you to my father, a hobbyist who started on a Timex Sinclair before teaching me how to write BASIC programs on a Commodore 64.

I vaguely remember, before we got a PC, modifying save game files on the C64 (in particular, the Gold Box Dungeons & Dragons games) but I can't remember how I accomplished this.

License

FilEd by Dan Keck is marked CC0 1.0