DICE 3.15 revisited on Mac

DICE (Matt Dillon’s C Compiler Environment) was one of the first C compiler I came in touch with back in the days on my A500. Recently,while scanning the Net for a m68k Amiga Cross Compiler solution for my Mac I stumbled across the source code release of DICE by Matt himself…

Here is the story of getting this old pearl running on my Mac…
Continue reading

What I’ve done lately…

So many month passed by and no update here… I wasn’t lazy (at least not all the time 😉 and so I’ll give you a short summary what retro projects I’ve been involved with lately:

  • DiskFreeezerX – My pet project that aims to build a standalone disk capture device… Should come very handy for partys or meeting people that don’t want to leave their precious disks… Take the device with you, slip in a disk, press a button and some time later you have a shiny exact clone of the disk on your SD card… That’s the goal!
    The current state here is: The device is built and functional as a prototype and as a first Rev A PCB… See my shiny new dfx hardware page for all the glory details and lots of photos…
  • MacVICE – Not much own contribs done here lately. But always following the flow of new features and busy building current snapshots. And before I forget it: With MagerValp’s help I finally fixed the dreaded “black-screen” display problem when the fine blended display is enabled… So enjoy temporal filtering with no more black outs!
  • PUAE – I am really happy that GnoStiC is now bringing together the current WinUAE and the already dated E-UAE code base to create finally a greate Amiga emualator for all *nix, Linux and Mac users… I really appreciate that and help by submitting small patches. I’ve created my own little fork/clone of the repository at GitHub: You can check this out if you want to have a look what I am patching lately: PUAE/cnvogelg
  • amitools – Another little crazy project started by me. Its a python library that allows you to read and parse Amiga’s Hunk-based binary format. With all the memory on the good ol’ times fading away and with UAE refreshing my old desire for the Amiga I wrote this lib to refresh and to store the old knowledge in readable python code. Currently, there is not much docs there. But a real hacker will find his/her way… I wrote a small sample that scans your harddrive for amiga files (even in adf, lha containers) and tries to parse the exe with the lib… The lib got a new push with the introduction of the AROS m68k Port (yay!!).. This port uses a decent gcc compiler to generate m68k-elf binaries. So I added ELF parsing to amitools. The only thing still missing is now the converter elf to hunk and back again in python (similar to elf2hunk)…

That’s it! See you soon with more updates…

Nibtools on Mac added and OpenCBM on Mac updated

Now with ZoomFloppy device hitting the streets and a growing number of Mac users that own this device its about time to give them decent software packages to work with. I already started the OpenCBM on Mac page quite some time ago when I started to help porting the code for Macs. I reworked the full page and simplified a lot of things. Here it is the shiny new OpenCBM on Mac page with special attention for easy setup of ZoomFloppy users!

The OpenCBM tools are really useful for day-to-day normal disk transfers. But when it comes to copy-protected disks the only tool there is Nibtools from C64Preservation. These tools use the OpenCBM libraries and I soon got them to compile on my machine. The only thing missing there was writing a Portfile and setting up a page similar to the OpenCBM on Mac one. Here we go: I added a shiny new Portfile for Nibtools and described its installation on the Nibtools on Mac page.

Enjoy installing all the nice tools on your Mac and have lots of fun capturing your old treasures to disk images…

dtv2ser 0.5 released

From time to time I get requests of users who want to buy or build their own dtv2ser device from the schematics I published in previous dtv2ser versions. Unfortunately, I only ordered a small number of prototype boards and those boards are already all sold out. For most users the schematic is too difficult to build from scratch and so they couldn’t use dtv2ser at all 🙁

With the growing popularity of the Arduino platform I soon had the idea to “port” the dtv2ser firmware to this common and easy available boards. I managed to get the firmware running in about a day and the good thing is: only three tiny HW modifications are required to transform a Arduino 2009 board into a fully functional dtv2ser device… So time to pack all the new stuff together and make a new release…

..here it is: dtv2ser 0.5 with Arduino 2009 support is available. The release mainly contains the new board support and some minor bug fixes.

Enjoy and have fun building your own dtv2ser 😉

MacVICE News: Introducing IO Tree

While the last added debugging features to MacVICE are all well-known and mostly ported from WinVICE this one is a new and currently mac-only debugging feature: The IO Tree. “What’s this?”, you might ask.

The IO Tree is actually an anotated dump of the memory-mapped IO registers from your beloved cbm platform. All is packed into a GUI Tree to make it hierarchical and let you control the vast amount of information that is kept there. But IO Tree is not only a register dump with descriptions, it also allows to combine and format the register values to make most sense and to reflect the actual function they represent. So the IO Tree can combine LO-/HI-Addr registers to show a 16 Bit address, can mask out a bit flag and show its state, maps a masked value set to a set of string descriptions or even do very special things like decoding VIC II color values…

The nice thing about the IO Tree is, that it is actually not stored in the MacVICE binary but in a text PList called IOTree.plist. This allows to extend the tree with new custom registers for every user. Currently, I have typed in all VIC II, SID, CIA 1, CIA 2 and 6510 On-Chip registers right out of AYY64 (Thanks Ninja/The Dreams for this great resource!). If you find errors or have something to add then drop me a comment… Currently the syntax of the plist is not documented but simply have a look at the existing tree and you’ll find out how it works…

If you want to try out IO Tree then have a look at the latest MacVICE snapshot (at least revision 23154 is required). While waiting for its upload/download enjoy a screenshot:

MacVICE News: New Debug Windows

I am currently working on extending MacVICE with some fancy debugging features. Users of WinVICE already know the memory, register and disassemlby windows that exist besides the monitor view.

I adopted all of these window types with a slight make-it-the-mac-way style attached 😉 My debug windows are tied to the main or drive CPU and need no switching. Currently, only the CPU windows are available.

The windows are available in the current MacVICE snapshots:

I hope you like them…

BTW: If you don’t find this feature have a look in the “Window/Debugger Windows” menu 😉

DiskFreezerX going public

Hi all,

its now quite a while that I released something… But I wasn’t lazy in that time. I got amazed by the possibilities of bit cell exact disk capture as presented by the Cyclone20 and KryoFlux… and so I wanted to build my own disk capture unit.

I recently bought a BeagleBoard clone board called IGEPv2 and soon the idea emerged to build a stand-alone disk copy unit based on this board. In the end I’d like to have a box with a floppy drive and a beagle with sd card slot. I can insert a disk to capture and then press a single button to create a bit cell exact and bit rot resistent disk image version on the SD card…

I started experimenting with the AT91SAM7x CPU used as a sampler device in the Cylcone20 and KryoFlux projects. Since no public firmware exists I wrote my own version from scratch. I don’t use USB for data transfer but an SPI channel between SAM7x and the Beagle. The beagleboard runs Poky/Angstrom Linux and therefore the host capture tool is written in C using spidev in user space. All processing tools working on the sampled bit cells are written as Python scripts.

Now everything works really well, i.e. I can capture a disk trackwise and store the samples reliably. Furthermore the conversion tools now can extract a bit stream, decode AmigaDOS blocks and derive an ADF Disk Image in the end. Its by far not a finished project but its in a state you can already work and experiment with…

If you got interested then head over to my DiskFreezerX project page

XUM1541 and OpenCBM for Mac

With christmas time the presents arrive… Nate Lawson presented the beta of his incredible XUM1541 USB to IEC/parallel adapter for OpenCBM. I was immediately amazed by this project and built my own version of the XUM1541. I had the chance to help out testing the software on Macs even in its early stages, so everything will work smoothly on our favorite platform…

Lallafa's XUM1541 Prototype

Now with the beta of XUM1541 online, I have another present for you: The OpenCBM on Mac page on my site. This page describes how to compile and set up the OpenCBM software yourself and how to get your device running on your Mac. Have fun!

MacVICE on Twitter

I always searched for an elegant (i.e. automatic and scriptable :)) way for announcing freshly compiled VICE snapshots. Now with the emerging hype of twitter I tried this out and with TTYtter it was easily integrated into my build scripts…

So follow me on macvice @ twitter to get the latest updates on freshly build MacVICE versions…

dtv2ser 0.4 released!

LTNS! Yes, indeed… it took quite a while to finish this new version, but its really worth the wait!

dtv2ser 0.4 now supports all new features of dtvtrans 1.0 including init after reset, BASIC loading, saving and RUN. Furthermore, full flash support was added!

If you are impatient then just head over to the dtv2ser homepage and download your copy.

Continue reading