[Coco] Pop PC with empty stack?

Gene Heskett gene.heskett at verizon.net
Wed Apr 7 00:31:15 EDT 2010


On Tuesday 06 April 2010, Arthur Flexser wrote:
>On Tue, Apr 6, 2010 at 9:53 PM, Gene Heskett 
<gene.heskett at verizon.net>wrote:
>> >I knew about PULS PC being basically the same as an RTS, but it had me
>> >confused because I couldn't find a BSR or LBSR in the chain leading to
>> > that label. I finally found an LBSR in the chain this morning after I
>> > got some sleep last night. It's just not such a straight-forward LBSR
>> > -> label, blah blah, RTS. It's more like LBSR -> label, branch and
>> > conditional branch several times, and the RTS is in a conditional
>> > branch at the end of the module.
>>
>> Wow.  That code is likely to never be fully understood by anyone but the
>> author, and if 90 days has expired since he wrote it, all bets are off.
>
>In fairness to the author, the source code may be extremely well
> commented, for all we know, and readily understandable by the author and
> others.  It's hardly fair to expect assembler to be written in such a way
> as to be easy to follow when someone without access to the source
> disassembles it.
>
>Art

That is also true, and a situation I hadn't considered.  Can I plead CRS?  
And that is exactly why I'd love to find a copy of the original Sacia src.

In fact, if the original author is copying the mail here, (Bruce Istead?) I 
would love to discuss a couple of items that with what I consider to be a 
broken chip in the form of the 6551,  which makes it well nigh impossible to 
use hardware flow controls with a standard null modem cable.  The only thing 
I have been able to make work is to 'window' the zmodem to 1k packets, and 
the windowing protocols handshaking delays are enough to keep the rx buffer 
from hitting the xoff/RTS point while still getting about 3/4ths of the 
available bandwidth used.  Otherwise, the only way to drop RTS is to turn 
off the transmitter section of the 6551 entirely, and when that happens, rz 
on the coco can't send its acks, and because sacia has no transmitter buffer 
at all, it reaches back through a system call and puts rz to sleep.  With rz 
sleeping, it never drains the input buffer which would re-enable the flow, 
so the lockup is a complete, total, till you reboot lockup.  But possibly 
the original author might have some insight that would allow this to be 
fixed.

Funny part is that I can remember back in the early 90's when I was testing 
rzsz-3.16 through 3.36 against an amiga on the next table, Sacia was fully 
capable of using full hardware flow controls, with about a 120cps gain over 
what I can get it to do today.  Using the exact same hardware on the coco 
end.  But I do not know whatever became of that null modem cable, it could 
have been wired doofusly.

-- 
Cheers, Gene
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)

All newspaper editorial writers ever do is come down from the hills after
the battle is over and shoot the wounded.



More information about the Coco mailing list