

Qt 4.7 ported to AmigaOS 4 - synchronise
http://amigax1000.blogspot.com.au/2013/08/qt-47-on-x1000.html

======
slacka
Growing up with an lowly Amiga 500 and high-end PCs upgraded yearly, I never
understood why it took PCs so long to catch up in terms of graphics. There
were literally dozens of video card companies competing in the 2D market, and
years after they "beat" it in resolution and color, the performance was
abysmal for gaming. None of my top of the line ATI, S3, Matrox cards ever had
true sprite support, and would often slow down with any serious movement on
the screen. It wasn't until post Voodoo2 era, that I felt the PC had finally
caught up, and that was through brute force.

Anyone have any idea, what held the PC back? Patents or lack of VESA-like
support for specialized features like the Amiga had?

~~~
Lerc
The problem with the PC was a mixture of Attitude and Hardware capability.

The Amiga was developed with the knowledge of how people programmed the C64.
That was an entirely different way of doing things to what was going on in the
PC space. The programmers who were getting the most out of the C64 were not
thinking in terms of bullet point feature lists but rather how the graphics
chips worked to construct the screen on a scanline by scanline basis. Because
the display was constructed over time by the chips the display was a product
of the graphics state at the time of each scanline. That meant triggering
interrupts as the beam travelled down the screen allowed for changing of the
display state in order to supply as much as possible on each and every
scanline. This meant things like instead of 8 sprites onscreen you could have
8 sprites per scanline appearing repeatedly down the screen. Colours and
display modes could change for a wide variety of effects.

When the Amiga was being developed, they realised that rather than obscuring
the internal features down to a fixed list of modes and capabilities, it would
be better to expose what the graphics chips were actually doing. An example of
this is the registers to show what video memory to display actually represent
the video memory being displayed, not just the top of the frame, the value
will increment as the scanline travels down the display. That means you are
required to reset it every vertical blanking period to the top, but enables a
vast array of possibilities. In addition the value that gets added to the
pointer to get to the next scanline is also exposed, so you can change the
virtual width of the page as well as set it to a negative value to make the
display appear upside down.

To combat the problem that such a dynamic view of the video state had where
you have to reset everything to first positions every frame, the Amiga
supplied the Copper, which was a extremely simple processor that was designed
to move constants into constant addresses. The copper could wait for a video
beam position then load registers.

I said at the start that the difference was a mixture of attitude and hardware
capability. The Amiga excelled because it embraced that attitude. On the PC
Side EGA had some similar features and VGA had an interesting mix by virtue of
backwards compatibility blending hardware designed for VGA and EGA together.
It seems clear that the intention of EGA was to provide similar sort of
abilities to the C64 (sprites notwithstanding). For the most part those
abilities were ignored, instead of using capabilities like hardware scrolling
programmers tended to just treat the device as a dumb framebuffer. There were
a few exceptions, most notably was John Carmack, who used the hardware
registers to make the Commander Keen engine.

When the VGA came along the hardware features were still there but the direct
use of them was not incorporated into the design the way it was in the Amiga.
For quite a while mode 13h was all things did. They drew into an offscreen
buffer and copied across once complete. It was exactly the Dumb Frame buffer
approach. Over time people did figure out how to do a few tricks with the
combination of registers designed for VGA and registers designed for VGA.
Wolfenstein 3d used ModeX which was using VGA mode13h display output but with
EGA style memory addressing to allow page flipping without the entire
framebuffer copy. It also allowed 320x240 (instead of 320x200) and indeed I
rather enjoyed playing around with the limits at 400x300 in 256 colours. It
was also possible to do hardware scrolling on VGA registers. A lot of
scrolling games used these features. These were the first games to really
surpass the Amiga in graphical ability. They needed substantially more CPU to
achieve the same result, but at that stage PCs were considerably faster in raw
horsepower.

------
malbs
out of curiosity I started looking at the x1000, found a page where you can
buy one:

[http://amigakit.leamancomputing.com/catalog/product_info.php...](http://amigakit.leamancomputing.com/catalog/product_info.php?products_id=1071&currency=USD)

$2,800 for pretty low spec hardware. Surely it only appeals to people who have
fond memories of their Amiga 500? I knew two people who owned them when I was
younger, always jealous! but that seems like an insane amount of money to
spend on something that is seriously dated. What am I missing?

~~~
synchronise
Nothing much, just the logo and name rights basically.

You can essentially get the same experience with AROS on an x86 machine
([http://vmwaros.blogspot.com.au/](http://vmwaros.blogspot.com.au/)) Or if you
feel as though you want the PPC Amiga experience, you could get a G4 Mac Mini
and install MorphOS (or AmigaOS4 illegally, but I cannot legally condone
that). But, if you really want AmigaOS 4, then you can buy a slightly cheaper
PPC system from Acube ([https://acube-
systemsbiz.serversicuro.it/shop/](https://acube-
systemsbiz.serversicuro.it/shop/)).

------
pavlov
The Raspberry Pi is today's Amiga. Decent CPU for the money, surprisingly good
graphics, hacker-friendly ecosystem.

The Pi just needs a decent GUI optimized for its OpenGL ES environment. X is
too slow and has too much indirection, but something built using Qt Quick's
direct OpenGL renderer might work great.

~~~
ekianjo
I don't agree. The Raspberry Pi has nothing to do with the Amiga. The Amiga
was cutting edge when it came out, nothing came close to it in terms of
performance. Even the super expensive PCs or Apples. The Raspberry Pi is just
a cheap and good enough platform to start doing some cool stuff, but it's
nowhere similar to how revolutionary was the Amiga.

------
speeder
I really wish Amiga somehow would take back its former glory, yet it feels so
pointless... I don't see a reason for Amiga to exist :(

~~~
ekianjo
The OS is still great in many aspects. It's very light and fast, even most
Linux distros feel bloated nowadays.

~~~
bhauer
Never used it, but I hold a special place in my heart (if not necessarily the
more practicality-oriented areas of my mind) for alternative operating
systems. I grew up with the Atari 800 & ST and the Amiga was a compatriot.

I'm sure it's just a matter of perspective, but I sure _feel_ as if research
into new operating system concepts (such as distributed operating systems) has
been flagging since the 90s. So it's heartwarming that there are some rare
souls out there still nurturing alternative operating systems.

~~~
ekianjo
> out there still nurturing alternative operating systems.

Indeed, and among the "alternatives", AmigaOS is certainly one of the most
alive of them. RISCOS, BeOS, are way less active than the Amiga scene.

~~~
synchronise
I wouldn't say it exactly like that, Haiku is still moving steadily (it's
package management implementation is close to being released) and RISC OS got
a second wind with the Raspberry Pi and Beagleboard ports.

~~~
ekianjo
For RISCOS, a port is one thing, it does not mean the OS itself is in active
development (AFAIK).

~~~
synchronise
[https://www.riscosopen.org/news/articles/2013/07/24/risc-
os-...](https://www.riscosopen.org/news/articles/2013/07/24/risc-
os-5-20-stable-is-now-available)

It's development cycle is still quite active, actually more so after the
Raspberry Pi release.

------
slug
Looks nice, but why not Qt 5 ?

~~~
ekianjo
Most Qt applications are made for Qt4, it will take a while before they are
adapted to Qt5, as far as I understand.

~~~
frozenport
Yeah, but new development (like my project) is done on Qt5. Qt5 brings some
really nice features like a typesafe and C++11 friendly signal/slot syntax.

