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…

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 😉

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…

doremac.com online!

After thinkcommodore.com finally shut down its business, it was a sad time for Mac + Commodore fans without having a forum to discuss. Now the wait is over: a new site hit the ground: doremac.com. The site has a forum with strong focus on Commodore computing done by Mac users. Starting from data transfer connection issues to CBM emulators on the Mac you can find everything there. Head over and check it out!

Grasstust, the site maintainer, was kind enough to add a MacVICE Forum Thread. So all MacVICE related stuff including bug fixes and user support can be discussed there.

VICE and VICEplus Leopard fix

Unfortunately, the new MacOS X 10.5 (Leopard) does not run the release binaries of VICE 1.22 and VICEplus 1.0 anymore.

Some debugging revealed three issues:

  • The X11.app startup has greatly simplified and does not need open-x11 (which by the way does not exist any more) to determine a valid DISPLAY value. Now MacOS X already defines a valid DISPLAY that automatically launches the X11 server. This needed a minor modification to the VICE launch scripts.
  • A really nasty bug in the CoreAudio sound driver now crashes the application. The bug existed for a long time but was never discovered since previous versions of MacOS X simply tolerated the wrong API call. Now Leopard is more picky and simply crashes. A small fix in the audio driver fixes this problem.
  • Finally, Apple updated the autoconf build tools and thus the build files needed minor modifications. Additionally, /bin/sh now seems to point to a real sh and since some scripts require /bin/bash they need to be changed to call the right shell.

I fixed these issues and now VICE and VICEplus run on Leopard, too. The fix is already applied to the current development versions of both branches.

For your convenience I also recompiled the current version with the patch applied:

New X11 Launcher for MacVICE

VICE on Macs is currently an application bundle that launches X11 and the X11 version of VICE. I added a new launcher script for the next VICE release that allows to drop files on the app icon. Each dropped file is autostarted when opening the emulator. Furthermore, you can run the launcher from the command line in your terminal and pass arbitrary arguments. In this case, no xterm for VICE input/output is opened but the terminal is used.

Continue reading