Hacker News new | past | comments | ask | show | jobs | submit login

For 2D stuff definitely, but that was because of some neat dedicated graphics processor and a fixed platform for developers to target. The Amiga range in that sense was WAY beyond others in terms of audio/visuals when it came out. In that sense it was closer to the home consoles than a typical PC.

It led to the odd situation where you had PC's that had these killer CPU's but everything else about the system was holding them back. The Amiga had an average CPU (8Mhz 68K) but everything else was picking up a lot of slack.

As for this example, this is exceptionally good for the Amiga. I don't recall there being anything even remotely close to this in its time. Hackers are just gonna optimise way beyond reason and I love it.




Are hackers optimizing? Or are they writing the same code they always did but now code-generation targeting these platforms is optimizing?


They are optimizing, probably. Thanks to the internet, knowledge sharing is substantially simplified compared to the 1990s, and it's massively easier to find people to collaborate with. Hard to understate how difficult it was to find useful info back in the day.

Additionally, anybody that grew up coding on the Amiga has had 30, 35 years to think about it since! - and they are probably still young enough (or, more accurately, probably not yet properly old enough...) that time has, for now, added more to their abilities than it has taken away.

And: modern PCs are ridiculously fast! A table or routine that would have taken your Amiga days to produce, even assuming you'd have considered the idea feasible in the first place ("b-but - you'd need a temporary 512 MByte table for that!!") can be generated in 5 minutes with some python code on your 10 year old laptop.


Tooling and code generation improvements no doubt help a lot, but IMO those improvements must be coupled with creative manual optimizations in order to get something like this out of a platform that was tailored for rectangular 2D bitmaps.


It's extremely impressive in any case.


This was almost definitely written in asm, no code generation involved.


Optimization and hardware tricks


There isn't much the compiler can optimize on such a simple CPU as the m68k when the source is simple C or hand-optimized assembler code to begin with.


Contemporary compilers definitely do a lot of CPU-agnostic optimizations that ye olde compilers weren't capable of. The only new CPU features that fundamentally change this are vector instructions, and compilers still suck at autovectorization.


Contemporary compilers are "optimized" to optimize for superscalar, fully pipelined, out of order cpus with plenty of ram and caches. Literally nothing in common with a 68k. Also modern compilers wouldn't even know how to produce code for the amiga coprocessors.

This engine very likely is written in hand optimized, clock-exact, asm.


The IBM PC (and clones) at the time of launch of the Amiga 500, had at best an 80286 at 6 to 12Mhz . I would call it roughly equivalent CPU with the 68000 at 8Mhz (16 bit segmented addressing vs 16/32bit hybrid with planar ram addressing)


At launch definitely was a decent little performer. That said, the 386 was probably launched shortly afterwards as well. The funny thing is that it wasn't until almost the mass adoption of high speed 386's and the 486 in the early 90's that we finally saw a lot of stuff that over took things the Amiga and SNES for that matter. A big part of that was VGA graphics via the VESA bus. The ISA bus did a lot to hold back video out put on these systems. Graphics was almost an afterthought by comparison.

I mean things like Commander Keen were considered really decent for side scrolling graphics on PC but would be seen as trivial on a system like the Amiga and maybe even the NES using early 80's tech. It was a long time until the PC could scroll graphics as smoothly as the NES could with Super Mario in 1985. Custom ASIC designs just had to so leverage back then. It is something we are moving back into nowadays with chiplet designs and SoC's in general. Just look at the processor blow outs on something like the M1/M2 to see this.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: