When working with an Amiga running on a Minimig platform then data transfer isÂ not as convenient as one might think: You have an SD Card connected and copyingÂ files around with SD Card is not the biggest deal, but unfortunately your AmigaÂ is currently running from a system drive stored on this card :/ Each copy operationÂ therefore essentially requires a reboot of your Amiga and that’s not theÂ productive work flow I had in mind…
That’s the reason why I always prefer having network access on all my machinesÂ for truly covenient file handling (e.g. with FTP, wget…).
In my last post I showed you how to add a SilverSurfer high speed serial portÂ to your Minimig running on the Turbo Chameleon 64. Now we will use this serial port that is running up to 115200 Baud with easeÂ for something useful: networking! Old farts remember the times when homeÂ network access was done with PPP and a serial modem gateway. We’ll go that roadÂ but replace the modem and gateway with a small and cheap Linux machine, hereÂ the all hyped Rpi and a direct serial “null modem” link via an USB-to-serialÂ adapter.
TC64 with SilverSurfer attached to Raspi
Read on to find out all the glory details, starting with a pure “virtual”Â simulation running on a Mac on to the real thing…
[You can use this approach to bring other classic Amigas to the network, too.Â But for all machines with a parallel port available I’d suggest to use myÂ plipbox project: Its far easier to setup, a lot faster (4-5x ), and even cheaper :)]
Recently, I had some time to spend and wanted to work on the plipbox project’s Amiga driver. Unfortunately, I only had my MacBook Pro with me and noÂ Amiga or plipbox hardware.
What does a SW developer do if the real hardware is not at hand?
Yes, you write an emulator that represents the missing HW in SW on a machineÂ you have access to…
User kyberias was so kind to port the native part of vamos (the m68k emulation) to Windows and send me his patches for inclusion. The port is now included in my source tree and Windows user can now enjoy using vamos on their platform, too. Have a look at the README.WIN for build instruction.
With Mac OS X and Linux/*nix support available since the beginning, vamos is now available on all major platforms.. Yay!
Ok, this time its no retro project, but a rather useful tool to measure your temperatue at home over a longer period of time. I had trouble with my heating devices at home and so I wanted to record and present temperature curves of various rooms to show that something is wrong…
This was a friday night project and done in a few hours (some might call it a hardware hack – but it works fairly stable for weeks now!). All you need is an Arduino 2009 Board, a Logger Shield, a push button, 2 1k resistors, and a DS18S20 temperature sensor. With these ingredients I was able to build the following compact temperature logger:
Arduino and Logger Shield: Temperature Logger
The logger samples the temperature every 10s and gives you a digital temperature value with +/-0.5 degree Celsius precision. It has a RTC (real-time-clock) on board that time stamps every measurement. Addionally, the SD card allows you to store the temperature samples in log files.
The logger has two modes of operation: Either directly read the temperature via a Mac/PC connected via the virtual serial port available on USB or write a temperature log onto the SD card. The latter mode allows you to use the device stand alone in any room without the need to directly connect your computer.
Read on for the full build and usage instructions…
I added a new tool to amitools, my set of cross platform classic Amiga tools: xdfscan!
What does this tool do?
Its a disk image file scanner that inspects Amiga disk (.adf) or hard disk (.hdf) image files for AmigaOS OFS or FFS file systems. If such a file system is found then the scanner runs a validator that does an in-depth check of the whole file system structure. If anything does not match or does not fulfill the file system specification then error or warning messages are generated. Warnings are usually not critical and the files on the image are all accessible, but error messages may hint to file corruption in the image. In the latter case it is advisable to recover the image by running a xdftool repack command or by issuing a DiskSalv running on an emulator.
This tool either scans a single disk image file or scans through a full directory tree. The latter operation allows you to quickly scan your disk image collection with a single run…
Have fun scanning your disk collections for corrupt or even broken images… (I must admit that the scanner is really picky and it found some issues on images I believed that were running Ok for years on a real machine… So don’t panic if lots of warnings or errors are reported… AmigaOS is quite robust handling these disks without reporting trouble…)
The wait is over: the first firmware release of the plipbox project is available. Simply head over to my plipbox page and fetch your copy…
The first release includes full DHCP support and statically configured Ethernet operation, so it should work on most local networks out there. With ARP and TCP/UDP/IP bridging in place, it has all essential features I envisioned for this project already available… And it really works well: I am already totally used to have my Amiga 500 in the network… (without thinking about starting a SLIP server first 😉
Now I hope that it works for you, too… just drop me a comment if you found bugs or have any remarks!
My plip2slip project was the first attempt to build a cheap but quite powerful network adapter for my unmodified classic Amiga 500 to get it to the net. Its already a lot faster than a Paula based serial link but you need a host Mac/PC speaking SLIP to finally reach the Internet…
The next level is called the plipbox project: Starting from a similar setup with an Arduino board I now added a cheap Ethernet module that allows direct access to your local network. Here is a photo of the resulting device:
The parallel connector is connected to your Amiga and the Ethernet cable is connected to the network module. Now run a TCP Stack on your Amiga with a MagPLIP network device driver and you can reach the Internet from your Amiga via plipbox… (The third cable on the left is the USB Arduion serial port I use to configure the parameters of the device like IP addresses)
Here is my little easter present for you: I finished the first release of rdbtool. “What’s that?” you may ask. It’s a new member of amitools, a family of cross-platform Classic Amiga tools I am developing. rdbtool is a command line utility that allows you to inspect, change or create new disk images or even real disks with Amiga’s RDB partitioning format. Its a companion tool to xdftool that handles Amiga’s file system in disk images or on the RDB partitions.
I had the idea for this tool while changing the CF flash card of my A1200. I removed the old card, had look at the files found there and wanted to retrieve files from there and then set up a new shiny card and build up partitions there. The current way to accomplish this, is to dump the card’s raw data from the block device and use this image as a RDB hard disk image in UAE to retrieve the files from there. Same thing with partitioning the new card: mount the block device or an empty image in UAE, run HDToolBox there, format partitions and copy files around in the virtual Amige environment… This works, but its a roundabout way. I wanted to have a nifty tool the works directly on my Mac’s Terminal… 🙂
Read on to see how this task (and lots more!) can be achieved with rdbtool…
My Amiga cross development environment on my Mac is getting really useful now: with vamos running the SAS C compiler I can create Amiga binaries with ease. With the binaries in place I want to try them on the real machine, too. For my trusty old Amiga 500, I still use disks to transfer the data. So I create an ADF image with my files on it and either use my kryoflux setup to write a real disk or write a virtual HFE disk image on an SD card to be used with the HXC2001 floppy emulator.
While building the code is done automatically in a Makefile, the disk image creation still involves manual steps including launching an UAE emulator to create the disk image. Hmm, I thought, an ADF file mastering tool (like mkisofs is used for CDs) would be a great tool!! Adding this to my Makefile would fully automates my build cycle… I was aware of ADFlib as being the portable library for ADF manipulation and I had a look there, but I did not found a mastering tool. Some more googling didn’t show me a similar tool – so again – I was left on my own and had to create the tool myself 😉
As a result xdftool was born and added to my amitools tool set! I started writing a small tool using the Python binding of ADFlib to create an ADF image and copy files there. This worked really quickly but soon I found the limitations of this library: the mastering part is only partially supported and essential things like setting all meta infos of a file were missing (or I didn’t find them ;). In the end I dropped the ADFlib approach and started to build a FS library for Amiga OFS/FFS from scratch… Thanks to the excellent ADF Disk Format FAQ I soon had all necessary information available and some hours later the first code files written.
The lib is done now and included in amitools as “fs” module. In its first incarnation it already has an impressive feature set:
- full object-oriented API in Python
- supports ADF and HDF containers
- supports all OFS/FFS modes including international and dircache
- read/write files/dir trees from/to host file system
- multi-layer support: work on block level or on FS level
- query and modify all parameters found in the file system including comments, protection flags and all time stamps in tick resolution
- supports unpacking/packing/repacking of full images into host file system with meta db files to store information not available on host file system
xdftool now supports all features of the library and while it started as a mastering tool for ADFs it is now a full featured command line tool to work with all kinds of ADF and HDF images… The remainder of this post gives you a short tutorial what you can do with xdftool:
In the last post I showed you that vamos is already able to call the SAS C Compiler 6.58 and compile some example source files. In the last few days I added the missing parts to vamos to support smake, too. Namely, calling sub processes with SystemTagList() was added and lots of bugs fixed. With smake at hand I am able to compile some real SAS C projects with an smakefile describing the build.
In this post I will show you how you can build the magPLIP network driver I used in my plip2slip project directly on your Mac without using an Amiga machine emulator like P-UAE…