23 year old code
Topaz figures out how to get code he wrote 23 years ago on the Amiga to work for someone today, and it involves a lot of work with libraries.
Thanks to Piotr Kuchno for contacting me and working through debugging the code, and for the videos of the code in use on real Amiga computers! Thanks also to @ijimkoz for valuable feedback!
Resources
Intro
- https://aminet.net/package/dev/amos/BSDSocket - The code I wrote 23 years ago
- https://en.wikipedia.org/wiki/AMOS_%28programming_language%29 - AMOS BASIC
- https://docs.freebsd.org/en/books/developers-handbook/sockets/ - BSD sockets in general
- https://www.youtube.com/watch?v=EVr1AHJaGCk - The Copper Demo video, also written in AMOS, that exercises a bunch of Agnus’s features
AMOS Extensions
- https://www.exotica.org.uk/wiki/AMOS_extensions - List of Amiga extensions
- https://www.kyzer.me.uk/amos/docs/easylife/EasyLife.guide - EasyLife, the extension 16 I wanted
- https://www.kyzer.me.uk/amos/docs/maxsdoorhandler/AMOSDoors4MAXS.doc - The BBS extension
Amiga libraries
- https://www.thedigitalcatonline.com/blog/2018/05/28/exploring-the-amiga-2/ - Amiga library jump tables (the index card bulletin board)
- https://www.ultimateamiga.co.uk/HostedProjects/AMOSFactory/AMOSProManual/11/1116.html - The “equate” system I never used or got working correctly
- https://github.com/cnvogelg/amitools/blob/master/amitools/data/fd/bsdsocket_lib.fd - I used this file to figure out function offsets
Why was my server code not working?
- https://wiki.amigaos.net/amiga/autodocs/bsdsocket.doc.txt - The Amiga BSD socket library docs
- https://stackoverflow.com/questions/5636316/troubleshooting-connections-stuck-in-close-wait-status - The problem I was noticing
- https://web.archive.org/web/20170113135705/http://unix.derkeiler.com/Mailing-Lists/SunManagers/2006-01/msg00367.html - More details
- https://esqsoft.com/examples/troubleshooting-http-using-telnet.htm - Using telnet to debug the connection
Music & SFX
- Chipper Doodle - Kevin MacLeod (https://incompetech.com/music/royalty-free/?keywords=Chipper+doodle) - CC-BY 3.0
- Phone vibration - Breviceps (https://freesound.org/people/Breviceps/sounds/515295/) - CC 0
- Light Switch - TimoSchmied (https://freesound.org/people/TimoSchmied/sounds/530973/) - CC-BY 3.0
- Smack - taylorsyoung[at]gmail.com (https://freesound.org/people/taylorsyoung@gmail.com/sounds/94780/) - CC 0
Notes
- Piotr and I were actually using AMOS Professional throughout, despite me showing an original AMOS The Creator box I used to own. AMOS Pro allowed accessing system libraries, while AMOS the Creator did not.
Changelog
- 2021-09-08: Initial post.