English Amiga Board


Go Back   English Amiga Board > Support > support.Hardware > Hardware mods

 
 
Thread Tools
Old 29 January 2023, 12:45   #1
jbilander
Registered User
 
jbilander's Avatar
 
Join Date: Jun 2018
Location: Stockholm
Age: 48
Posts: 263
Amiga and esp-link

Connect a PC and an Amiga together just like with a null-modem cable (PC<->Amiga) but without having to use a physical cable between the machines.

If anyone is interested in setting this up I have documented how I did here:
https://github.com/jbilander/amiga-esp-link

Happy Hackin´

Last edited by jbilander; 29 January 2023 at 13:01.
jbilander is offline  
Old 29 January 2023, 15:16   #2
hooverphonique
ex. demoscener "Bigmama"
 
Join Date: Jun 2012
Location: Fyn / Denmark
Posts: 1,624
Nice.. Starred your repo

I suppose an important note is that the RS232 to TTL serial adapter must be a 3.3V one, not 5V.
hooverphonique is offline  
Old 29 January 2023, 15:34   #3
jbilander
Registered User
 
jbilander's Avatar
 
Join Date: Jun 2018
Location: Stockholm
Age: 48
Posts: 263
Thanks, yes correct, the esp8266 is not 5V-tolerant on the GPIO-pins. The RS232-to-TTL module can be fed with VCC +5V though but not in this setup. Using it for example with an AVR-microcontroller (Arduino board) it would be possible (or even recommended).
jbilander is offline  
Old 30 January 2023, 13:39   #4
pandy71
Registered User
 
Join Date: Jun 2010
Location: PL?
Posts: 2,741
Quote:
Originally Posted by jbilander View Post
Connect a PC and an Amiga together just like with a null-modem cable (PC<->Amiga) but without having to use a physical cable between the machines.

If anyone is interested in setting this up I have documented how I did here:
https://github.com/jbilander/amiga-esp-link

Happy Hackin´
Nice! Are you ever considered hooking esp trough floppy not serial port so getting 250/500kbps DMA speed?
pandy71 is offline  
Old 30 January 2023, 16:04   #5
jbilander
Registered User
 
jbilander's Avatar
 
Join Date: Jun 2018
Location: Stockholm
Age: 48
Posts: 263
Thanks, personally I only have a small need for transferring a file across from time to time after having cross-compiled something on my PC for the Amiga. Usually a small device driver or something like that which I want to try on real hardware.

I haven't really thought about using the floppy port for that but I did think about the parallel-port. My thinking was it would be fairly easy to setup a FTP-server on a ESP32 (using a SD-card) but then you would have to implement some kind of file transfer protocol on the ESP32<->Amiga using the parallel port, lets say Zmodem (over parallel) which would be an interesting task to do, but right now I don't have enough spare time for anything like that. I went with stuff that were already available.
jbilander is offline  
Old 30 January 2023, 17:25   #6
pandy71
Registered User
 
Join Date: Jun 2010
Location: PL?
Posts: 2,741
Quote:
Originally Posted by jbilander View Post
I haven't really thought about using the floppy port for that but I did think about the parallel-port. My thinking was it would be fairly easy to setup a FTP-server on a ESP32 (using a SD-card) but then you would have to implement some kind of file transfer protocol on the ESP32<->Amiga using the parallel port, lets say Zmodem (over parallel) which would be an interesting task to do, but right now I don't have enough spare time for anything like that. I went with stuff that were already available.
Hmmm smells like PARNET with no cable, floppy port is tempting as Amiga can be booted so everything to run it may be provided remotely.
pandy71 is offline  
Old 31 January 2023, 19:47   #7
jbilander
Registered User
 
jbilander's Avatar
 
Join Date: Jun 2018
Location: Stockholm
Age: 48
Posts: 263
Quote:
Originally Posted by pandy71 View Post
Hmmm smells like PARNET with no cable, floppy port is tempting as Amiga can be booted so everything to run it may be provided remotely.
Isn't Parnet more like you mount a network drive Amiga<->Amiga, more like Samba or NFS?. I was more thinking of something like a ESP32 filehub that would connect to the parallel-port and where you would use the ftp-protocol to transfer files to/from your PC (using your home wifi network). The ESP32 would run a ftp-server and the storage would be a MicroSD-card with lets say 32 GB, and then some other file transfer protocol for ESP32<->Amiga over parallel. Zmodem, Kermit or something like that, but it would require a lot of work to implement that software on both the ESP32 and on the Amiga side, because I don't think anything like that already exists, at least not on the ESP32 side. For the Amiga serial-port lots of terminal software exists from back in the day.

Anyway, today I tried transfer 512KB (DiagROM) via the esp-link and it took around 12 minutes so you don't want to do large backups this way. I also verified that esp-link works with diagrom if you set the speed to 9600 baud.



jbilander is offline  
Old 01 February 2023, 13:15   #8
pandy71
Registered User
 
Join Date: Jun 2010
Location: PL?
Posts: 2,741
Quote:
Originally Posted by jbilander View Post
Isn't Parnet more like you mount a network drive Amiga<->Amiga, more like Samba or NFS?.
more or less yes - so emulating basic PARNET on ESP side could be neat way to use already existing software on Amiga.

Quote:
Originally Posted by jbilander View Post
I was more thinking of something like a ESP32 filehub that would connect to the parallel-port and where you would use the ftp-protocol to transfer files to/from your PC (using your home wifi network). The ESP32 would run a ftp-server and the storage would be a MicroSD-card with lets say 32 GB, and then some other file transfer protocol for ESP32<->Amiga over parallel. Zmodem, Kermit or something like that, but it would require a lot of work to implement that software on both the ESP32 and on the Amiga side, because I don't think anything like that already exists, at least not on the ESP32 side. For the Amiga serial-port lots of terminal software exists from back in the day.
Not sure which of those is least demanding in terms of the development time.

PARNET already exist, seem to work and offer neat functionality but have no clue how to easily translate it to ESP - i could imagine for example ESP32 equipped with two cores and one of cores could emulate MC68k so some code from Amiga could be used directly... but this may create series other issues...

Serial protocols on other side seem to be simple enough to be implemented... For sure there is at least few projects like those: https://github.com/bozimmerman/Zimodem
https://github.com/jsalin/esp8266_modem

perhaps someone from EAB could help on this - i personally like such projects like your and find them way more interesting than porting some game but...

Quote:
Originally Posted by jbilander View Post
Anyway, today I tried transfer 512KB (DiagROM) via the esp-link and it took around 12 minutes so you don't want to do large backups this way. I also verified that esp-link works with diagrom if you set the speed to 9600 baud.
So my assumption is ROMWACK and SAD should work also correctly.

Well i bet 0.7KBps can be improved but as you wrote already this require precious time so having slow transfer is always better to no transfer at all...

Thanks once again!
pandy71 is offline  
Old 02 February 2023, 09:37   #9
jbilander
Registered User
 
jbilander's Avatar
 
Join Date: Jun 2018
Location: Stockholm
Age: 48
Posts: 263
No problem,

If there are any interest from anyone to start coding this let me know. I actually started a github-repo (private) using a SimpleCLI (for making your own commands) which I can execute via UART on the ESP32, and I also started looking at setting up a simple FTP-server on the ESP32, and then I realized it'll take too much of my spare time implementing the ESP32<->Amiga file transferring protocol. I could make my repository public if there are interest to continue this, it's only a base structure set so far where you build and/or deploy to the ESP32 with a single click in VSCode, code is C++. I could probably finish the FTP-server setup but I don't have time to look at implementing the rest.

I did take a look at different file transfer protocols and the ones that stood out to me were these two below. I glanced at the source code and it looks readable also with some docs included. I think they could be ported to Amiga/ESP32 but of course there is a great bit of a challenge to also adapt it to using the parallel-port, but could be a fun exercise .

hs-link source (121b7sc.zip):
https://www.toogam.com/software/arch...ilexfer/modem/

zmodem source:
https://mirror.fsf.org/pmon2000/3.x/...oaders/zmodem/

I also saw there was a Parnet attempt to make Parnet work with a PC.
http://aminet.net/package/comm/net/parpc04
jbilander is offline  
Old 05 February 2023, 12:11   #10
jbilander
Registered User
 
jbilander's Avatar
 
Join Date: Jun 2018
Location: Stockholm
Age: 48
Posts: 263
The repo is public now if anyone wants to take this further.

https://github.com/jbilander/ESP32-F...FileServer.ino

As you can see from the screenshot I have FTP and SD-card working and some SimpleCLI command to list the contents of the SD-card with ls.




Demo video:
https://drive.google.com/file/d/1DhW...ew?usp=sharing

Left to do is "only" to implement the Amiga<->ESP32 file transfer protocol, heh

Also in the longer run it should probably be good to switch to using https://github.com/greiman/SdFat/ instead so that using a exFAT formatted card is a possibility and also date modified on files can be retained. Perhaps this would mean to hack on the FTP-Server side of things as well, I think so because currently it uses the SDK built-in SD.h FS.h. This was more a POC (Proof Of Concept) what I did.

Last edited by jbilander; 05 February 2023 at 13:04.
jbilander is offline  
Old 06 February 2023, 22:00   #11
pandy71
Registered User
 
Join Date: Jun 2010
Location: PL?
Posts: 2,741
Sadly to say but im not a software guy so can't help you...
pandy71 is offline  
Old 28 February 2023, 17:02   #12
jbilander
Registered User
 
jbilander's Avatar
 
Join Date: Jun 2018
Location: Stockholm
Age: 48
Posts: 263
For information. I have ported the FTP-Server now to instead use Bill Greiman's SdFat library and now exFAT-formatted cards can be used too, yay!, not only FAT and FAT32. I also implemented the MFMT-command so that timestamp for date modified is preserved on files transferred.



A short vid here...
https://drive.google.com/file/d/1AzC...ew?usp=sharing

The FTP-library is open source and available here:
https://github.com/jbilander/ESP32-F.../tree/main/src

Now we only need to implement a file transfer protocol between the ESP32 and the Amiga to ping-pong files across over the parallel link to have a great Amiga backup device

I think making a separate library for that protocol would be suitable.

Would be great if someone has more time to tinker with this. I'm currently running the SPI at 8 MHz. It can probably be sped up if put on a PCB. I haven't tried to run faster with the wire-wrap prototype. Anyway the bottleneck will be the Amiga's parallel port capacity.
jbilander is offline  
Old 12 April 2023, 11:57   #13
jbilander
Registered User
 
jbilander's Avatar
 
Join Date: Jun 2018
Location: Stockholm
Age: 48
Posts: 263
I have done some more work on this hobby project.

I made this PCB-design that converts the Amiga's RS232 to LVTTL.



https://github.com/jbilander/Amiga_R...LVTTL_adapter/

It takes Power from the +12V pin from the Serial port. Amiga serial port has +12V power output rated for 20mA max. It is fed through a 47 Ohm 1/2-watt resistor. This small device uses a step-down converter (TPS54308) U1 that steps it down to 3.3V and with the efficiency (around 85%) of this IC it can allow current draw of something like 50 mA without problem which will be enough for driving the MAX3232 IC, hence no external power needed, well it remains to be seen/tested. Also it fits inside the plastic shell of a D-sub DB25 and I managed to route the board without any vias on the signal-lines which should be great for signal integrity, impedance and low noise perspective.

I have also made a PCB carrier-board design for hooking up the ESP32-DEVKIT-V1 board to the parallel-port with level-shifting and all that jazz, but I will not release that one just yet. I will first have to confirm that the pin assignment that I have chosen works, and level shifting and so on. A small bonus might be that this combo may work like a combined wifi Plipbox/SDBox if the AVR firmware is ported/adapted to ESP32. However, my tinkering will be with the FTP-server and the file transfer protocol for the parallel-port, when times allow. I have now implemented/added Telnet as an option to control and send commands to the ESP32 but I haven't pushed all that code just yet. If anyone is interested in hacking and helping then let me know. I will soon order PCBs and may have a spare one for Happy Hackers

Many thanks to Eriond for helping with the Power-circuit calculations and recommendations (for the RS232 to LVTTL-adapter).

Last edited by jbilander; 12 April 2023 at 12:35. Reason: typo
jbilander is offline  
Old 12 April 2023, 12:48   #14
hooverphonique
ex. demoscener "Bigmama"
 
Join Date: Jun 2012
Location: Fyn / Denmark
Posts: 1,624
Given the small amount of power available at the port, why are you dissipating some of it in a 47R resistor?
hooverphonique is offline  
Old 12 April 2023, 12:53   #15
jbilander
Registered User
 
jbilander's Avatar
 
Join Date: Jun 2018
Location: Stockholm
Age: 48
Posts: 263
The 47 Ohm resistor is on the Amiga motherboard side. I wish the C= engineers would have designed it differently or at least put a higher wattage power resistor in there. Same problem is on the Parallel port 5V line (except for the A1000 that seems to be without)
jbilander is offline  
Old 13 April 2023, 14:36   #16
hooverphonique
ex. demoscener "Bigmama"
 
Join Date: Jun 2012
Location: Fyn / Denmark
Posts: 1,624
Quote:
Originally Posted by jbilander View Post
The 47 Ohm resistor is on the Amiga motherboard side.
Ahh, of course - sorry for my stupid comment
hooverphonique is offline  
Old 14 April 2023, 13:36   #17
jbilander
Registered User
 
jbilander's Avatar
 
Join Date: Jun 2018
Location: Stockholm
Age: 48
Posts: 263
There are no stupid questions .

Here some screenshots of the Parallel-to-ESP32 board I've been fiddling with in KiCAD:











I know some people dislike the design approach of using a devboard ontop another board, a double-decker, when you could have designed everything on the first board. That is true and maybe it would work and look nicer that way, idk, however the cost for the ESP32-Devkit-V1 module is 7€ delivered from places like AliExpress and the likes. Together with the other components, the D-sub DB25-connector, the MicroSD-card holder, the level shifter IC and the PCB I estimate the cost will be around €20 in total and easy to build, very hard to beat that price when ordering individual components from Mouser or Digikey and also adding the time to solder the d***n thing...and the design is for prototyping anyway at this stage. Just in case you wonder about the current design, why it looks the way it does. The SDBox-V2 case should fit this board too with some small modifications for the cut-outs in the back and perhaps some height changes is necessary too.
jbilander is offline  
Old 14 April 2023, 14:55   #18
pandy71
Registered User
 
Join Date: Jun 2010
Location: PL?
Posts: 2,741
Quote:
Originally Posted by jbilander View Post
I know some people dislike the design approach of using a devboard ontop another board, a double-decker, when you could have designed everything on the first board. That is true and maybe it would work and look nicer that way, idk, however the cost for the ESP32-Devkit-V1 module is 7€ delivered from places like AliExpress and the likes. Together with the other components, the D-sub DB25-connector, the MicroSD-card holder, the level shifter IC and the PCB I estimate the cost will be around €20 in total and easy to build, very hard to beat that price when ordering individual components from Mouser or Digikey and also adding the time to solder the d***n thing...and the design is for prototyping anyway at this stage. Just in case you wonder about the current design, why it looks the way it does. The SDBox-V2 case should fit this board too with some small modifications for the cut-outs in the back and perhaps some height changes is necessary too.
no point in reinventing wheel - such piggyboard is OK from practical perspective - no point in making single PCB unless your intention is mass production but i seriously doubt that modern Amiga community scale is sufficient to justify such approach.
Great work JB, THX!
pandy71 is offline  
Old 30 April 2023, 12:46   #19
jbilander
Registered User
 
jbilander's Avatar
 
Join Date: Jun 2018
Location: Stockholm
Age: 48
Posts: 263
Thanks,

The RS232 adapter I made seems to work fine. I just tried it with esp-link and using Kermit:




vid here:
https://drive.google.com/file/d/105O...ew?usp=sharing

I had to "set carrier-watch off" in Kermit (Amiga side) since DTR CD are not cross-connected when not using the StarTech-plug, I think.

Next will be to solder up the Parallel_to_ESP32 board.

jbilander is offline  
Old 09 May 2023, 11:21   #20
jbilander
Registered User
 
jbilander's Avatar
 
Join Date: Jun 2018
Location: Stockholm
Age: 48
Posts: 263
work (soldering) in progress...waiting on some components to finish it, fingers crossed it'll work, don't know yet...
jbilander is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Wrestling Masters by ESP anyone Freakyweakywoo request.Old Rare Games 13 25 May 2023 11:50
Amiga 1000 used in ESP research. redblade Nostalgia & memories 7 17 May 2022 02:24
Running 'Newer' Amiga Software (Esp. Demos) Made During the Late 90's & Onwards Oktai-Wanda support.Demos 4 31 July 2013 19:52
Football Masters from ESP thyst2k request.Old Rare Games 6 28 December 2008 00:26
Football Crazy- ESP michaeledghill request.Old Rare Games 16 12 February 2007 17:43

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 09:02.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.32496 seconds with 13 queries