4

I am looking at this Tiny BASIC dump which seems to consist of two sections, the first being a list of symbol addresses, and the second one containing Intel Hexadecimal records with a leading space:

 001 BLOCK01 0
 002 A     0007H
 003 ABS   0450H
...
 233 BLOCK31 0
$
 :100000003100203EFFC34506E3EFBEC368003E0D4E
...
 $

What is the name of this file format, and what modern tools can I use to convert it into a binary image?

(of course, one way is to process it textually: keep only lines ^ *: and then delete ^ *, resulting in a normal IHEX file; but I would prefer something that is more robust.)

7

What is the name of this file format,

Well, it's called Intel-Hex-Format :))

Or are you asking about the file the link points to (tinybasic-2.0.hex) ?

That's no file format. It's simply the recording of a (terminal) output (*1) while one has first dumped the symbol list followed by the the Intel-Hex file.

and what modern tools can I use to convert it into a binary image?

Since it's no format, there won't be tools. Simply use your prefered editor ac cut everything above and below the hex file dump.

Working with dumping was, BTW, standard practice to create a loader tape - simply dumped the file onto a paper tape punch. Then loading everything preceding the : was ignored anyway.


*1 - That's why the prompt $ is visible, but no command entered.

2
  • I didn't realize the $ was a shell prompt! I thought this is some known container format of some linker, containing symbol addresses and an IHEX dump of the binary. – Cactus Nov 13 '20 at 10:48
  • 1
    @Cactus :)) Containerformat? Made my day. I guess we're hinking way too vcomplex nowadays. It helps to keep in mind that things back then had to work without lots (read double digit K's) of RAM, disks and alike. And whatever remains are found today are of that origin. Also, the extension .hex is a hint - after all, depending on the hex file reader above might as well be a valid input anyway. – Raffzahn Nov 13 '20 at 10:58
1

Simply use any text editor to remove everything but the HEX lines (started by a colon character ":"). This is how to get a pure HEX file. Colon has to be the very first character on each row, so remove the leading spaces too.

Step 2 - use e.g. ASM80 Tools for HEX to BIN conversion to convert it to binary image.

0

Since it turns out this really is just a text dump and not some container format with any rigidity, I ended up using simple Unix text processing tools to convert it into a normal .hex file:

sed -ne 's/^ *:/:/p'
1
  • 1
    I did not try, but AFAIR a correct Intelhex reader ignores all characters before the ':' so there is no need to filter. – the busybee Nov 17 '20 at 9:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.