retrohackers.com
http://retrohackers.com/

A picture is worth 1000 words. Here's 3000 words.
http://retrohackers.com/viewtopic.php?f=5&t=599
Page 1 of 3

Author:  Six [ Sat Oct 30, 2010 11:11 pm ]
Post subject:  A picture is worth 1000 words. Here's 3000 words.

At least some of those words are "Why is antidote always busy?", and "Hey, this telnet client is <900 bytes.".

http://www.flickr.com/photos/43643094@N08/5129813558/
http://www.flickr.com/photos/43643094@N08/5129809730/
http://www.flickr.com/photos/43643094@N08/5129209309/

Author:  jonnosan [ Sat Oct 30, 2010 11:43 pm ]
Post subject:  Re: A picture is worth 1000 words. Here's 3000 words.

where's the pix?

Author:  Six [ Sun Oct 31, 2010 4:53 am ]
Post subject:  Re: A picture is worth 1000 words. Here's 3000 words.

(fixed picture links above)

Author:  jonnosan [ Sun Oct 31, 2010 11:41 am ]
Post subject:  Re: A picture is worth 1000 words. Here's 3000 words.

sweet!

how soon till we can play with it?

Author:  groepaz [ Sun Oct 31, 2010 5:52 pm ]
Post subject:  Re: A picture is worth 1000 words. Here's 3000 words.

didnt i post bitbreakers wiznet schematics a while ago? =)

Author:  Six [ Mon Nov 01, 2010 4:21 am ]
Post subject:  Re: A picture is worth 1000 words. Here's 3000 words.

This is a different project, groepaz - no RR or clockport required.

The cart in the pic is one of the Super Snapshot clones _dW designed for ECCC 2006.

If you check out Glen Holmer's pix from C4 back in May, that's when the first round of protos were assembled.

The basic IO lib is working out to around 1K, but I'm working on DHCP/DNS right now. The thing is pingable as soon as you initialize it. I'm hoping once I've optimized the lib, it can be around 1.5K with DHCP/DNS.

Author:  jonnosan [ Mon Nov 01, 2010 9:12 am ]
Post subject:  Re: A picture is worth 1000 words. Here's 3000 words.

Six wrote:
The basic IO lib is working out to around 1K, but I'm working on DHCP/DNS right now. The thing is pingable as soon as you initialize it. I'm hoping once I've optimized the lib, it can be around 1.5K with DHCP/DNS.


Would you consider implementing the Kipper API on top of wiznet?

That would make it possible to write a TCP client app that worked with either RR-NET or Wiznet.

geoLink also uses a slightly modified implementation of that API to split the ip65 code (which must be assembled with ca65) from the rest which is written with geoProgrammer, so a wiznet version of the Kipper API would probably facilitate a port of geoLink to your boars as well.

The Kipper API spec is http://netboot65.sourceforge.net/kipper ... erence.doc

Given that (AFAIK) there is a total of 1 implementation (KipperKart) of the API, and 1 app that actually uses that API so far (being WebNoter) we can modify that spec a bit if needed to get better compatability between implementations.

Author:  ShadowM [ Mon Nov 01, 2010 2:03 pm ]
Post subject:  Re: A picture is worth 1000 words. Here's 3000 words.

Six wrote:
I'm working on DHCP/DNS right now.


How are you handling timeouts? Can the Wiznet's hardware do that, or must it be in the API?

Author:  groepaz [ Mon Nov 01, 2010 7:09 pm ]
Post subject:  Re: A picture is worth 1000 words. Here's 3000 words.

Quote:
This is a different project, groepaz - no RR or clockport required.

uh yeah. well. an inverted addressline and a trivial change in decoding logic. but sure, its "different" =) (infact, bitbreaker had one connected straight to expansionport aswell)

Quote:
The cart in the pic is one of the Super Snapshot clones _dW designed for ECCC 2006.

i know .... speaking of that, i am still waiting for my prototype, and countzero aswell i guess =)

Author:  Six [ Tue Nov 02, 2010 12:26 am ]
Post subject:  Re: A picture is worth 1000 words. Here's 3000 words.

Quote:
uh yeah. well. an inverted addressline and a trivial change in decoding logic. but sure, its "different" =) (infact, bitbreaker had one connected straight to expansionport aswell)

Unfortunately for me I didn't have the benefit of bitbreaker's design when I was originally working this out. If you think it's a better design, I'll give it a look. I definitely need to get away from the pre-assembled Arduino wiznet module.

Revision TWO of this prototype, May 2009 - Brain had to fix my ham-handed soldering, refine the logic, scold me about using 12 guage wire for protyping: Image

Author:  Six [ Tue Nov 02, 2010 3:25 pm ]
Post subject:  Re: A picture is worth 1000 words. Here's 3000 words.

jonnosan wrote:
Would you consider implementing the Kipper API on top of wiznet?
That would make it possible to write a TCP client app that worked with either RR-NET or Wiznet.

I was actually going to ask you the same thing. ShadowM has the on the other prototype of this design. I don't know if IP65 would adapt to this model well or not. You may want to roll a whole new wrapper for cards that handle their own stack. I've got a small lib I'm using to test things, but it needs a serious cleanup. I suspect someone with more time on their hands could get it down to <512 bytes for just init/send/receive over UDP.

The first thing I did was make a udpslave work-alike loader stub for it so I could move code easily, so UDP server mode is well tested.

Author:  Schema [ Tue Nov 02, 2010 8:08 pm ]
Post subject:  Re: A picture is worth 1000 words. Here's 3000 words.

Six wrote:
I've got a small lib I'm using to test things, but it needs a serious cleanup. I suspect someone with more time on their hands could get it down to <512 bytes for just init/send/receive over UDP.

I'm thrilled to learn this board supports UDP as well. Idea for realtime network games, and gets you away from the limitations of 4 maximum connections for TCP.

I have no free time to look at this, but am following the progress closely!

Author:  Six [ Tue Nov 02, 2010 8:50 pm ]
Post subject:  Re: A picture is worth 1000 words. Here's 3000 words.

Schema wrote:
I'm thrilled to learn this board supports UDP as well. Idea for realtime network games, and gets you away from the limitations of 4 maximum connections for TCP.

TCP should work well enough, though. I wouldn't go trying to make the 64 the server for a network game in any event.

I wish someone else would start building these out as prototypes so we could get some real development push behind this.

Author:  jonnosan [ Wed Nov 03, 2010 8:00 am ]
Post subject:  Re: A picture is worth 1000 words. Here's 3000 words.

Six wrote:
jonnosan wrote:
Would you consider implementing the Kipper API on top of wiznet?

I was actually going to ask you the same thing.

Well I'd be interested, but without a card, I'm kind of stuck :-)

Six wrote:
I don't know if IP65 would adapt to this model well or not. You may want to roll a whole new wrapper for cards that handle their own stack.


From what I can work out from the wiznet docs I can find online the functions exposed through the KIPPER API would actually map reasonably closely as they are all quite high level (e.g. look up a hostname, connect to an IP address, listen on a port) - the majority of the ip65 'low level' code (e.g. recieve an ethernet packet, do an ARP requeste, calculate an IP checksum), is hidden.

There may be some features of the wiznet stack you couldn't use, but what I had in mind would be a wrapper that implemented the KIPPER API that would be for "downstream" compatibility only, I'd expect it to be a supplement to, not replacement of, a wiznet 'native' lib. Some people may want to build a single client that can use an RR-NET or Wiznet card, but in doing so you would be consciously choosing to limit yourself to whatever works on an RR-NET ip65 stack (apart from anything else, you lose about 16KB RAM to the IP stack)

Author:  brain [ Thu Nov 04, 2010 5:48 am ]
Post subject:  Re: A picture is worth 1000 words. Here's 3000 words.

At ECCC, we did find that IRQ on the board has to be handled a bit special (It's not an OC pin, so you have to turn it into one, or it prevents IRQs of any kind from happening on the unit. And, I was adamant the design needed to support IRQ.

If there a bit of 8 bit baby or other proto-board stock available, more boards should be easy to make (essentially, using a '04 and '10 to create /WR and /RD, and a '06 for IRQ massaging. A rewire might allow cheaper ICs, or fewer (I cheated, dragged /CS low, and did all the signalling in /WR and /RD. But, it's probably best for /RD to be /(/R * PHI2) and /WR to be /(/(/R) * (PHI2)) and /CS = /IO1, with the C64 /IRQ being /(/(/INT)) using a '06. That would allow the use of '00 and '04 along with the '06. The '06 might be replaceable with a single transistor (PNP?), but I don't know.

Jim

Page 1 of 3 All times are UTC + 1 hour [ DST ]
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/