I also fixed two problems: First, the HP 95LX didn’t allow me to pass along a Control-P to the echo command, so the uses of that (codepoint U+0010) had to go. I added Control-P to the problem values to detect in my echoify program. Then I modified the debugger script to avoid those.

Second, it turns out function 21.02 will expand tabs (U+0009) even when redirecting the b16cat.com program’s output to a file. (Again, on the HP 95LX, running its MS-DOS 3.22 from ROM.) So I modified b16cat to use function 21.40 (to bx = 1 as stdout handle, with cx = 1 as length) which preserves all binary values exactly.

It’s all at https://hg.pushbx.org/ecm/b16cat

This is how to use it:

dosemu -K “$PWD” -E “ldebug /c=’y b16cat.sld'” -dumb

gcc -O2 echoify.c -o echoify

./echoify b16cat.com

lDebug is my debugger, available from my website at https://pushbx.org/ecm/web/#projects-ldebug

]]>I even have an original Atari testboard for this great machine, loads of magazines, books, etc.

Just contact me on: portfolioclubuk@gmail.com

Paul ]]>

echo \161 y ^A % ^O ^O \163 y ^A 1 \192 \162 ~ ^A \176 \29 $ ^O \162 \127 ^A \180 ^F \254 \196 \254 \196 \254 \196 \186 X ^A \205 ! \186 y ^A \205 ! \180 ^F \128 \196 ^D \186 } ^A \205 ! \180 ^F \254 \196 \254 \196 \254 \196 \186 y ^A \205 ! \186 n ^A \205 ! \186 y ^A \205 ! \190 \127 ^A 0 \237 \138 ^N ~ ^A \180 ^W \205 a \205 [SPACE] \144 E n t e r [SPACE] n u m b e r [SPACE] t o [SPACE] d i a l : $ D i a l i n g . . . $ \29 * $ \144 2 ^A \29 $ >DIALER.COM ]]>

Anyway, I updated the article. ]]>

B4 16 B9 14 00 B2 39 CD 61 D1 E1 B2 37 CD 61 D1 E9 B2 32 CD 61 D1 E1 B2 34 CD 61 D1 E9 B2 3D CD 61 B2 3B CD 61 B2 39 CD 61 B2 3B CD 61 CD 20 ! ]]>

B4 16 B9 14 00 B2 39 CD-61 D1 E1 B2 37 CD 61 D1 E9 B2 32 CD 61 D1 E1 B2-34 CD 61 D1 E9 B2 3D CD 61 B2 3B CD 61 B2 39 CD-61 B2 3B CD 61 CD 20 ! ]]>