On Mon, 14 Aug 2017 02:40:11 +0000
"John R. Hogerhuis" <[email protected]> wrote:

> But pushing a dummy value on the stack is weird. If I used that I
> wouldn't be surprised if there's a bug in  Hterm because that doesn't
> sound familiar.
> 
Well, SNDCOM is part of the insides of SD232C, and when you violate
nice clean "1 entry 1 exit" rules things get weird. :-( It does a POP B
and then RETurns, because somewhere up in SD232C a PUSH is done. The
joys of assembly language! If you're going to jump into the middle of
somebody else's routine you gotta make sure you have everything set up. 

As for HTERM you didn't use SNDCOM (at least not the version I have the
source for.)

> Anyway I just mentioned it because that push b seems like a sharp
> edge to file down.
> 
Well there are other jump points in the ROM where similar things are
done. Like the published entry CHKFN can only check for a 4.2-length
filename, because it's for ADRS/SCHED's NOTE.DO and ADRS.DO files, but
if you set A=10 and jump a few bytes in it can check for a full-length
filename....

Frankly if this was still 198x and the ROMs were subject to change I'd
be a lot less happy with this sort of thing. But it's 2017 and AFAIK
the only people mucking around with the system ROMs are just changing
the 19 to 20 in the date string.

> Plus it raised the question in my mind of why the undocumented entry
> point sd232c. Someone wanted it for something. But if it goes around
> flow control I can't imagine what it is for.

*I* wanted to use it for a TPDD client program I was writing in asm80
but couldn't get it to work. For some reason the crashes seemed to have
a clearer reason in a C program. Then I looked in Ken's dissassembly
and yep, there was a POP that didn't have a matching push if you
entered at SNDCOM.

I would guess SNDCOM got published in rom_funcs-600.pdf as a speed thing
-- skip all that tedious soft flow control! Too bad they didn't mention
the stack thing...

Willard
-- 
Willard Goosey  [email protected]
Socorro, New Mexico, USA
I search my heart and find Cimmeria, land of Darkness and the Night.
  -- R.E. Howard

Reply via email to