2022-09-20
Yesterday I loaded a bunch of files onto the HP 95LX, intending to read on the device. I used some nondescript "PDF to text" website to gain plain text from two PDFs. Next, I attempted to convert the resulting Big Text File from the UTF-8 encoding to Code Page 850 using iconv. This repeatedly complained about invalid codepoints. I manually search-and-replaced all the smartquotes and friends (using Pluma, the text editor of the MATE Desktop Environment). After that I wrote a small scriptlet to make iconv point me to the next invalid codepoint, so that I could replace those manually. (These were mostly CJK, Russian, or Greek sniplets in the text.) After having processed about one third of the Big Text File I figured out that iconv has a switch, -c, which will make it skip invalid codepoints. (I am not sure whether they are omitted or replaced by a placeholder.)
2022-09-18
This post is the first work I have created using the Memo application on the first HP 95LX that I recently acquired.
I did use Memo previously to create a few script files, mainly to start and configure lDebug.
I received this device 8 days ago (as of this writing), on 2022-09-10 Saturday. Last Friday, 2022-09-16, I picked up the serial connection cable that I ordered from the US. This has allowed me to exchange files between the 95LX and my desktop computer running Linux.
The macros for dual code segment support contain two different macros for differently handling inter-segment calls.
The lDebug debugger is a demanding application. It's driven NASM bug reports for a while now. There are 63 tickets filed by me in the NASM bugzilla, most of which cropped up during lDebug development. As described in 2022 July, the debugger's footprint has grown beyond 64 KiB segment limits twice now.
As mentioned in the prior blog post
lDebug very much has a "go everywhere, do everything" theme.
Today we're caught up with FreeDOS Debug again for the most part.
(Still missing is the patch to use the test_high_limit function where appropriate.
It is nontrivial to decide which spots should use that function
instead of test_d_b_bit, which was renamed from testattrhigh.)