Run Java On An Amiga

In the modern world, we take certain tools for granted. High-level programming languages such as C or Python haven’t been around that long in the grand scheme of things, and Java has only existed since the ’90s. Getting these tools working on machines that predate them is more of a challenge than anything, and [Michael Kohn] was more than willing to tackle this one. He recently got Java running on a Commodore Amiga.

The Amgia predates Java itself by almost a decade, so this process wasn’t exactly straightforward. The platform has a number of coprocessors that were novel for their time but aren’t as commonplace now, taking care of such tasks such as graphics, sound, and memory handling. Any psoftware running on the Amiga needs to be in a specially formatted program as well, so that needed to be taken care of, even loading Java on the computer in the first place took some special work using a null modem cable rather than the floppy disk an Amiga would have used back in the day.

Loading Java on an antique Amiga is certainly a badge of honor, but [Michael] isn’t a stranger to Java and the Motorola 68000s found in Amigas. There’s a 68000 in the Sega Genesis as well, and we’ve seen how [Michael] was able to run Java on that too.

25 thoughts on “Run Java On An Amiga

  1. Hmmm, I’ve got a tickle in the old grey matter saying there might have been a port back in the day, mid 90s say, but it needed a ’30 @ 50mhz to be merely dog slow. It might have been something to do with a set top box or a media presentation application. Not sure it was released, maybe only demo-ed.

    1. What does this whole sentence mean anyway? What computer does _not_ need its software to be “specially formatted”?
      To me it reads as if someone completely computer illiterate wrote it.

      1. No, it was 68K Assembly. Then in a very stupid move, Commodore basically rewrote most of v 2.04 (and later) in C. People said Andy Finkel was the only guy who could make Assembled 68K that was slower than what a C compiler belched out…

  2. “Amgia”? “psoftware”? Don’t drink and post dude!

    Apart from the typos, the article is strongly misleading. There is no Java “running” here, just like you wouldn’t describe your typical piece of software as “C++ running on a PC”.
    This is about Java Grinder project, which translates Java code to native CPU instructions – no Java virtual machine is involved, and it simply works like any compiler actually.

  3. “The platform has a number of coprocessors that were novel for their time but aren’t as commonplace now, taking care of such tasks such as graphics, sound…”

    Separate chips for graphics and sound and various I/O have long been the way the PC platform does things. Even when integrated onto a CPU die or chipset or SOC they’re still functionally independent devices. For a long time the memory handling was taken care of by support chips before it was brought onboard the CPU die and deeply integrated with the CPU to improve performance.

    What Amiga and Atari did was develop support chips that within each of their specialties were significantly more powerful than the CPU could be doing any one, let alone all, of those jobs. That’s even more true these days with GPU’s that have many more transistors than the CPU.

  4. Back in the late 90’s I wrote a JVM that ran on the Motorola Dragonball (a 68000 SoC) that powered the Palm Pilot. It was written entirely in C, so it was somewhat portable. Performance wasn’t too bad. The little Java guy could wave in real time. Not sure what ever happened with it, if anything.

  5. This could all be done using a Raspberry PI (inside the amiga), as a co-processor board (like the Implant or AT2286 (with an Intel 386 addon chip), or an A2386SX board, might be able to do all what this user wants, but for the zorro 2 cards he would need a zorro2 sidecar adapter for his 1000…
    NolanJ

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.