News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_d_kef

CYBOARD for Amstrad CPC – Yet another hardware project

Started by d_kef, 20:15, 08 February 23

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

d_kef

Cyboard is a Symbiface II clone with an embedded Ethernet controller for the Amstrad CPC/Plus.
Unlike Symbiface II, Cyboard doesn't integrate RAM or ROM expansion.

It is an open hardware / open source project so anyone can built one or built on it.
You can find the project files at https://github.com/salafek/cyboard-for-cpc

It has the following devices integrated:
Compact Flash card. Compact flash cards, unlike SD cards, are very easy to be integrated in a hardware design as they need no special controller and they are much more reliable than SD card (at least to my experience). The CF card in my design works in memory mode so it can be directly addressed as an 8-bit device and has no need for initialization via software. Of course it is still recognized by the software as a true IDE device making it compatible with everything I've tried so far. (eg. UniDOS, SymbOS, FutureOS, HDCPM)
RTC. The DS12887 was my first and only choice as it was already supported by SymbOS and FutureOS.
Mouse. A PS/2 implementation with a USB connector. It is based on a PIC16F84A micro-controller which is easy to be found and programmed.
Network. This I consider to be my real contribution. The W5100 was the controller of my choice because you can find many cheap W5100 modules in the market and it is used in many retro-computer interfaces (MSX, Spectrum, KC85 etc.) and there is a big library of TCP/IP routines and software out there that I could reuse or even ask for help from the authors. For example I was able to compile a driver for SymbOS and I was also able to port the KCNet software to the Amstrad CPC with the permission of the author.

The KCNet utilities include:
CPMNET: test program for the Ethernet interface
NCFG: network configuration utility (like ifconfig)
PING: ping utility
TFTP: file transfer with TFTP protocol as client and server
KERMIT: modified Kermit-80 version 4.11 as TELNET client or for the file transfer with KERMIT protocol as client or server
WOL: WakeOnLan client
NTIME: SNTPv4 client for setting the system clock of ZSDOS/ZDDOS-CP/M's and CP/M Plus via NTP server
FTP: "full featured" FTP terminal client
NPRINT: print Client for JetDirect print Server

All utilities have been tested working with CP/M Plus as well as CP/M 2.2

The sources and binaries of the CP/M utilities and the SymbOS driver will be published as soon as I find some time to organize my files.

Here are some videos that demonstrate the utilities.





d_kef

Prodatron

This is just fantastic!!

Quote from: d_kef on 20:15, 08 February 23For example I was able to compile a driver for SymbOS
It seems, that the driver is pretty fast!

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

d_kef

Quote from: Prodatron on 21:26, 08 February 23This is just fantastic!!

Quote from: d_kef on 20:15, 08 February 23For example I was able to compile a driver for SymbOS
It seems, that the driver is pretty fast!
Compared to CP/M it's super fast  :laugh:

d_kef 

Prodatron

Phew, you are right! I didn't watch the CP/M video before. The difference between CP/M and SymbOS looks crazy!...

But it also seems, that your W5100 implementation is really good!

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

d_kef

Quote from: Prodatron on 22:00, 08 February 23Phew, you are right! I didn't watch the CP/M video before. The difference between CP/M and SymbOS looks crazy!...

But it also seems, that your W5100 implementation is really good!
Yes. I think so.
So far everything works flawlessly.
I tried wget on Symbos and I was able to download pictures and pdf files that were several MB in length and everything looked as it should; not on the CPC though...

d_kef

Prodatron

Really cool! I remember that we had some problems on the "Denyonet" Ethernet card on the MSX, which was using the W5100 as well, but had hangs and was slow etc.
At least you should be able to download big ZIP files in SymbOS with WGET and then list and Unzip them with the SymShell UNZIP :P

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

Richard_Lloyd

Richard
CPC464, CPC6128, PCW8512, PCW10, BSA & NSP

HAL6128

Yeah! impressive fast and smooth access to the net. very nice project!
...proudly supported Schnapps Demo, Pentomino and NQ-Music-Disc with GFX

abalore


Gryzor

Cool! Hope someone produces a batch! 

Why did you decide against RAM/ROM expansion?

poulette73


TotO

Good. Because your contribution is the Ethernet module support, an 8x5 cm PCB with the network feature would be great.
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

d_kef

Quote from: Gryzor on 05:05, 09 February 23Cool! Hope someone produces a batch!

Why did you decide against RAM/ROM expansion?
Some people want more.....

Quote from: TotO on 07:28, 09 February 23Good. Because your contribution is the Ethernet module support, an 8x5 cm PCB with the network feature would be great.
Some people want less....

Well you can't make everyone happy :D :D
Anyway it's open hardware so one can build part of it or make it part of a bigger design.
For now I have to upload the gerbers of the current board and the software.
Later I might design different variants and possibly an Ethernet only board. To tell you the truth, that was what I had in mind in the first place.

d_kef

Gryzor

Didn't ask for expansions, it was just a question😄


Gryzor


GUNHED

Nice project! 

Well, out of curiosity: What is the difference between the Cyboard and the M4 expansion regarding access to the internet?
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

d_kef

I'm not sure about that. I do have an M4 but never tried its networking capabilities. Hmm.. 

Regarding the Cyboard, at the moment, it can do NTP, FTP, TFTP, DNS forward and reverse lookup, WGET and TELNET. No HTTP and certainly no SSL, TLS.
If a W6100 module is used instead of the W5100S also IPv6 is possible, although code to support it has yet to be written.
But you are welcome to add some new features yourself.

d_kef 

Prodatron

The W5100 provides TCP and UDP on hardware level, so everything which is based on this can easily be implemented. As nearly everything is either based on TCP and/or UDP, you can do all what you want.

IIRC you can switch one of its 4 sockets to a lower level and could implement some lower protocols by yourself.


Quote from: d_kef on 18:04, 09 February 23WGET and TELNET. No HTTP
Wget is HTTP ;)

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

TotO

Quote from: d_kef on 16:25, 09 February 23Some people want more..... Soeme people want less.... Well you can't make everyone happy :D :D
Hehe. I just said that, because it is interresting to have your Ethernet standalone feature in MX4 format to plug on a MotherX4, when a lot of people already own the compatible mass storage (X-MASS) the ROM/RAM expansion (X-MEM) to complete this setup.
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

d_kef

Quote from: Prodatron on 18:19, 09 February 23The W5100 provides TCP and UDP on hardware level, so everything which is based on this can easily be implemented. As nearly everything is either based on TCP and/or UDP, you can do all what you want.

IIRC you can switch one of its 4 sockets to a lower level and could implement some lower protocols by yourself.


Quote from: d_kef on 18:04, 09 February 23WGET and TELNET. No HTTP
Wget is HTTP ;)

True! But you  know what I meant.

Regarding the routines and software you can write there's always the limitation of Z80. I don't think SSL or TLS is possible and today almost everything is encrypted out there.

d_kef

d_kef

Quote from: TotO on 18:24, 09 February 23
Quote from: d_kef on 16:25, 09 February 23Some people want more..... Soeme people want less.... Well you can't make everyone happy :D :D
Hehe. I just said that, because it is interresting to have your Ethernet standalone feature in MX4 format to plug on a MotherX4, when a lot of people already own the compatible mass storage (X-MASS) the ROM/RAM expansion (X-MEM) to complete this setup.
I know... That's why I plan to design one.

Ok. The truth is that it's almost ready. It also has a name - Net4CPC.
I couldn't resist.......

d_kef 

zhulien

Quote from: GUNHED on 17:27, 09 February 23Nice project!

Well, out of curiosity: What is the difference between the Cyboard and the M4 expansion regarding access to the internet?
M4 has DMA (not the typical Z80 type - but Direct to ROM transfer)

zhulien

what is the fastest you can stream data from a good server with the Cyboard? - if you repeatedly fetch e.g. a 100 byte file over a minute - how many kb's come down?  I am really interested in the number of calls it can make per second.

d_kef

Quote from: zhulien on 07:17, 15 February 23what is the fastest you can stream data from a good server with the Cyboard? - if you repeatedly fetch e.g. a 100 byte file over a minute - how many kb's come down?  I am really interested in the number of calls it can make per second.
I'll have to make some tests and report back.
With CP/M don't expect too much, the real limitation is the OS.
With SymbOS we'll see....

d_kef

Powered by SMFPacks Menu Editor Mod