[Coco] Tcp off-loading on CoCo

Zippster zippster278 at gmail.com
Thu Apr 13 12:18:00 EDT 2017


Because it saves the entire machine state (all register values), like an IRQ,
which consumes quite a few cycles.  A FIRQ doesn’t save all the registers and is faster.

Depending on how your software is written, polling for a status bit to see if data is ready
may be faster still, though it doesn’t have the convenience factor of an interrupt.

MCU = micro controller, such as an Atmel ATMega or such.  Put one on the networking card
to handle the communications, taking a set of commands from the coco, receiving the data from
the external network, then buffering it and feeding it to the CoCo through a data port.
Also have it provide a status register indicating command result, buffer ready, etc...

- Ed




> On Apr 13, 2017, at 10:57 AM, Lee Patterson <lee at 8bitcoder.com> wrote:
> 
> NMI = non maskable interrupt? Why is it slow?
> 
> What is MCU?
> 
> 
> --- -- -  -
> www.8BitCoder.com
> 
>> On Apr 13, 2017, at 09:02, Zippster <zippster278 at gmail.com> wrote:
>> 
>> NMI is available at the cart port, of course it’s kind of slow.  It may be possible
>> to use the CART interrupt also (FIRQ).  
>> 
>> It might be better to poll a status bit set by the MCU to see if data is in the
>> buffer and ready for transfer in some situations instead.
>> 
>> - Ed
>> 
>> 
>> 
>> 
>>> On Apr 13, 2017, at 7:26 AM, Lee Patterson <lee at 8bitcoder.com> wrote:
>>> 
>>> What about an IRQ or FIRQ?
>>> 
>>> --- -- -  -
>>> www.8BitCoder.com
>>> 
>>>> On Apr 12, 2017, at 23:19, L. Curtis Boyle <curtisboyle at sasktel.net> wrote:
>>>> 
>>>> Ghosted across the two addresses, so you can do the 8 bit TFM on a 6309, or LDD on a 6809.
>>>> (Like Bruce Isted/Frank Hogg Labs Eliminator card did).
>>>> 
>>>> L. Curtis Boyle
>>>> curtisboyle at sasktel.net
>>>> 
>>>> 
>>>> 
>>>>> On Apr 12, 2017, at 8:51 PM, Zippster <zippster278 at gmail.com> wrote:
>>>>> 
>>>>> For DMA in that fashion the CPU would be halted, so you wouldn’t be able to do other stuff,
>>>>> and you may lose track of any timing.
>>>>> 
>>>>> I think you’d pretty much want an MCU on the cart handling everything, buffering the data,
>>>>> and making it available to the coco through a couple of addresses (two-byte data port).
>>>>> 
>>>>> - Ed
>>>>> 
>>>>> 
>>>>>> On Apr 12, 2017, at 8:41 PM, Lee Patterson <lee at 8bitcoder.com> wrote:
>>>>>> 
>>>>>> So I’ve been trying to think about what the Coco would want to use networking for. And how to accomplish it. I would agree that the practicality of running a browser on the coco would be pretty much a no go, but a connection to a BBS type site would be feasible. Games would be the other huge user. And then there is an internet joystick and perhaps an drivewire on someone else’s machine? Personally the game idea is what I’m focused on.
>>>>>> 
>>>>>> I think these requirements would float my boat: 
>>>>>> - If there was a cartridge I could plug in that would in turn connect to my local network via wifi.
>>>>>> - When the cart is the active cartridge, a small UI for logging into the network would be provided.
>>>>>> - Coco can write bytes to the cartridge to tell it where to connect to, then buffer bytes it reads back from network connection.
>>>>>> - Perhaps provide an interrupt that the coco would receive when data comes in. 
>>>>>> - Can the cartridge read the Coco’s memory on it’s own while the coco is doing other stuff? Maybe that’s the DMA I have heard about?
>>>>>> 
>>>>>> Lee
>>> 
>>> 
>>> -- 
>>> Coco mailing list
>>> Coco at maltedmedia.com
>>> https://pairlist5.pair.net/mailman/listinfo/coco
>> 
>> 
>> -- 
>> Coco mailing list
>> Coco at maltedmedia.com
>> https://pairlist5.pair.net/mailman/listinfo/coco
> 
> 
> -- 
> Coco mailing list
> Coco at maltedmedia.com
> https://pairlist5.pair.net/mailman/listinfo/coco



More information about the Coco mailing list