Dear viewer, these subtitles were generated by a machine via the service Trint and therefore are (very) buggy. If you are capable, please help us to create good quality subtitles: https://c3subtitles.de/talk/503 Thanks!
Amiga.
I think for a lot of you,
it is perhaps like for me,
a reminder of the youth,
perhaps your first computer even
was one.
OK, some of you may be
a little too young.
Some of you perhaps have grown
so young when they had an Amiga.
That's the nice thing about Congress.
It's such a nice mixture.
So today, all of us
get a nice introduction and
how the hardware design of our Amiga
works and how to program it.
And I will give you one very, very
small spoiler.
You didn't program it was Java.
So please welcome
Laura.
Was a big round of applause.
OK, welcome, everybody, from my
side. Thank you for your nice
introduction. Welcome to my Wintech talk
here. So we are actually going to talk
about something that's happened to
roughly about 30 years ago.
So it was really hard work for me to
prepare that, because at once
upon a time, let's say in
the middle of the 80s, I knew
a lot about Amiga and Amiga programing
and stuff like that, but
I forgot more or less everything.
Well, five
years ago, there was a talk.
I don't know if it was exactly
five years, but a few years ago there was
a talk about the
64 computer.
So I think everybody knows that in here.
It was a great talk, and
that was the inspiration for me
to give a talk about the Amiga computer,
but it took some time to,
well, launch this well,
OK, it started
like this.
OK, so it's pretty full in
here. So as I said 30 years
ago, I think at least 50 percent
in here are here because you had
an ambiguous spell.
So please raise your hands.
Who had an arm on your computer?
OK, that's at least 50
percent.
OK, under 50 percent in here
are here to learn something about the
history. So probably you even
weren't born at that time.
So it started out.
It started on my attic.
I
well, was opening.
You see, there's a lot of dust and
looking for if there are some hardware
and software and so on and
try to find something about the computer.
Well, and I found a lot, many thanks
to my brothers who delivered
some computers to me.
So actually one Amiga five hundred and
1000 because my own computers
didn't work anymore.
I have one also, but it doesn't work.
I was unable to well launch it.
OK, before we dig into details,
I try to show something
to you. So in real
I have here the famous Amiga emulator.
Um, you know, it's,
uh, it's called.
You a e so
some people say it's a Unix Amiga
emulator, but actually originally it
was called the unusable Amiga immolating.
OK, why was it called unusable?
Because the hardware was so
powerful that in the middle of the 90s
when this emulator was programed, it was
unable to emulate anything in
accurate time, let's say an accurate
time. It worked, of course, but very
slow. And it even doesn't work on my
computer very well.
But OK, let's see what happens.
So there is a piece of software that I
wrote somewhere around 90.
It takes a long time to load because it's
a disk drive. It's not real, it's an
Amelita distress.
Everybody knows that.
OK, that's typical Amiga style,
what what can we see here?
We see here in the middle there is a
you see picture which is somehow
moving. Then we have the starfield,
the moving starfield background here.
Every let's say our software had
something like that.
Then there is a Sprite coming
in here.
And there is a strong line, of course,
it moves OK, on the original
model, it's really smooth.
It's not perfectly smooth in here, but
but that's because of the computer.
And then we'll see. There is a second
scrolling line coming up here.
Hopefully.
I take some, but their sound also,
but actually it doesn't matter.
We can't hear. Yes, I'm not connected,
just believe in their sound.
OK, so you see there is a second
scrolling line and it makes it weird,
it's not just straight, it's it's a sign
or something like a sign moves very
smoothly here.
OK, so now I stop this.
Remove that any.
OK, so go here.
OK.
So let's continue with this
this intro, this intro
that you've just seen
that I have written that on myself
about 1990, 1991,
I was a member of a
Cracker and Spreyton group, Bad Boy,
as probably some of you at the time
then. And one important
thing that to demonstrate your programing
power was that all those Broeder groups
and KRACKER groups programed intros
like this where everything was moving and
and colored and fancy like
that to demonstrate their programing
power. So it was usual at the time that.
OK, so let's have a look at
the history of the Yamila computer.
So at 1984, that was the first
chaos communication Congress.
So excellent. Doesn't have to do anything
with their mere computer.
But it's just to show
you let's see what happened during
this century.
The first Amiga actually appeared
in nineteen eighty five.
It was the 1000 model.
And then they had to follow up
models. It was the 500 and the 2000
model, which were more or less the same
actually. So the one had more
capabilities for expansion and slots
and so on. But the basic
hardware was actually the same.
And many
years later, so 1990
appeared the Amiga three thousand model,
and then later they came up with that's
not completely some other models like the
twelve hundred, which I think is your
here. Yeah. OK, so twelve hundred
it appeared in 1992 and the
Amiga 4000 model.
OK, what happened then.
You know all those two computer games
here.
I mentioned them because those two
computer games were the first computer
games in my opinion,
which ruled the market which were on
the IBM compatible market,
the first computer games that were
comparable in power to the
media computer Amiga computer games.
Well, OK, what happened then.
Nineteen ninety four bankruptcy of the
Commodore, a company.
Um, so actually
we don't really know.
Yes, we know officially.
So the reason was that they
did a huge investment
in further development of
computer hardware, so specifically the
graphics hardware and so on.
But what they did not see is
that other vendors didn't
sleep in at time.
So that's from nineteen eighty
five to 1994.
It's nine years. So some more or 10
years. And the other vendors didn't
sleep. They created cool hardware
as well and well.
So in my opinion it was too
late. And additionally
they had two extremely successful models
during this century.
So there was a C 64 everybody knows
was one of the most successful models
ever. And then they had the Amiga 500,
which was so and the other models.
But if 500 sold, sold most
and then well, so they
they hadn't to do any marketing anything.
It was just successful because of the
model spec rate.
And that's my opinion, the reason
why they simply died.
OK, but the Amiga didn't die.
There is further history.
It's not complete here because I'd like
to talk about the old the original models
here. So there is
the Amiga one, which is PowerPC based
and it has the Armijo is for
version of your operating system, version
four and was further develop as some
company.
So here I write Hyperion Entertainment,
but there were several companies
involved and the license was sold
from one to the next company and so on.
OK, however, so it's still
alive.
The last version of the year four was
released, I think, in 2014.
OK, here's the
primary models, what we have here,
so that's the first one and see a meager
1000,
it's a desktop model with
a keyboard. Here we have the typical
small Amiga 500, all in one
package. So keyboard inside,
disk drive inside the mouse.
That's an external disk drive as
well here. And this is the
larger
Amiga 2000 model.
So from the hardware base, it's actually
the same as the 500.
And but it came with you, the
second slot for Distri Fear, and even
you could build in hardware and several
other
additional hardware extensions.
OK, let's talk about competitors,
so Amiga was not alone in the market
with some other models, of course, that's
not a complete list, but that's what I
think it's important to mention.
So is a terrorist family.
So it's not just one computer.
It's a family of computers.
They have the same CPUSA.
It's a six six eight K
Motorola CPU as it was used in Amiga
500 computer on the computer.
It was released in 1985
as well.
Then we have the ACORN and Tomatis.
It was also a pretty
powerful computer and
it had the ARM version to
C.P.U. So everybody knows the ARM C.P.U
today. It's still here.
It's a risk type.
It was released in 1987.
Then we had Apple.
Apple had a lot of different models,
one which I consider as comparable
or let's say competitor is the Macintosh
series.
They were built with six eight K
processors well, and was
released in nineteen eighty five.
They were not as successful
as the other computers because they were,
as Apple is today, unbelievably
expensive.
OK, unbelievable.
So they they cost three
times what the other computers cost
at that time.
And then we have the install base and
also the so-called IBM PC
compatible.
There were, you know, the eighty
and 80, 86 and 286.
I don't mention them here.
So I start with the 386
type a three to six processor type models
because they were powerful enough
because the microprocessor is
very powerful compared with, say, six
eight K processor model.
But the rest of the design.
So everything else of the design is
pretty straightforward.
So there is a computer, is a bus and some
some peripheral devices attached
around. But no, let's say no
special stuff like we have seen
in those other models here.
Just to give you an outline
about what also happened in this
century so that we a car
to the media graphics area appeared in
1987.
We had the always two operating
system, which was also multitasking
operating system, which was,
let's say, comparable to the comparable
to the Amiga operating system, which is
in multitasking operating system as well.
But we have several Unix.
But Unix I do
not list Unix here because Unix typically
was run on the mainframe and mainframe
was not something that somebody could
afford for buying at home.
OK, so this is about personal computers
that people can could buy
for at home.
We have the Windows version three and
nineteen ninety. It was the first version
which was could be considered as a real
multitasking system.
So to the version two and one
was just, well, something suspending
tossed in the background and well
to mention Linux, Linux, the first
release more or less appeared in 1991.
So we had before everything.
Yes, OS version, so operating
system versions of a new computer, the
first one was the
one that acts which
were released with the Amiga 1000
different models of the 500 and the two
thousand or so original versions
on the 1000.
You had to boot them from disk on the
other models you could
they were built in on Iram,
on the rom chip. So you just switched on
and was here.
Then we had to version two,
which appeared about 1990,
which was available, available actually
on the Amiga 3000, but
it was backwards compatible.
So you could build you could build
in IRAM Chip into the 500
and 2000 models.
And then there's new versions of it
which is still available today.
This is the that the acts that are some
versions of around.
But as I say here, it's not a Commodore.
So under license.
Some companies are ferd
developed those
Afir to develop this this operating
system, which was based on a 3.0 version.
This is also a PowerPC based, which is
not a CPU family and
it's chipset independent chipset.
Independent means the Amiga
had I will talk about this later, had
a very powerful chipset built
in. It was a custom made chipset and
the operating system depended on this.
And the new versions of the four
X operating system was completely
independent of this.
So you could actually well rounded
on this computer. I don't know if it
works, but probably.
OK, there are some books that I found on
my attic,
the most important is this.
Here you see a mere hardware reference
manual. It tells everything about the
hardware.
So the hardware was
open. So, so open
in the sense of so you knew
the circuit diagrams, everything.
It was very well documented.
It was not allowed to build a computer
like this because there were yes,
it was protected, of course, but opening
in the sense of it was completely
documented. And this book that tells
everything about how the hardware works,
then, of course, I have here the six
eight K Microprocessor
Instruction Manual, which is important as
well. Then here this is
the Amiga basic
book which was shipped with
the model. There was an Amiga basic
integrator shipped
with it and it was very well documented
here.
There are some other books like this.
So it's everything German.
I'm from Austria, Amiga, Portofino
Hall and Amiga. In turn, that's a
documentation of the
system calls.
So it had a set, a set,
several hundred system calls built into
several libraries to deal with graphics
with the graphical user
interface, to deal with the hardware,
with the disk and so on.
And it was very well documented,
for example, in those books, of
course, there were a lot of magazines
that just found one.
That's a kick start.
There was also another magazine which was
called the Amiga magazine, and
well, like a magazine, percent
of the new games and
some tips and tricks and so on.
And I have this crap here.
OK, so my laser pointers, OK,
the floppy book, actually,
that that was a piece of crap
like like this can here
it's suggested to make some jumps into
the ROM. So it lists
here you can see this, but that's
an example at least thing where it
discusses some features that were
in the disk library and it's suggested to
jump into dirham, which, well,
you know, if new versions and the
addresses will change and so on.
OK, however, let's
have a look at the core components.
So what was built into this computer?
The core was a Motorola
six eight K microprocessor.
It was a more or less 30 to 32
bit microprocessor in Zisk
architecture.
It had a 512
K ram on board, expandable
up to eight megabyte, more or less, a
little bit more, but more or less like
this.
The operating system was a preemptive
Real-Time multitasking operating system.
So there was no water, no
other operating system
besides Unix, of course.
But in the personal computer
world, there was no other operating
system, more or less, who had those
features. So real multitasking operating
system.
It had some serious parallel ports
for connecting printers and modems and
whatever mouse joystick and so on.
It had a built in three and a half inch
disk drive.
And what else we have there was
an expansion slot and the 500 model,
there was one for the front side password
can attach external hardware such as
a Hearties controller, and
it had analog and digital media output.
And
yes, of course, audio output as well.
So here we should see now that's
the back view of the Amiga 500 model.
So what we can see here is a composite
with the output. It was more or less
useless. I don't know why it was here.
So it was monochrome only.
So black and white.
This is the video output here.
So it had analog and digital.
So archabbey signals here.
That's the connector for the
power that we have here.
Disk drive, parallel path and serial
port. Another order than
we have here, the audio output.
So stereo audio to the
left and right and for attaching to
external devices such as mouse or
joystick, that's what it looked from back
side.
Well, some further technical
specifications, the C.P.U
ran at seven to zero
nine three seven nine megahertz
on the European models, and the American
models had some moderate frequency.
So you might ask, why is this such odd
frequency?
This is because the complete hardware
was synchronized to the video,
to the video signal that was standard at
the time then. So that's a powerful
signal.
And the complete hardware was
synchronized to that video signal.
And because we had in Europe, we
know we have we don't have anymore.
But we had in Europe the signal.
And this is why the frequency
frequency such an odd frequency to help
us. Timing, we will see then is
synchronized completely to that.
Plus, they
had some custom made chips,
so special chips, which which
did the complete
stuff in heart
in audio, video and everything else.
That's well on Ignace, Paul and Denise.
It's had some processors internally
I will talk about this a little bit
later. Is the copper and splitter, it
had several other DMA channels.
So for those who don't know what a DMAs
and traditional design you have,
a CPU and CPU
accesses the bus and everything attached,
only the CPU.
And if you have a DMA channel, then there
is another device wherever you can
also access the bus.
So which means in parallel, of course,
not perfectly in parallel, but several
devices can access the bus and a memory
that's DMA
well and DMA was used
for audio with planes and all features,
which means you could do
several tasks without using
the CPU.
So the DMA does that, not the CPU.
We have a pixel resolution of up
to sixty four times 512
on the European models, more or less.
So you could configure this a
little bit, but that's more or less so
standard resolution and
the bit color depth, which is
about four thousand and six and nine
colors.
So the graphics card, which
was at the same time had sixteen
colors fixed, but it couldn't display
all at the same time.
We have four audio channels and
well, everything was interrupt
controlled.
Which is nice for softer.
OK, about programing languages,
so the main programing language will see
everything was programed and see so
everything. So the typical software was
programed to see, of course, if
their timing was essential.
And we had the Sembler and
of course, Amiga basic was also here
for whatever it was
built.
It was not built in, but it came with the
software and it was the book as well.
And with the versions two
and above, there was a rack.
So it's Amiga Rex Rexes, a scripting
language which was originally developed
by IBM, and it was implemented
in those. So it's, let's say, comparable
to Witchel Basic or something like that.
You could script a lot of stuff with this
here. That's a typical see
header off a function.
It looked like this is current curtaining
Hammond Ritchey. See, because, you know,
to see Eighty-Nine Standard appeared
in 1989.
So this is before.
OK, let's have a look at the CPI,
the CPI with a six eight case CPA was
one of the most powerful CPU's at that
time. And I think that's the reason why
it was built in so much computers.
It was actually released in 1979,
which is pretty early compared to
the other C.P.U
competitors like Intel, for example.
They hate the 88 88, which is a 16
bit CPA with an eight bit buzz, OK,
six beat up quotes and also Canale
instruction set, which means you could
combine any addressing mode
with every other addressing mode.
So this comes in handy for
programing. It's perfect for programing.
It's really perfect for programing.
If you want to programing assembler, of
course, in C, you don't see that
it had 12 different address mode.
So Ritchies to register in direct
and memory, direct and so on.
OK, it had a
nearly thirty two bit ayalew.
So that's the
C component within the CPU
who actually does the operation.
So the addition, multiple of
multiplication and stuff like that so
nearly is because it wasn't perfect, but
clearly it had eight
registers for data.
It registers for address including
the stack pointer
which was the last address
register. Of course it had a system
status which registers all our CPU's
half as well.
It had a very sophisticated interrupt
structure.
So 256 different interrupts
were possible, not just external
hard interrupted.
Also, you could define software
interrupts, which allowed to
actually implement your
own instructions.
And it appeared to have
a user and supervisor mode, so
that's the first step into real
multitasking systems used
in supervisor mode.
So it's the
CPU operates in the user mode.
There is a limited instruction set and
the supervisor mode where you can do
everything. And that's necessary if you
want to implement real multitasking with
the, let's say, prevention, that some
user land tasks access something
else in the kernel.
For example, the same concept
was implemented in the entire world
into two eighty six,
I don't know exactly the year, but more
or less at the same time.
It had externally a 16
bit database, and this meant
that you always need at least to bust
cycles to fetch a whole
to 32 bit worked into
the CPU. So externally, just 16
bit and 24
period response externally, which
gives complete a total
address space of 16
megabytes.
Well, that's an example for our typical
six eight K assembler.
Well, looks like every other assembly,
it's AT&T Syntex, which means from left
to right. OK, more or less
like Intel here.
Yes. You see that that w and
that Elvir that indicates the
size of the operation
of the operation.
So 32 bit or 16
bit or HP 20.
Follow up, but also there were some
follow up models, this was the
sixty eight or 10 model
which had a virtual memory support.
The six eight K didn't have virtual
memory support,
which would be necessary for good
operating system.
Then we had to six to eight twenty, which
had a real full twenty third stupid
idea and externally 32
bit bus and a memory management
unit. So that's the memory management
unit is in my opinion,
the biggest lack of the Amiga computer
because it had so the original model.
So Memory Management Unit is necessary
for preventing access to,
let's say, disallowed
memory reach and so that the kernel
could lock a user,
a user land process somewhere
into a specific memory area.
The Amiga didn't have that
or the original model didn't
have that. Yes.
And then came some other models.
That's not complete. You see it
continuous here.
OK, that's the main part of the Amiga
five hundred, what we see here is
on the left side here, that's the CPU.
So it's still packed, 64 pins,
six to eight K processor.
Then here is the ROM.
Actually, that's an extension I built
myself here for for the new kick start.
So that's the ROM here.
Down below we have the dynamic
ram. So it's a 512
K here is
the Ignace.
So that's one of the core parts
of the custom chip set of the custom
chips here than we have here, Paula,
which was mainly used for the audio
DMA and audio output.
What else do we have here?
This is Denise.
Denise is responsible
for the video output and the video dimir
than we have here.
What else? This is Gary.
So Gary is, let's say, stupid boss
controller. That's the complete boss
arbitration for
communication between those chips.
And here are two CIA.
So they called it CIAs that when you
think the CIA means complex interface
adapter, basically it's
a typical peripheral device.
Ciotat some parallel Io's.
It had some serial ports and some
interrupt logic and stuff like that.
So basic peripheral device.
What do you need, what you need
in a computer.
This is the disk drive.
Well, yes. And here's the connectors
where I showed you the picture before
from the back side.
I yes, that's
that's a two megabyte extension,
so one step back here is a connector.
You see, you could plug it in here
something. It's the internal connector,
for example, this year.
So that's a two megabyte internal ram
extension. So actually, it's one that
eight megabyte you will see.
Then why slow ram?
OK, we'll see why it's low ram.
This is this was about 200
euros, so.
Twenty five years ago for two megabytes,
OK.
She over half the Amiga two thousand
model, so the hardware, it's more or less
the same. We have here the six to eight K
processor here.
Here is the RAM that we have
to Gary.
And here we have the sorry.
Here's the RAM. And here is.
I don't know why it is scary, and then we
have Denise and Paula here to CIAs.
This is this was called Buster.
So it was a specific device which
controlled here the extension
boards, although the real Amiga
extension boards are these here that the
lower one. So.
OK, it doesn't work, I go here
to these one are called sorrow
slots, so they were connected to the
boss of the Amiga computer and
those slots here are ISO slots
16 and eight with ISO slots.
So you could insert a bridge card
which had a, for example, at 286
CPU on board, and then you could add
a standard to IBM compatible
cards in here into the outer ISIS forces,
which are connected. There was no
connection to the rest of the system
here. We had a slot for a core processor,
like a floating point unit.
And on this side here is another
connector.
It was a connection to the video hardware
and it allowed to add a specific
video card with
which you could synchronize the port.
So the whole Amiga ports to the external
video clock.
And what you could do with this is
mixing, mixing,
mixing video signals.
Yeah, OK.
There is this controller.
OK, so here I have a hardware
block diagram that looked like this, so
that's actually a wire, more or less a
wire diagram where we can see here on
the left side.
And CPU's, here is the database address
and here the three
three custom-made
chips which were connected through a bus
here as well. And to your below, we had
the 512 K built in
RAM and,
well, expansion ports and so on.
But what's more interesting is this here,
that's a functional block diagram.
So this actually shows here
on the left side the CPU
and this is what we today call
the front side bar. So that's actually
the CPU bassets, the data and the
response directly connected.
We had the two CIAs for the,
you know, several ports and so on.
Here's the kick start.
So that's that's the ROM which
which had the operating
system in it here, the connection
to the expansion Connector expansion
connectors for external hardware.
And here in between there is
bus arbitration.
So let's say some logic.
And on the right side here we see
the chips. So the custommade chips, it's
Ignis Ballentine's.
And what they actually did is
they built actually two computers into
one into
one model port and they were completely
separated by this logic
here. So this was the
custom chips which had their own plastic
that could communicate to each other
and of course access the
what was called the chip ram.
It was called Chip Ram because the chips,
the custom made chips could access the
chip rum and was completely separated
from the CPU.
On the other side, the six eight CPU
had connectors
for external parts arbitration.
That means it was possible that other
devices outside could access
the bus, which was necessary for the DMA,
of course. OK, so if
the CPU here so the six to eight CPU
wanted to access this
memory, it had to request
this to go to the bus arbiter and say
I'd like to access the bus now
and the bus arbitrate.
The bus operator could say yes or no.
OK.
And that's actually so.
So what?
What the power of the computer made.
So we had the custom chips, which were a
computer for themselves,
and they had to wait for the CPU
or whatever.
OK, this is the memory map off the
computer we had
we have a total of 16
megabytes, so that's a 24,
but that's a 24
bit to address here.
So here on top.
So at the at the lowest addresses, we
have feared the chip ram.
So this is the ram that you've seen
before where the chips can access new
models, could access the next 512.
So that's one megabyte and even
newer models. So with the X, so
there was a bit big fat Agnese and
exiguous, however, could even
access in total two megabytes of memory.
The chips could access this.
So on the previous diagram, that's
the chip that was on the right side.
Then here is a whole of eight megabyte
other config space.
That means that's a memory space
which was dedicated to
the extension hardware.
OK, and as the previous diagram showed,
the chips couldn't access that.
Then we have some the CIA's here
and this is.
This year is internal
expansion's not one, not five and two
hundred and fifty six k that
was so I'm sure this again
here.
That's here. It wasn't the internal boss
of the chips and the memory,
so so the address allocation was done
in that way, however, and that's
why the actually the internal
mammary expansion just had one that eight
megabytes here because the other
addresses were reserved for something
else. OK, then at the end
of the memory, we had 256
K rom for the
version, one of the operating system
and the new operating system.
So to add up to two up to version,
a tough version, two, we had an order
256, so 512
in total.
OK, have a look at the custom chips.
They had some special function registers
where he could control them.
Mainly, they did the interrupt control
of everything here and the bus control.
So all chips together, OK?
The bus control means controlling
who accesses the bus because always
just a single device can access the bus.
So those control this.
There was a bit playing the audio of this
made in here and the glitter and the
copper. So which were special
special processors
will which I will explain immediately,
said a bit plain. Daymo is the DMA,
which is responsible for displaying
whatever something.
OK, it had several
resolutions here, so 200,
320 to 640
times 512.
So that were more or less the standard
resolutions.
You could have up to six bit planes and
the planes actually selected
the colors.
So the colors were not stored like it is
today in the
modern graphics card directly.
So the planes were decoded,
the color register and a color register
then holds the color actually.
So and within the color register you
could define the color.
So it's three times for Bitzer, which
makes up
four thousand ninety six Total
Colors, and it has some special
notes. It's a dual playfield mode.
I will show that in the next slide.
Then it had to hold and modify
hame. So hold and modify mode
with this mode could display all
colors at the same time
and rarely use
top flight mode where it could display
64 colors
at once.
So at the same time.
Here you can see how the pit plaints
works at a bit, plaints is a
memory regions', just a memory regents'
containing the bits for one
bit, OK?
Of course, mammaries spight oriented,
not beat up, oriented to one bite,
always contains eight bits.
And the hardware then
took all those five planes overlayed
them and took out those
one bit of each bit plain and
those together give
the address off the color register
and the actual color then was stored
within the color register here.
OK, so that, that is not
the color, that's the number of the
register which then contains the
color.
Here we have the dual playfield Moat's
and dual playfield military hardware
combined to separate play
fields, which mean you had to
separate.
Visual object software
and hardware combined them like
it is shown here, to hit typical
gaming, gaming, few
of whatever.
Here you have a tank here, whatever.
So there's one play field, which is
the display where you see everything.
And here's the background image and the
hardware then combined both together.
And there is a transparent color
where the second
plane was
was added from from the hardware
itself. OK.
Yes, we had spritzes.
So I'm not sure if everybody knows what a
Sprite this Sprite is a graphics
object.
Which is added by hardware,
so it's not combined with the CPU
somewhere, it's just a piece of hardware,
it's just done by hardware.
So it's a small image which is added
to the total image by hardware.
So do you mean computer had eight
independent sprites?
By default, each had two
bit planes. So which means it's three
colors because one is transparent.
You could also combine two sprites
and you had just four, but each
Sprite then had 15 colors.
So four bits is 15 colors and the
transparent color.
But you had the possibility
to reuse DMA channels
in a later time of the screen
buildup. OK, so
if you have in the upper portion of the
screen eight sprites and you could reuse
it in the lower portion again, so then
you have more or less 16 or how
how many you even can
program in your software.
And it had a hardware based collision
detection.
So a collision detection is important.
If you have several sprites, think on a
game there's something moving and if they
collide, then something happens and
something explodes or whatever you gain
some whatever health
points or stuff like that.
And the collision actually of of
the two sprites were done by
hardware. So during during
screen build ups or during combination
of planes, it compared
each bit to each other.
And then it recognized there is
a collision and there was
a registered special function retros.
That's a custom chip register where it
could ask for was the CPU and see, OK,
there is a collision now.
Well, OK, that's this generation how
how this generation actually works works
like.
We have up to six planes and the six
planes, planes are memory
programed, so there is not a fixed
address.
So you put the stuff somewhere into the
chip memory and then you assign
a value to the chip register
and say, OK, this plane starts there
and there and they are in there.
So there was no
fixed address.
That's true for the sprites as well.
And you could, of course, pixel push
position them, not just bytes
because about eight pixels, of course,
and the media hardware reads
the bits determines priority.
So which is higher, which is lower.
So which is which bit plane is above
which other plane than
it chooses to color from the color
registers it generates the beam color.
So what you actually see on the screen
and it generates or it detects
collision if there is a collision.
OK, the copper is one of the
important core processors or one
of the most. It's been synchronized.
That means the whole system, as I said in
the beginning, is synchronized with the
video signal and informal times.
The video signal was generated by
video beam who was drawing.
OK, I think everybody knows that.
And the whole system was synchronized to
that, OK?
And the copper was synchronized to that
beam so that copper knew at every time
where exactly the beam is.
And that's important for smooth graphics,
because if you don't have that, it starts
to flicker and stuff like that.
What you've seen on the Intel test-Drive
implementation sounds like that it
had three commands. The wait to move and
the skip instruction so you could wait
for a specific beam position and then
move. So right.
Data to some to some register.
So you could add a specific position,
modify some, let's say,
the Sprite address, so
you could start and use prior to the
specific address of the beam.
And it had skip
instruction which with which you could
skip if the beam was already
behind the location where you were
waiting for OK, it
could even modify its own registers.
So its own program.
So it had its own program, which was
called the Copper List, and it
had passed priority over Deflater into
CPU. So that means if
there was urgent access to the pass
because only a single device can access
the bus at one time, the copper
got priority to fulfill its task.
Then we have to plater, which is the
second very important
processor in the computer, so Plater
actually means block image TransFair.
So it was a ADMA
system which could copy image
blocks from A to B
and image blocks the interesting
about image block.
That's not a linear memory space
because if you just cut out the piece
of an image, then you have behind
there is something that you have to skip
and the plate and what's possible to do
that. And that was also responsible
for the smooth moving
graphics user interface so
you could move the windows around.
And that was really quick.
Everything done with the splitter, the
filter actually had three DMA
sources, so you could copy from three
different sources, combine
them in some specific way.
So it was able to to
define 256 different boolean
functions, to combine the bits from
those three sources, and then
it rotated to a specific memory
destination, which is the fourth
the fourth memory for the channel.
Additionally, had the possibility for
shifting and masking because, as
you know, memory, spite or intent and not
bit oriented.
But if you want to move just a single
bit, then you have to
do something.
And this was done in hardware as well.
So big shifting is this and masking
if at the end is something that you want
not to copy,
it had a descending and an ascending
operation mode, which is important
if you want to copy overlapping memory
areas. So you have to copy in the
right order. If you don't do that in the
right order, then you will get some crap
on the display.
It could fill areas and it
could draw lines.
Everything in hardware.
You didn't you
did not use the CPU for that.
It was everything done by the printer.
OK, here's an interesting diagram that's
that's a bus timing and it looks a
little bit weird, I know, but copied this
from a book. So this line here
is the bus timing and this so
here that's a continuation of
of here. OK, that's a complete bus
timing of a horizontal line of
the beam on the screen.
So not on the screen.
So all you have on the screen
here also an area where you don't see
it. That's a complete bus timing here.
What we see here is time slots.
So here to the gray and here
and here and here. Every slot is one
bus cycle where whatever
device could access the bus, OK?
And the timing was here
made in such a way that
the even cyclist that's here
and here. So in between the different
cycles. So this this is an even cycle
and this and this and this was used
by the CPU and this was done
in that way because the six eight K
needed to pass cycles for execution
of instruction and first
cycle.
It fetched the instruction.
And the second cycle, it did
nothing on the bus, it actually executed
the instruction.
And so because of that, they combined
through the leaf that with the hardware
that in the second cycle the hardware
was accessing the bus.
So the CPU more or less, actually
didn't see that somebody else is
doing something OK.
But as you can see here, the black
here and here and here and here, that's a
bit plain, DMAE.
So we have here to beat planes one, five,
three and so on. So they're more or less
no cycle's
free for the CPU.
So the CPU was locked out from the
memory.
So you have to wait actually
for the chip from the chip.
Ram was attached to the custom chips and
because of that it was called slow
ram.
OK, slow Ramiz, because the
chips were accessing the bus here
for the display and
it couldn't access it anymore, and that's
that's why it's called slow ramp compared
to the fast ram, which was in this eight
megabyte Otakon space.
The chips had a nexus there.
And that's why that's that's why it was
called slow and fast ram.
OK, audio hardware,
it had four independent eight bit audio
channels with about
roughly about twenty eight K sampling
rate WI, which gives an
audio frequency of about yeah,
let's say, 15 kilohertz audio
frequency and had
additional support for frequency
and amplitude modulation, which
you can additionally do with those
channels, with those channels function
based. So you feed one audio channel with
the sample and the second audio channel
with the function that modulates the
first, the first channel.
First channel of course it was
interrupted interrupt. And so if the
sample data was at its end, it generated
and interrupted the CPU can could
feed and you address into
into the audio registers.
So here, a brief interrupt summary.
Everything was interrupted, interrupt
controlled.
And that's nice because the hardware
tells you you is the CPU,
so the hardware tells the CPU.
If something is to do
so, the CPU doesn't have to wait for it.
So we have the vertical blank interrupt.
That's pretty interesting.
That's if the beam is finished with
display here in the right lower
corner, then it generates an interrupt.
And while the beam returns to the
left upper corner, there is time for
the CPU because during this time
the bit demo isn't doing doing anything.
That's about four twenty six five
thousand six hundred cycles within this
cycle. So you could do a lot of stuff.
So in the intro that I showed you before,
it runs smoothly because most of the
control stuff is done
during this vertical plank and everything
else is then done by the hardware.
We have to interrupt, we could wait for
specific themes, the audio
interrupt, as I just explained, we have a
bleeder finished. So if the platers was
ready copying something,
there's a disk interop.
The disk was the disk was also
Ditmar driven.
So the data transfer was not done by the
CPU. It was done by the same channel as
well.
The CIA is, of course, generated and
interrupt, as usual, four year old data
ready or whatever.
And we had here some external
interrupts for the expansion ports.
OK, finally, some data about
the floppy disk, which was the default
well, storage medium for
the computer, was a flexible
disk controller, so it was not completely
fixed hardware or whatever.
You could program it in several ways.
It was possible to attach up to four disk
drives and
you could actually access simultaneously
accessed several drives.
And it was nice to copy software because
you had three disks, so three drives
to write and one to read.
At one time
the standard format was eight tracks,
two sides, 11 sectors, which gives
about one eight hundred and
eighty kilobytes.
And because of the
controller being so flexible, it could
read even other formats, such as
the IBM PC format,
which was then at the time then used,
which with just nine
nine sectors here, for example, the
file system was originally
called so original, it was called just
filesystem.
But later it was then called old file
system.
It had four hundred and
eighty eight bytes per sector, so
actually had of course 512.
Uh.
But 24 at the beginning were used
for arrow checking or stuff
like that, so it was well designed for a
floppy disk drives, which, yes,
every as as I remember,
every third disc was corrupt,
OK?
And then later they developed
the fourth file system, which was mainly
made for the hard drives, and then
they filled up the 24 bytes with
data.
So. So you got some additional
data to store on the disk drive.
Yes, so a brief
introduction into the Amiga.
Hardware.
Are there any questions?
Sorry for the question
was a quick.
Great. I know my mike.
So, yeah, OK, OK,
I have a question regarding the sprites.
You said it had a
collision detection. Yeah.
What's that like on the 64 where you
only knew which Sprite was
involved in any collisions?
Or did it also tell you who collided with
whom?
Something in between.
So is it combined always
to Sprite? So you could you then
had to programmatically
find out which Sprite it was, but you had
four Sprite and so you could
find out.
In pairs of two, which Sprite
collides to the address.
OK, OK.
Any questions?
Do we have any more questions?
If so, please stand up and go to
the mikes about Isold.
Do we have a question from the Internet?
Now, I have a second question then
and then the copper wait,
come on.
Yeah, you didn't specify if that could
wait for lines are also for, first
of all, positions.
So you could could actually wait for
it here. It's not four lines.
You could actually for specific a
pick for positions you could wait.
OK, I think we don't have any more
questions, and we are also
more or less at the end of our time,
so thank you very
much. Thank you.
What's really amazing.
Perhaps one of he, as a person, will
take out his or her old Amiga
again and, yeah, play around with it
again after this nice
trip down memory lane.