News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_XeNoMoRPH

New project: WiFi card for CPC

Started by XeNoMoRPH, 18:56, 20 February 24

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

XeNoMoRPH


More hardware for CPC: by @abalore !!! - Stay Tuned !!! :o


your amstrad news source in spanish language : https://auamstrad.es

Gryzor

That's the one you posted about the other day, right? 

XeNoMoRPH

Quote from: Gryzor on 18:59, 20 February 24That's the one you posted about the other day, right?
what ? :o
your amstrad news source in spanish language : https://auamstrad.es

Gryzor

Quote from: XeNoMoRPH on 19:01, 20 February 24
Quote from: Gryzor on 18:59, 20 February 24That's the one you posted about the other day, right?
what ? :o
Ah no that wasn't it, sorry 😁

Cwiiis

Any idea if this will be using the same interface as the M4? That would then make 5 compatible devices (this, SF3, RSF3, RSF3-Lite, M4) and a bunch of software that already works for this, which would be really great :)

abalore

Quote from: Cwiiis on 10:42, 21 February 24Any idea if this will be using the same interface as the M4? That would then make 5 compatible devices (this, SF3, RSF3, RSF3-Lite, M4) and a bunch of software that already works for this, which would be really great :)

Currently the board accepts AT commands and a couple of low level calls to set the buffer addresses, AT commands is the most standard way to manage WiFi devices, so it should be the common standard actually IMHO. But anyway, I guess the M4 interface is a layer on top of the AT protocol, so shouldn't be hard to implement.

My final goal is to use the board to connect to a server where I can get a list of games and download and run them remotely, in either the CPC RAM or in the Play2CPC VROM for larger games (cartridges). I did several working experiments on that subject, with good results, loading time for a regular CPC game is around 0.5 seconds and for large cartridges (512K) it's around 3.5 seconds.

In any case it's in an early stage of development and I have no plans to offer it to the public at this moment. I have also built a version for the printer port, cheaper to build but slower (max 5 kbytes/sec). I think the printer port is under exploited, and many interesting things can be done with it.

dodogildo

#6
Do know the Assembly64 <> Ultimate integration on C64? One can easily run a meta-search on all known repositories for demos, games, intros, music etc on the C64 itself and mount or run them on the fly.
Something similar would be awesome for CPC as well..
M'enfin!

abalore

Quote from: dodogildo on 11:20, 21 February 24Do know the Assembly64 <> Ultimate integration on C64? One can easily run a meta-search on all known repositories for demos, games, intros, music etc on the C64 itself and mount or run them on the fly.
Something similar would be awesome for CPC as well..
That's exactly the plan.

abalore

Here a small test of downloading and running a game from WiFi



GUNHED

What is the M4 expansion lacking? What can this new device do in addition?
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)

overange

#10
 
Quote from: abalore on 11:54, 21 February 24Here a small test of downloading and running a game from WiFi
Could this device be used with FUJINET, if the FUJINET interface was created?

This would be an the ideal hardware interface for the FUJINET project.

https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/fujinet-for-the-cpc/
Current Usable Collection = 800XL / XE Remake / 1100 Drive / Sinclair ZX Spectrum 48k ( Rubber Key ) / Sinclair ZX Spectrum Harliquin 128k ( Rubber Key ) / Amstrad CPC6128 Plus / Amstrad GX4000 / Sega Master System / Sega Mega Drive / Nintendo DMG-01 Gameboy / Amiga CD32 / AMSTRAD MEGAPC 386SX and possibly the UKs largest Collection of Competition Pro Joysticks, so far 40 different variations and always looking for more

abalore

Quote from: GUNHED on 16:55, 21 February 24What is the M4 expansion lacking? What can this new device do in addition?

Why do you think should it add anything to the M4?

It's a WiFi board. Period. I need it for my experiments, and it's much cheaper to build than the price of a M4.

I don't need massive storage, SD reader, ROM management, cartridge emulation, etc.

abalore

Quote from: overange on 17:54, 21 February 24
Quote from: abalore on 11:54, 21 February 24Here a small test of downloading and running a game from WiFi
Could this device be used with FUJINET, if the FUJINET interface was created?

This would be an the ideal hardware interface for the FUJINET project.

https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/fujinet-for-the-cpc/

You can connect to any Internet based service just implementing the right protocol in software. It's not a matter of hardware. The board is fast enough to play full screen streamed video and audio in the CPC. I'm not very familiar with the Fujinet project, but I guess the speed wouldn't be an issue.

HAL6128

Sound like an interesting board and project.
You're sending a regular AT command via character byte OUT to that board?

 Keep us informed!
...proudly supported Schnapps Demo, Pentomino and NQ-Music-Disc with GFX

abalore

Quote from: HAL6128 on 18:53, 21 February 24Sound like an interesting board and project.
You're sending a regular AT command via character byte OUT to that board?

 Keep us informed!

Yes, 1 OUT = 1 character written, 1 IN = 1 character read. The CPLD makes internally the parallel to serial conversion and viceversa within the time of an instruction.

In fact, to write I do " outi : inc b : and to read " ini : inc b "

So I can unroll the loops to get faster speeds. One write or read operations takes 6 T, updating automatically HL for next byte.

overange

Quote from: abalore on 18:38, 21 February 24
Quote from: overange on 17:54, 21 February 24
Quote from: abalore on 11:54, 21 February 24Here a small test of downloading and running a game from WiFi
Could this device be used with FUJINET, if the FUJINET interface was created?

This would be an the ideal hardware interface for the FUJINET project.

https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/fujinet-for-the-cpc/

You can connect to any Internet based service just implementing the right protocol in software. It's not a matter of hardware. The board is fast enough to play full screen streamed video and audio in the CPC. I'm not very familiar with the Fujinet project, but I guess the speed wouldn't be an issue.
To get a CPC version of FUJINET working with your adapter would be a fantastic pairing :)



Current Usable Collection = 800XL / XE Remake / 1100 Drive / Sinclair ZX Spectrum 48k ( Rubber Key ) / Sinclair ZX Spectrum Harliquin 128k ( Rubber Key ) / Amstrad CPC6128 Plus / Amstrad GX4000 / Sega Master System / Sega Mega Drive / Nintendo DMG-01 Gameboy / Amiga CD32 / AMSTRAD MEGAPC 386SX and possibly the UKs largest Collection of Competition Pro Joysticks, so far 40 different variations and always looking for more

Prodatron

Hi @abalore , very interesting!
What Wifi module are you using? Something like the ESP8266 or ESP32?
I remember that Octoate made some experiences with a CPC Minibooster connected to a ESP8266 Wifi module, and the results looked very similiar to yours.

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

abalore

Quote from: Prodatron on 11:34, 22 February 24Hi @abalore , very interesting!
What Wifi module are you using? Something like the ESP8266 or ESP32?
I remember that Octoate made some experiences with a CPC Minibooster connected to a ESP8266 Wifi module, and the results looked very similiar to yours.
Hello, it's called WizFi360, from the web site:

"WizFi360 is based on the W600 chip which features ARM Cortex-M3 with 1MB on-chip flash and freeRTOS kernel."

The module is cheap and features a SPI port rated at 50 mpbs, but in practice it reach 20 mbps (my project runs at 8 or 10 mpbs depending on the clock attached to the CPLD). It could run faster but it's not required because the bottleneck being the Z80.

Prodatron

Thanks for the info!
- would it be possible to open multiple connections at the same time?
- it will probably buffer incoming data, what is the buffer size?

So if I understand it correctly the hardware is easy to build?

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

abalore

#19
Quote from: Prodatron on 13:34, 22 February 24Thanks for the info!
- would it be possible to open multiple connections at the same time?
- it will probably buffer incoming data, what is the buffer size?

So if I understand it correctly the hardware is easy to build?

Yes, it's possible to open multiple connections, on both TCP and UDP, and it has an integrated web server too if needed. It can act as WiFi station, access point, or both simultaneously. The TCP buffer is 21900 bytes, and you can set a buffer for SSL of 2048 or 4096 bytes.

Regarding the hardware, you can use the module in UART or SPI mode. So you need something with a UART (I think Usifac and derivates have it), for SPI you can use a microcontroller, FPGA, CPLD, or nothing. In my printer port version of the board, I just wire the SPI pins to the parallel port pins (with voltage level conversion) and do the SPI protocol in software.

The advantage of SPI is that it's many times faster than UART which is max 2 mbps.

HAL6128

#20
That "raw" SPI connection through the printer port sounds cool and old school.
With a further microcontroller you could have already used a M4. So no need :)
Nice project.
...proudly supported Schnapps Demo, Pentomino and NQ-Music-Disc with GFX

Prodatron

Quote from: abalore on 14:21, 22 February 24Yes, it's possible to open multiple connections, on both TCP and UDP, and it has an integrated web server too if needed. It can act as WiFi station, access point, or both simultaneously. The TCP buffer is 21900 bytes, and you can set a buffer for SSL of 2048 or 4096 bytes.
Sounds really good. I would like to write a SymbOS Network Daemon driver for it, then around a dozend apps would already be available.
I wonder about your plans for this.
As you don't want to make a batch by your own: Will you make the hardware open source, so maybe another one could do a batch?

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

abalore

Quote from: Prodatron on 21:57, 22 February 24
Quote from: abalore on 14:21, 22 February 24Yes, it's possible to open multiple connections, on both TCP and UDP, and it has an integrated web server too if needed. It can act as WiFi station, access point, or both simultaneously. The TCP buffer is 21900 bytes, and you can set a buffer for SSL of 2048 or 4096 bytes.
Sounds really good. I would like to write a SymbOS Network Daemon driver for it, then around a dozend apps would already be available.
I wonder about your plans for this.
As you don't want to make a batch by your own: Will you make the hardware open source, so maybe another one could do a batch?
Why not? I will shape the project to its final form and then we'll see.

abalore

I finally broke the project into two different ones.

One SPI adapter for CPC, and one WIFI module that plugs into the SPI adapter. So the SPI adapter can be user for any other SPI device.

abalore

New video using the WiFi board to play a telnet game (MUD). Upper panel is the game terminal, lower panel is the AT console. At the bottom it's the command input, all asynchronous.


Powered by SMFPacks Menu Editor Mod