[MSX-SM] UNAPI Driver and ESP8266 Firmware Beta Version Presentation

Page 1/2
| 2

By ducasp

Master (166)

ducasp's picture

08-07-2019, 17:43

I've made a video (unscripted, unedited, as you can see when I almost curse because I thought it stopped recording and there is a crash showed once Tongue ) showing the current progress of Internet / Network on MSX-SM. I've made the FPGA part of the "serial adapter" between ESP-01 and MSX-SM (and Victor Trucco has helped me on this part, as this was my first FPGA design), the UNAPI driver (that is mostly something that send the functions and parameters over the interface and get the response backs) and the ESP8266 firmware (that is the nicest part, the firmware is an UNAPI implementation so there is little buffering / processing / state machine on the driver itself, offloading a lot of the work z80 would be doing).

https://www.youtube.com/watch?v=kLHe0UJNkC0

The HGET/TFTP/SNTP tools I've modified are available (source and binary) at https://github.com/ducasp/MSX-Development/tree/master/UNAPI.

P.s.: video is 720p but it seems at the moment I'm writing this youtube only has the 360p stream ready oO

Login or register to post comments

By ducasp

Master (166)

ducasp's picture

18-07-2019, 04:48

A short update:

https://www.youtube.com/watch?v=q6pZJ3NKJqg

Taking advantage of the new UNAPI TCP-IP version (1.1), that opens up the possibility of supporting TLS over TCP connections (so HTTPS is possible), I've implemented the support for HTTPS in Konamiman HGET (still testing and making sure there are no stupid bugs before releasing it) as well the support for TLS connections in MSX-SM UNAPI Driver. Of course TLS is not done on z80 (it is not feasible), it is done by ESP8266 that is quite more powerful (32 bits, 160MHz, but it doesn't have hardware acceleration for all encryptions, so it takes a few seconds to handshake/exchange keys with servers). It is not as fast as HTTP (since it involves encryption/decryption on each block), I've measured about 15KB/s on large files, but it is still quite good. There is a chance that in the future speed can get better. B-)

By hamlet

Scribe (2637)

hamlet's picture

18-07-2019, 08:42

TLS over TCP on MSX sounds amazing!

By Giangiacomo Zaffini 2

Master (167)

Giangiacomo Zaffini 2's picture

18-07-2019, 11:20

How long before network booting latest NEXTOR o s. or other via https/ssh or packet managers via ssh ?

By Grauw

Ascended (8515)

Grauw's picture

18-07-2019, 18:39

A standalone cartridge with ESP8266 would also be possible, right?

By DamnedAngel

Master (144)

DamnedAngel's picture

18-07-2019, 19:44

Grauw wrote:

A standalone cartridge with ESP8266 would also be possible, right?

I like your thread of thought very much... Smile

By ducasp

Master (166)

ducasp's picture

18-07-2019, 20:23

Grauw wrote:

A standalone cartridge with ESP8266 would also be possible, right?

It sure is, Xavirompe (Rookie Drive) was designing one (XSWifi).

If anyone wants to integrate the firmware and UNAPI driver I did in their design (or need any help on the design part), we can talk for sure and reach an agreement. I'm for sure willing to have as much devices using it as possible. Wink

By Grauw

Ascended (8515)

Grauw's picture

18-07-2019, 21:08

Your work on a modified ESP8266 firmware could be very useful for that! Big smile

By xavirompe

Resident (37)

xavirompe's picture

19-07-2019, 13:28

Hi Ducasp!!
Congratulations about your project's success!!

Nice work, you did a lot of work done since our last conversation :-)

I am still working on XSWifi, for now I have a working proto with 512K of RAM for the MSX and the ESP8266, my UNAPI implementation not completed yet, the TCP active conections are working good (tested with HGET, OBSOFTP, MSXHUB, TCPCON). The pasive connections need to be reprogrammed, and also UDP connections are not implemented. DNS resolution is also working.

Sorry guys for the delay, it's a big project since it combines the hardware design, NEXTOR driver, TCP UNAPI, ESP8266 firmware..

Some cool features that I am working on: online firmware update, SNTP at boottime, internal storage (for now about 3MB), and probably USB for Nextor (FAT16), and the "Webdisk" a remote disk image (read only) via HTTP protocol, using an standard web server to host the image.

I also have other thinks hitting my mind, like a direct Net-to-Ram mode, allowing to software developers to test their work as fast as posible. A debug interface will be another great think to explore...

By Giangiacomo Zaffini 2

Master (167)

Giangiacomo Zaffini 2's picture

19-07-2019, 16:20

Wow!
This will add unthinkable tools and new means for MSX developments.
Keep It on with the hard work!

By ducasp

Master (166)

ducasp's picture

19-07-2019, 17:50

xavirompe wrote:

Hi Ducasp!!
Congratulations about your project's success!!

Nice work, you did a lot of work done since our last conversation :-)

I am still working on XSWifi, for now I have a working proto with 512K of RAM for the MSX and the ESP8266, my UNAPI implementation not completed yet, the TCP active conections are working good (tested with HGET, OBSOFTP, MSXHUB, TCPCON). The pasive connections need to be reprogrammed, and also UDP connections are not implemented. DNS resolution is also working.

Sorry guys for the delay, it's a big project since it combines the hardware design, NEXTOR driver, TCP UNAPI, ESP8266 firmware..

Some cool features that I am working on: online firmware update, SNTP at boottime, internal storage (for now about 3MB), and probably USB for Nextor (FAT16), and the "Webdisk" a remote disk image (read only) via HTTP protocol, using an standard web server to host the image.

I also have other thinks hitting my mind, like a direct Net-to-Ram mode, allowing to software developers to test their work as fast as posible. A debug interface will be another great think to explore...

Hi Xavi,

Perhaps you could do it like Eugeny did with GR8NET, deliver some features and then on each firmware update you can deliver new features... On such big project it might be a good approach. ????

Page 1/2
| 2