
Amiga Java - aninteger
http://www.mikekohn.net/micro/amiga_java.php
======
pavlov
Seeing "Amiga" and "Java" together reminds me of Amiga Anywhere, a brilliant
and completely misunderstood gaming/entertainment VM project twenty years ago:

[https://arstechnica.com/gadgets/2018/03/a-history-of-the-
ami...](https://arstechnica.com/gadgets/2018/03/a-history-of-the-amiga-
part-12-red-vs-blue/)

It didn't really have anything to do with the original Amiga. It was a
rebranding of a strange high-performance VM designed by some very clever
people in UK:

 _" Tao had created a product that was so innovative that few people
understood what it actually was. Taos was an operating system that was coded
in VP1, an advanced assembly language that used instructions for an imaginary,
idealized RISC CPU. When Taos programs were loaded into memory, the system
translated the VP1 opcodes into the equivalent ones for whatever CPU it
happened to be running on. Taos could run on an x86, a MIPS, a PowerPC, or a
transputer, and many more—or even different combinations running at the same
time. Because VP1 instructions were more compact than most CPU’s native
opcodes, Taos programs would often load and run faster than native ones, even
when you included the time it took to do the translation. Taos was a little
bit like magic."_

Of course HN past has the details on this interesting bit of alternative
software history:

[https://news.ycombinator.com/item?id=9808159](https://news.ycombinator.com/item?id=9808159)

~~~
somesortofsystm
Isn't it the case that the approach of using a VM to do games goes way back ..
in the early 80's it was a common mechanism in games dev, and the tradition
has endured such that VM's are often pushed hard, technology-horizon wise, by
the game devs.

One of the reasons Lua is all over the place, is its VM code is very well
written and easy to integrate in a code-base.

There is still room for VM's to solve a lot of the current platform-war
problems.

~~~
Someone
_”the approach of using a VM to do games goes way back .. in the early 80 's
it was a common mechanism in games dev”_

One reason that was done is that it made porting games between CPU
architectures (OSes weren’t that much of an issue, as games ran on bare metal)
easier.

Zork had one in 1979
([https://en.wikipedia.org/wiki/Z-machine](https://en.wikipedia.org/wiki/Z-machine)).
I think that ended when games became truly interactive, as opposed to command-
based, because, when that happened, performance became a bottleneck.

Another reason could have been is that it made programming easier, as 8-bit
CPUs are so weak that running a virtual machine for the convenience of having
such luxuries as 16-bit arithmetic sometimes made sense even then (e.g.
[https://en.wikipedia.org/wiki/SWEET16](https://en.wikipedia.org/wiki/SWEET16))

And of course, there is Forth, the ultimate “give me a VM that is tailored to
this specific program” language (every word you define can be seen as a new
instruction for your virtual machine)

~~~
brazzy
> I think that ended when games became truly interactive, as opposed to
> command-based, because, when that happened, performance became a bottleneck.

Counterexample: the recently posted article series about Another World - a VM-
based game released in 1991 that was very interactive and graphics-heavy.

[https://news.ycombinator.com/item?id=21937607](https://news.ycombinator.com/item?id=21937607)

------
unwind
It is so weird to see the cool computers of my teens put on a blanketed table.
Makes them look like amcient artifacts, to be approached by wizards only. Kind
of like how I felt seeing rackfuls of mainfrane hardware, back then. :)

~~~
bitwize
Kinda like how I felt when the docent at the Computer History Museum in
Mountain View passed around an ancient artifact from a bygone civilization for
the guests to marvel at: a 5 1/4" floppy disk.

Recently I saw a talk from a twenty-something programmer who as a child didn't
believe "real" computers (desktop PCs) could be programmed at all, that was
something you could do only with "old" computers like the Apple II. He hacks
lisp now for some networking company, so maybe the kids will be all right. :)

~~~
rstupek
Or the 8" floppy disk which I saw when I was a middle school kid learning my
first programming on a paper teletype!

~~~
reaperducer
I have an 8" floppy disk framed on the wall of my office.

When I retire and I have more time, I'm going to fill my house with Cromemco-
era gear and do all the things I always wanted to do back then.

But first, I have to convince my wife that S-100 bus machines are mid-century
modern, so she'll allow them in the door.

~~~
cr0sh
If you wait until you retire (unless retiring happens in 5-10 years maybe),
you might not be able to afford the gear.

Stuff is pretty expensive even now, depending on what you want, what you can
get, and such. Or, maybe you'll get lucky - several years ago I scored an
Altair for $200 from a local electronics junkyard; later I went back and
scoured it for a bunch of S-100 cards (as is, it came with a full complement).

Later I got some things off ebay, and even some free items from some other
collectors - all I had to pay for was shipping. One strange beast was a 6502
cpu PCB (unpopulated) - I am not sure if it is compatible with the Altair's
S-100 bus layout, or if it is meant for some other machine (the bus wasn't as
standard as one would like, unfortunately).

Anyhow, good luck with your dream - just collecting the stuff can be fun
enough!

------
cbmuser
FWIW, you can even run the latest OpenJDK on m68k.

In fact, here's is my Amiga 4000 running it on Debian unstable:

    
    
      root@elgar:~> dmesg |head
      [    0.000000] Linux version 5.4.0-2-m68k (debian-kernel@lists.debian.org) (gcc version 9.2.1 20191130 (Debian 9.2.1-21)) #1 Debian 5.4.8-1 (2020-01-05)
      [    0.000000] Enabling workaround for errata I14
      [    0.000000] Amiga hardware found: [A4000] VIDEO BLITTER AUDIO FLOPPY A4000_IDE KEYBOARD MOUSE SERIAL PARALLEL A3000_CLK CHIP_RAM PAULA LISA ALICE_PAL ZORRO3
      [    0.000000] On node 0 totalpages: 30720
      [    0.000000]   DMA zone: 300 pages used for memmap
      [    0.000000]   DMA zone: 0 pages reserved
      [    0.000000]   DMA zone: 30720 pages, LIFO batch:7
      [    0.000000] initrd: 06c412a3 - 07800000
      [    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
      [    0.000000] pcpu-alloc: [0] 0
      root@elgar:~> cat /proc/cpuinfo
      CPU:            68060
      MMU:            68060
      FPU:            68060
      Clocking:       49.1MHz
      BogoMips:       98.20
      Calibration:    491008 loops
      root@elgar:~> uname -a
      Linux elgar 5.4.0-2-m68k #1 Debian 5.4.8-1 (2020-01-05) m68k GNU/Linux
      root@elgar:~> java --version
      openjdk 11.0.6-ea 2020-01-14
      OpenJDK Runtime Environment (build 11.0.6-ea+7-post-Debian-1)
      OpenJDK Zero VM (build 11.0.6-ea+7-post-Debian-1, interpreted mode)
      root@elgar:~>
    

OpenJDK is built as part of Debian unstable:

>
> [https://buildd.debian.org/status/logs.php?pkg=openjdk-11&arc...](https://buildd.debian.org/status/logs.php?pkg=openjdk-11&arch=m68k)

>
> [https://buildd.debian.org/status/logs.php?pkg=openjdk-12&arc...](https://buildd.debian.org/status/logs.php?pkg=openjdk-12&arch=m68k)

>
> [https://buildd.debian.org/status/logs.php?pkg=openjdk-13&arc...](https://buildd.debian.org/status/logs.php?pkg=openjdk-13&arch=m68k)

>
> [https://buildd.debian.org/status/logs.php?pkg=openjdk-14&arc...](https://buildd.debian.org/status/logs.php?pkg=openjdk-14&arch=m68k)

------
A_No_Name_Mouse
What is it with Amiga that people keep tinkering with it and HN is full of
Amiga articles? I once had an Amiga 1000 but for me that's just a sweet
memory. Why is it different for other people, and why Amiga and not Spectrums
or the like?

~~~
uncle_j
I have a Vampire 2 Card for My A600. I can do quite a lot of more modern tasks
on the machine and connect it to a modern monitor. In my A1200 I have 16GB of
storage on a CF card, VGA / DVI and a Music card (I can play back MP3s etc. So
it like using a Pentium Era computer.

The OS is pretty decent considering its age and there are plenty of decent
applications to use.

I don't find 8bit computers particularly interesting. I had a BBC Micro and a
Tantung Einstein (hand me downs) and they are extremely primitive compared to
the Amiga. The Amiga is very much like a modern computer.

I really wish there was Amiga OS for a PC computer (I believe MorphOS is being
ported) as even the aging OS 3.1 with some extensions is in some ways better
than Desktop Linux. But that is highly subjective.

~~~
ChickeNES
> even the aging OS 3.1 with some extensions is in some ways better than
> Desktop Linux.

What do you find better? I'm curious

~~~
burntoutfire
I haven't used it myself, but I've read that many Amiga third-party desktop
software exposed an API to be programmed via a scripting language (called
ARexx). You could easily automate tasks that cross application boundaries this
way.

------
travbrack
Dug into Java grinder a bit, pretty crazy to see Java code pushing pixels at a
decent (20 fps?) framerate on C64 and earlier hardware.

------
vortico
It's funny that someone else on HN just managed to run a C# program on Windows
3.11.
[https://news.ycombinator.com/item?id=22010159](https://news.ycombinator.com/item?id=22010159)

------
PaulHoule
Three Billion and One devices run Java.

