“With stories about the new Amiga shipping spreading across the web, including here on ExtremeTech , I thought it would be worthwhile to sit down and talk about these, and other developments with Bill McEwen, the CEO and President of Amiga, Inc.” Read the interview at ExtremeTech.
Amiga’s Grand Plans Revealed
About The Author
Eugenia Loli
Ex-programmer, ex-editor in chief at OSNews.com, now a visual artist/filmmaker.
Follow me on Twitter @EugeniaLoli
48 Comments
@ Deletomn
> 1) That the programmer has to use it’s functions AFTER
> the program started.
No, but we weren’t talking about that. (They were! I only meant to say, AmigaOS is used and required by almost all demos and games on the Amiga.
I completely disagree with Tarquin’s “Of course you can program a computer without using an OS it’s a well understood fact.”
> The programmer might have come up with a way around it,
> however it might require more work on the part of the
> user or be less compatible or what have you.
That’s why I stated 99% and not 100%.
> If a program does use an OS to start, if it disables it
> completely afterwards by disabling interrupts, never
> making use of a single function call in the OS after
> that point, etc; saying that it is using the OS at that
> point is no more valid than saying that the OS I’m
> currently using (Windows XP) is making use of SUSE Linux
> (which sits on another partition of my hard drive) o
I do not agree that disabling interrupts is synonymous to shutting down the OS.
(BTW you can happily run thousand of such old Amiga Demos and Games on Workbench using WHDLoad, so that you can return to the OS at any time.)
For the rest I generally agree and have a feeling some people are just discussing totally different things compared to me, for which I am partially to blame, I believe.
IMO one of the better and easier OS definitions is “a fundamental computer program which allows communications with the underlying hardware, or also allows other programs to be run”. So in effect using such a definition every computer, game console, etc offer an OS. For instance a game cartridge can therefor also contain or be the Operating System itself.
C YA.
@ Mike Bouma et al
Of course you need the kickstart to watch demos. Try ripping out the BIOS of a PC and see if you can boot ANYTHING on it.
Still, lots of Amiga demos/games did “shut down” the OS, but perhaps not in such a radical way as some of you think. By using one of two functions found in the exec.library, disable() and forbid(), you could “pause” the OS. IRRC one of the two, forbid I think, let you still use dos.library, the other one frooze even that. When you were done “banging the metal” you could permit()/enable() to “unpause” the OS.
It was and still is a bloody good idea to restore the stack before you handed back the machine to the OS though…;-)
Mind you, there are considerably funnier ways to take over the HW than these OS-legal ones…:-)))))
Deletomn: 1) That the programmer has to use it’s functions AFTER the program started.
Mike Bouma: No, but we weren’t talking about that. (They were! I only meant to say, AmigaOS is used and required by almost all demos and games on the Amiga.
Ummm… Unless I got lost somewhere. I don’t think a soul here suggested that those demos don’t require the OS to at least start the game/demo/whatever. So naturally, they require the OS.
The whole thing started with (unless I’m not understanding this whole thing correctly) that after the program has started it no longer makes use of the OS. That it “shuts down” the OS. As such that is indeed what we are talking about. That is… Not using the OS after the program has started. So you guys tell me… Am I lost?
Deletomn: If a program does use an OS to start, if it disables it completely afterwards by disabling interrupts, never making use of a single function call in the OS after that point, etc
Mike Bouma: I do not agree that disabling interrupts is synonymous to shutting down the OS.
When I wrote, etc, I meant everything else that might be required to disable a given OS. Once a given OS is disabled it almost might as well be sitting on a different computer for all it’s worth or on a disk in a dumpster for all it matters. (Note that I do not know what would be required to disable the Amiga OS.)
Heck, with some OSs, you could probably write a program to actually unload the OS from memory, then wipe it from the harddrive, and if there’s a mechanical arm attached to the computer, have the arm pick up the CD(s)/disk(s) for the OS and toss ’em into the trash can, and then start a game of Tetris. (Coming to think of it. That would be funny to see!)
Mike Bouma: IMO one of the better and easier OS definitions is “a fundamental computer program which allows communications with the underlying hardware, or also allows other programs to be run”. So in effect using such a definition every computer, game console, etc offer an OS. For instance a game cartridge can therefor also contain or be the Operating System itself.
I think it’s too general. A lot of stuff becomes an OS with that definition. And I mean A LOT. Too many things as far as I’m concerned.
> Ummm… Unless I got lost somewhere. I don’t think a
> soul here suggested that those demos don’t require the
> OS to at least start the game/demo/whatever. So
> naturally, they require the OS.
Agreed, the original confusion was started with regard to shutting down the OS when *programming* demos.
> Once a given OS is disabled it almost might as well be
> sitting on a different computer for all it’s worth or on
> a disk in a dumpster for all it matters. (Note that I do
> not know what would be required to disable the Amiga OS.)
I always assumed that some functionality of AmigaOS stays active all of the time, for the simple reason that during almost all demos, when pressing a CTRL-Amiga-Amiga key combination, an immediate software reset will follow.
> I think it’s too general. A lot of stuff becomes an OS
> with that definition. And I mean A LOT. Too many things
> as far as I’m concerned.
Well if the system allows operations, like loading/saving from/to disk, offering an interactive user environment, advanced audio/graphics output, etc it will do alot more than many so called embedded OSes.
A often used definition (or similar) is: “An operating system is a program that acts as an intermediary between a user/programmer of a computer and the computer hardware.”
I believe almost any game console system currently includes a small MiniOS, i.e. CD32 (AmigaOS), GameCube (Nintendo OS), Playstation 2 (Playstation OS), etc.
>I always assumed that some functionality of AmigaOS
>stays active all of the time, for the simple reason
>that during almost all demos, when pressing
>a CTRL-Amiga-Amiga key combination, an immediate
>software reset will follow.
bad assumption to make. the ctrl-amiga-amiga causes a hardware interrupt, which causes the amiga to boot. it is not a software (OS) interrupt.
> bad assumption to make. the ctrl-amiga-amiga causes a
> hardware interrupt, which causes the amiga to boot. it
> is not a software (OS) interrupt.
Yes I know. But it is confusing, as this works with emulated hardware as well, UAE, Amithlon, AmigaXL, etc. But can you actually delete Exec from the memory and expect everything to work correctly?
It’s never too late to learn new things. I might give it a try if this is possible.
>Yes I know. But it is confusing, as this works
>with emulated hardware as well, UAE, Amithlon,
>AmigaXL, etc.
not really that confusing, pal. the emulator emulates the microprocessor and its hardware chip set. it doesn’t emulate the OS. if holding down a key combination on a real amiga causes a hardware level interrupt, then it is the emulator’s job to do the same thing in the emulated machine space when the same key combination is held down.
> then it is the emulator’s job to do the same thing in
> the emulated machine space when the same key combination
> is held down.
I know that.. But as it does this in software through emulation, it is in fact a software interrupt in the case of emulation.
But that wasn’t my question.
….it sounds like this guy missed the boat entirely. Probably doesn’t even know there IS one…
Last I checked, the Amiga kicked ass because the OS was tweaked to run right to the metal- getting the most out of every piece of hardware in the system. This is apparently being thrown out in favor of porting to intel (which is going to do *what* for them exactly?). Having read the article, it sounds to me that the company is sort of picking up in pretty much the same place Be left off- though in this case, there’s an application base and a large crowd of Amigans who are likely willing to buy.
A dual port to Intel and $processor didn’t do much for NeXT *or* Be in the long run in terms of commercial viability- portability sacrifices any major advantages that would be gained from the OS staying true to concept- being tightly wedded to the hardware.
It’s not the name, the funky logo, or Video Toast that made the Amiga what it is- it’s the hardware and the OS (well… and Video Toast, depending on who you talk to these days). Looks like Bill needs a clue about the desktop hardware.
I’m not an Amiga owner, but I’m fortunate to have known several in my time- the above expulsion being how I happen to see things.
What do the Amiga using OSN readers think?
and I must admit I am tempted to get an Amiga One.
But what was really cool about the Amiga was that it allowed you to be creative.
The machine had a Motorola 68K series processor which is easy to program in Assembler (you needed assembly for the speed advantage).
You had good music and graphics packages, and all this in a time where the “pc”-boys were doing there monochrome beep-beep stuff.
We sat up all weekend, hacked demos, wrote games and had fun.
These days no Amatuer has a chance of writing a world class game, back then it was different.
And that was what made the Amiga so special, forget about writing to the Metal, we only did that because we had to.I would have loved to have HW-acceled OpenGL, but we had to do without it.
Kind regards
Michael Wulff Nielsen
If I remember right the first thing you done on the Amiga when programming was shunt the OS off to oneside and hit the metal yourself. The OS routines were dire slow at accessing the metal.
> Last I checked, the Amiga kicked ass because the OS was
> tweaked to run right to the metal- getting the most out
> of every piece of hardware in the system.
A major advantage of AmigaOS is that the OS is very efficiently written and has a well thought out modular design. This will remain to be the case.
However there are so many misconceptions about why AmigaOS is so damn fast. Some think the OS was entirely written in assembler, which is incorrect because the majority of the classic OS was actually witten in C. Some think it was the custom chips, which may have been partially true during the 80s, as there was no alternative chipset which even could come close to its power, but during the 90s AmigaOS was much faster in combination with 3rd party graphic cards and retargetable technologies.
> This is apparently being thrown out in favor of porting
> to intel (which is going to do *what* for them
> exactly?).
Incorrect. Amiga’s vision is that any content should be able to run on any device regardless of the underlying hardware. The AmigaDE/intent due to its efficiency, performance and seamless design is very suitable for this.
Future AmigaOS (desktop OS) versions are planned to become multiplatform. x86 is only one of the CPU families which are planned to be supported, but is widely used around the globe and you just can’t ignore this fact.
> A dual port to Intel and $processor didn’t do much for
> NeXT *or* Be in the long run in terms of commercial
> viability
Neither BeOS nor NeXT offered seamlessly integrated binary indentical software layers. With Amiga’s solution you can write platform independent software using C, C++, Java or any other language ported to the platform.
> portability sacrifices any major advantages that would
> be gained from the OS staying true to concept- being
> tightly wedded to the hardware.
One of many advantages offered by Amiga’s solution is that you can optimise your software to support special features offered by the hardware. For instance you could write parts of your software which are platform independent, and also write other parts which are specificly platform optimised.
> What do the Amiga using OSN readers think?
Do I think this is an Amiga because it uses 3rd party hardware support?
Actually I do. Let me explain, in 1994 my Amiga was equiped with a cool 4MB Retina BLT Z3 graphic board (1900×1426 8bit 70 Hz or 1024×768 24bit) and 16-bit Toccata soundcard (48KHz).
The Amiga market was already moving towards 3rd party developed hardware solutions back then, sadly this slowed down due to the unfortunate situation of the time. But fellow Amiga users who only owned standard unexpanded Amigas drooled all over my machine, so I believe more people would have expanded their Amigas with 3rd party hardware solutions, if they could afford it at the time.
These new Amigas will run a PPC native port of AmigaOS and the hardware is fully licensed, so IMO an Amiga. (BTW Future 3rd party PCI solutions are planned for adding legacy classic Amiga hardware support.)
> If I remember right the first thing you done on the
> Amiga when programming was shunt the OS off to oneside
> and hit the metal yourself.
That’s another often heard misconception. Parts of AmigaOS like the kernel and some other OS libraries were located in a special ROM called the Kickstart. This kickstart ROM then allowed software to be directly booted from disk.
Yes that is AmigaOS you were running, just like Linux is a true OS even without a GUI system on top. (These parts will be disk based in the case of AmigaOS4.x)
> The OS routines were dire slow at accessing the metal.
By running Amiga’s GUI system (Workbench), this of course required more system resources (CPU time, RAM, etc), which in the case of demos are better spent on the demos themselves, as they don’t make use of the GUI system.
Workbench was very efficient however, especially considering the OS even multitasks pretty well on 15 year old entry level 7Mhz/1 MB Amigas. (Even up to AmigaOS 3.1)
> These days no Amatuer has a chance of writing a world
> class game, back then it was different.
Ahahaha! Not true, not true! Look who I rediscovered today:
http://www.llamasoft.co.uk
“Yak” rules! Check out his new Gridrunner++ game. It’s not GTA III, but it sure is fun. Hell, I sent him $7!
> The machine had a Motorola 68K series processor which is
> easy to program in Assembler (you needed assembly for
> the speed advantage).
Note that games written with AMOS or Blitz Basic are pretty fast on unexpanded Amiga hardware as well, and are actually faster, smoother and look better than software written for PCs almost a decade newer.
BTW smash hits like Worms (1MB/7Mhz) and Worms: Director’s cut (AGA/2MB/14Mhz) were written using Blitz Basic. They offered fast paralax scrolling, so you don’t have to write in assembler to create wonderful software for the Amiga.
http://www.nutts.demon.co.uk/wormsdcr.html
> These days no Amatuer has a chance of writing a world
> class game, back then it was different.
Yes, it was a bedroom programmer who initially designed the multi-platform smash hit Worms on his A500.
> would have loved to have HW-acceled OpenGL, but we had
> to do without it.
Today you have hardware accelerated OpenGL on the Amiga as well. But yes, back then OpenGL didn’t even exist yet. But 3D games like Trex Warrior were still unparalled.
Many people don’t know this, but the first person 3D shooting game gerne actually started by using Amiga technology. Dactyl Nightmare was a true 3D first person perspective full 3D arcade game, which uses an A3000 at its heart.
http://amiga.emugaming.com/virtuality.html
>> If I remember right the first thing you done on the
>> Amiga when programming was shunt the OS off to oneside
>> and hit the metal yourself.
>
>That’s another often heard misconception. Parts of
>AmigaOS like the kernel and some other OS libraries
>were located in a special ROM called the Kickstart.
>This kickstart ROM then allowed software to be
>directly booted from disk.
The original poster is really correct — the majority of amiga demos and games shut down the OS at the first opertunity. In most cases this entails freezing all OS-style interrupts (exec), disabling multi-tasking, and shutting down the display in a semi-friendly way so that the programmer can directly program it using the copper chip.
It is correct to say that the programmer always had the stuff in the kickstart ROM to use if they wanted, however the only portion of it generally used in games and demos was the trackloader device for loading data from floppy, and infact a great deal of software didn’t even use that, and instead controlled the disk directly with the CIA chip.
When I first began reading about the “.Net Framework” and how people compared it to Java and calling it a Java rip off.
I said to myself, no that’s not it, they are ripping off Amiga, I remembered reading about the Amiga VPU (Virtual Processor) thing, and how it would be implemented in a manner where it would not run slowly, and it would scale from PDA all the way to the “big” hardware.
Now all I have seen of this is, I think it is called AmigaDE, and I saw a video showing Bill demonstrate a game that can run on a PocketPC, and other PDA’s.
So when the ExtremeTech article is talking about cross-platform, does it mean that this technology was implemented in OS4?
Also for a laugh have a look at this Microsoft Press definition of Amiga. Compare it to what Bill of Amiga says.
Scroll down to where is says Amiga.
http://www.microsoft.com/mspress/products/1031/4th/default.asp
> the majority of amiga demos and games shut down the OS
Incorrect, without the OS libraries there isn’t much you can do really. First you would need to write an OS and afterwards design your game or demo. (Which not make much sense considering kickstart is always loaded into the memory at first and offers most needed functionality, while being very efficient)
Many devices have some sort of minimal OS, sometimes almost invisible, examples: Playstation, Nintendo, DVD-player or even televisions. That’s why for 99.9% you would need the Amiga Kickstart ROM to view demos using emulators like UAE.
Basically what Amiga 4 is would be like releasing BeOS 6.0 10 years from now. I think it’s just way to late to make any difference. I give it a year and a half before the company dies, or runs out of money.
> So when the ExtremeTech article is talking about cross
> -platform, does it mean that this technology was
> implemented in OS4?
The AmigaDE is already cross-platform and actually binary identical, down to the kernel even.
AmigaOS4 is a port of 68k AmigaOS with many enhancements and redesigns for PPC hardware. The AmigaDE will also be integrated into AmigaOS4.x, with AmigaOS5 (long way to go) the code bases are planned to merge into a fully seamless desktop multi-platform OS solution.
> Also for a laugh have a look at this Microsoft Press
> definition of Amiga. Compare it to what Bill of Amiga
> says.
Their definition really sucks, but Microsoft has recently become an important AmigaDE software distributor for PocketPC devices, so I guess they will alter this definition pretty soon.
> Incorrect, without the OS libraries there isn’t much you can
> do really. First you would need to write an OS and
> afterwards design your game or demo.
What the hell are you saying? The majority of demos and games did indeed shut off the OS, that’s just a fact.
While everyone has a found memory of the amiga, sometimes we like to put more fable than fact into it’s long history..
Fact: The amiga caught the industry at the time (circa 1986) off guard. There werent companies like NVidia, ATI pumping millions of dollars into research just to provide graphics cards. Jay Miner, a veteran in the game hardware business at the time, designed some pretty hot video hardware for the time. For the time/place the Amiga’s video hardware was not only spec for spec better (advantages lasting YEARS, not months like todays hardware) than current offerings, it offered things like composite and RGB output. Later products built off the expandability of the Amiga line, such as the video toaster did with the Amiga’s video slot, this extended the life of the computer by a huge factor.
FACT: Hardware advantages only last so long, and the Amiga’s probably is the longest running example of this, which of course today is nil.
FACT: The *REAL* “magic” of the system was AmigaOS. The Amiga’s microkernel/message passing OS was capable of passing 1,000’s of inter-process messages per second, on a 7mhz 68K hardware. Video scrolling through the VBR was as smooth as anything out there, today though this is done in hardware on commodity graphics cards.
The Amiga’s OS was it’s real strength, as has been, always will be. While it lacked memory protection and other key elements of a modern day OS, it ran suprising stable, nothing at the time could touch in for a home computer.
Enter today: BeOS in alot of people’s eyes *WAS* the next generation Amiga OS. Linux today is improving, but without special attention from companies like Red Hat (which still doesnt bring it to a level of ease-of-use like the amiga) linux simply isnt a system for the masses, people need to realize this. Linux excels on the server, plain and simple, it’s not going to be in every home, you simply cannot expect people to download drivers, recompile kernels, and deal with library issues (yes I know, rpm, red carpet) only mask the problem.
If the Amiga Inc. people can deliver a AmigaOS/BEOs like alternative, possibly running on x86 hardware in the future it WILL fill a need. People are trying to us Linux on the desktop, and it’s just not meant for this on a average everyday user’s desktop. The amiga had true plug/plag with the zorro system, by todays standards it’s slow, but now PCI/AGP has stepped up and is mature enough, hardware support is going to be the biggest issue. They are going to have to be like Be where you have a “approved” list of hardware, buy this stuff if you want it to just work.
Short of Be there hasnt been a true desktop OS, I applaud them for trying in this current wintel/linux atmosphere, but I wont shell out my money for high priced custom ppc systems when commodity intel/amd hardware is what I own.
-Jason
> What the hell are you saying? The majority of demos and
> games did indeed shut off the OS, that’s just a fact.
I have tried hunderds of great Amiga demos and almost all of them require the Amiga kickstart ROM, the OS gives the developer (or user) an oppertunity to communicate with the underlying hardware. People can try some demos for themselves:
http://www.back2roots.org/Demos/ECS-Demos/
http://www.back2roots.org/Demos/AGA-Demos/
(i.e. ecs13 implies kickstart 1.3 is needed, aga31 implies kickstart 3.1 is required)
For people without the required kickstart ROMs, you can download DivX captures from here: http://ada.planet-d.net/
>> What the hell are you saying? The majority of demos and
>> games did indeed shut off the OS, that’s just a fact.
>
>I have tried hunderds of great Amiga demos and almost
>all of them require the Amiga kickstart ROM, the OS
>gives the developer (or user) an oppertunity to
>communicate with the underlying hardware.
You are talking nonsense. You do not need the kickstart ROM to communicate with the amiga hardware. The hardware registers are freely available for reading and writing. For example, register $dff080 holds the address of the copper list. Any application can write to this address to change the copper list (which is used to draw the screen). This is what people mean by writing to the metal..! You are writing values directly to the custom chips.
As I said before, in demos and games it was quite common to write your own floppy controller code, graphics display code, etc.. etc.. and never use the ROM at all.
> You are talking nonsense.
I think we just use different definitions of “Operating Systems”. For me any device offering operating functionalities beyond that of a MicroWave (there are exceptions http://www.amiga.org/modules/myalbum/photo.php?lid=784 offer some kind of operating system.
In my opinion:
1) It is almost impossible to program without any kind of operating system. (You could cut holes into cardboard paper or plastic cards, which could be read by some ancient computers)
2) If a majority of demos do not rely on any code found within the kickstart, it is very strange that around 99% of all Amiga demos I tried do not function without the kickstart ROM. However “freezing all OS-style interrupts (exec), disabling multi-tasking” is not synonymous to “shut down the OS” in my book.
I want to see YC and Mike Bouma argue about which is better; Amiga or BeOS . . .
hell while I’m at it throw in Tom Nadeau for OS/2 . . .
It would be a bloodbath.
As far as I can tell, all three persons you just mentioned are pretty reasonable guys, that just happen to like “their” own OS:s. My guess is that they pretty quickly would agree that their different OS:s both have their advantages and drawbacks.
I coded demos in my A500 time and i didnt use 1 system function. I just did everything by myself in assembly with fixed addresses and stuff.
BUT I think newer demos that run from Harddisk and use GFX-cards will probably use some system calls.
>I think we just use different definitions of
>”Operating Systems”. For me any device offering
>operating functionalities beyond that of a
>MicroWave (there are exceptions offer some kind
>of operating system.
I can only hope you are joking. The definition of an Operating System is well understood, read some books!
>2) If a majority of demos do not rely on any code
>found within the kickstart, it is very strange that
>around 99% of all Amiga demos I tried do not function
>without the kickstart ROM.
Are you kidding?! What would you expect your PC to do if you removed the BIOS?? Not very much. Removing the Kickstart ROM from an Amiga is exactly the same: When you turn an Amiga on, some code in the ROM starts checking the floppy drive for an inserted disk. When a disk is inserted it loads the boot sector into memory and jumps to that boot code. The demo coder writes the boot code to then continue loading the rest of the data, perhaps using their own disk driver routine, etc… A boot loader is not an operating system though!
>However “freezing all
>OS-style interrupts (exec), disabling multi-tasking”
>is not synonymous to “shut down the OS” in my book.
By freezing interrupts, any tasks which have requested interrupts will not have them served. Then by disabling multi-tasking, no other tasks get a chance to execute. In this state you have complete control of the machine, and can directly access the hardware without fear of any other task getting upset. You are the sole task and never get interrupted by the scheduler. This is what an amiga programmer means by shutting down the OS.
I think what Mike has been attempting to say is that the demo & game programmers bypassed “Workbench” – the GUI for the Amiga … the programmers still accessed the ROM kernal routines in order to run their demos, except for the Assembly writers who wrote directly to the registers.
Then again, having been strictly an AMOS programmer way back when, I could be completely confused myself
OSNews is really something, simply because it tries to cover other OSes, though.
Just by going to this site alone, I can get a good feel of what is happening around. Perhaps if more space is added to these OS belonging in the less known world, people like me who are clueless might get a clue.
Anyway, thanks for the service. Keep it going.
Erm guys, what does it matter about hitting the hardware?
I believe there will be an add-on for the Amiga One that’ll allow you to connect an old A1200 board up to the main system so applications that rely on the old hardware will be able to use the custom chips.
OK granted, the chances are that even with this probably most old demos still won’t work but if your legacy app is running under Amiga OS4.0 I believe it will still have near transparent access to the custom chips…
Besides, who cares about OLD demos? We’ve got plenty of emulators capable of playing most of those…
What I’ll be interested in is NEW demos!
I suspect my poor old bank balance is going to take a hammering sooner rather than later when I finally succumb to an AmigaOne board.
> The definition of an Operating System is well understood
Sadly this is not true as you can witness with current law suits.
The same can easily be said for definitions of “microkernels” and “realtime operating system”.
An example:
“David Farber, a University of Pennsylvania professor, said the operating system performs basic system functions such as coordinating memory, disk drives, keyboard, and monitor.” (Microsoft trial, but Microsoft defines an OS to be much, much broader than that)
I can live with David’s definition, but that is not the minimal definition of an OS IMO, neither the maximum.
– What if there is no keyboard, but another input device instead? Is this still an OS? IMO yes.
– What if there are no input devices at all. IMO yes.
– What if there is no Monitor support? But only sound output instead. IMO yes.
– What if there the output is controlling a robot arm. IMO yes. (I can go on for quite some time)
> Are you kidding?! What would you expect your PC to do if
> you removed the BIOS?? Not very much. Removing the
> Kickstart ROM from an Amiga is exactly the same:
AmigaOS includes the kickstart ROM, which next to initialising the hardware includes much more functionality. (i.e. it includes the Exec kernel)
Just like the BIOS is part of the CP/M operating system, this functionality is part of classic AmigaOS.
IMO without an OS you cannot program a computer.
More interesting stuff to read and laugh about:
http://www.geek.com/discus/messages/321/2050.html
@Mike Bouma
“For people without the required kickstart ROMs, you can download DivX captures from here: http://ada.planet-d.net/“
Ar’rnt the ROMS licensed, are you advocating piracy here????
Better to point them at AmigaForever where they can purchase legal ROMs
Regards
Darren
and seems to be trying to win some pie-in-the-sky argument through obfuscation.
Kickstart is 1/3 of AmigaOS. It matches a PC BIOS for hardware detection, and also contains libraries/routines/drivers which a standard PC BIOS per se does not. The other 2/3 is Workbench and external drivers/libraries/routines. That makes the OS. But without Workbench you have no complete OS, so the Kickstart in this case matches a PC BIOS and is *not* an OS by itself. Why? Because for one example the demo coder doesn’t bother with anything except being able to bootstrap his loader. Having all the extra libs in the ROM that WB/AmigaOS may use are a moot point in this case since they are more than likely 99% unused, and any operation can be done with writing registers directly, etc.
BTW an OS manages *applications*. It does not manage *hardware* per se. This is Computer Science Class 101. Additionally, out of context quotes which portray usage scenarios do not define what an OS is.
@ Darren
Of course the ROMs are licensed, therefor I pointed to the DivX captures for those demos. How am I advocating piracy here?
If I point to a Windows game, am I advocating people to pirate Windows? No way. You should better read my WinUAE tutorial:
http://www.osnews.com/story.php?news_id=1561
@ Kon
> That makes the OS.
Believe me that is your opinion, not a fact. For instance if I delete “ed”, a common editor included with AmigaOS, is this still AmigaOS? IMO Yes. If I boot without a startup sequence into a Command Line Interface, is this still AmigaOS? IMO Yes. (BTW the OS itself says it is!!)
> But without Workbench you have no complete OS
No, you have no complete AmigaOS GUI system. Read the OS definition by an expert above.
@ Darren
Also note that I greatly supported legal emulation efforts a couple of years ago, on the Amiga platform.
Back then I also talked about this alot with Bobic. Now a couple of years later his website has grown to become a very popular website with thousands of visitors daily.
Every piece of ex-commercial software you find there is perfectly legal, with permission from the copyright owners.
http://www.back2roots.org/
Mike Bouma, you are crazy beyond belief!
>IMO without an OS you cannot program a computer.
Saying that is like saying “In my opinion a car is a hat”. It is not really a matter of opinion! Of course you can program a computer without using an OS — it’s a well understood fact.
What is really interesting to me is that people who have actually written amiga demos, myself included, have already stated that writing demos without using the OS was entirely possible and not uncommon on the amiga! And yet you continue to tell people that this is not the case.
(It is also a little bit embarassing that your sole reason for standing by this claim was that an amiga emulator with its ROM removed doesn’t work!)
Really, I’m not interested in flame wars. No, really, I’m not! But you have to accept that when you post things on forums such as these you have a responsibility to either post correct information OR stand corrected when you’re wrong. Lots of people including myself read these forums and pick up various tidbits of information from what has been written. When you contradict someone’s earlier post by saying that hitting the metal on the amiga is an “often heard misconception”, please realise that this is spreading mis-information on a subject that you clearly do not understand! So that is why I, and notable others above, probably felt it necessary to set the record straight
Now that the record is straight, I will not participate in any further discussions about the ‘Mike Bouma’ definition of an Operating System, or whether or not a car is indeed a hat
Sorry Mike, but you are wrong.
1) An OS is software only (even if it resides in ROM)
2) The OS MIGHT be used to load/start the demo, but…
3) The demo then disables interrupts (the OS is blocked)
4) From this point on the Demo hits the hardware directly ( no system calls). E.g. to test if the user activates the left mouse button, the demo code checks bit 6 at address 0xbfe001 (IIRC).
(Tarquin knows his stuff)
Tarquin:
> the majority of amiga demos and games shut down the OS
Mike:
>Incorrect, without the OS libraries there isn’t much you >can do really. First you would need to write an OS and >afterwards design your game or demo. (Which not make much >sense considering kickstart is always loaded into the >memory at first and offers most needed functionality, >while being very efficient)
Mike:
>I only stated repeatably that you need an OS to be able to >program, how else do you intend to use your assembler?
Get some sleep Mike…
(How was the first OS programmed ? :o)
It is almost unbelievable that each time, over and over again you guys repeat “hitting the hardware” directly, while I never argued about this fact.
I only stated repeatably that you need an OS to be able to program, how else do you intend to use your assembler?
With regard to AmigaOS/Kickstart I explained that a majority of Amiga demos do in fact use the Amiga computer’s OS, else all the demos would have the ability to run without the kickstart ROM present.
Please reread David’s definition of an OS.
Finally the boundary between software and hardware (physical form) isn’t always clear. For instance you can have “virtual hardware”, which only actually exists in software. For instance the AmigaDE uses a virtual CPU at its heart, which AFAIK has never been built. In the case of the AmigaDE this “virtual hardware” is in fact part of the OS.
Tarquin and BLCBob are right, Mike is wrong. I get the impression that Mike isn’t a programmer, but a power user, hence the misunderstanding.
2) If a majority of demos do not rely on any code found within the kickstart, it is very strange that around 99% of all Amiga demos I tried do not function without the kickstart ROM.
Yes, the Kickstart ROM is required. Yes the Kickstart ROM is part of AmigaOS. But what Mike has overlooked is what the Kickstart ROM is used for in the old games and demos. It does contain OS code but this is only used to load the game/demo into memory. Once the game/demo is in memory it completely ignores the Kickstart ROM. When it needs something done to the hardware, the game/demo does it itself (such as the example of checking the mouse button).
If you want solid proof that a program does not require an OS to run then look no further than the old consoles (Atari, Sega, Nintendo). There was no OS at all and yet the games ran. How? Because the games where stored on a ROM in the cartridge and when they were plugged in the CPU would run the game code directly. Once the game code was accessible by the CPU it could hit the hardware and achieve it’s goals. This is almost exactly how the old Amiga games and demos work, with the exception that they need Kickstart to initially load them from the disk into memory. But once in memory, it’s a hit-the-hardware free for all.
However “freezing all OS-style interrupts (exec), disabling multi-tasking” is not synonymous to “shut down the OS” in my book.
I guess stopping someone’s heart and brain isn’t synonymous with killing them, because the heart and brain are still there (even if they are not functioning)?
Funny thread. This is what happens when programmers and “power users” collide.
> (How was the first OS programmed ? :o)
The first computers were built using Vacuum tubes, plugboards and cards. You had to manually rewire to change programs.
Note that my earlier mention of cutting holes into cards wasn’t a joke, earlier on. But I want to distinguish between modern and ancient hardware. For modern hardware you need a minimal OS.
For the mathematical people among us, check out the Analytical Engine, which can be seen as the first real computer. http://www.fourmilab.ch/babbage/
It could be programmed by using punched cards http://www.maxmon.com/1800ad.htm
Assuming you guys don’t program your programs in a similar fashion, I assume you are using an operating system.
@ real programmer
> Once the game/demo is in memory it completely ignores
> the Kickstart ROM.
So, I was right, the OS is mostly required and utilized. I think we could fill a couple of articles with fundamental questions like: What is an OS? What are computers? Are there parallels to the way our nerve system operates? What are the limits of our perception? etc.
Mike 1:
>I only stated repeatably that you need an OS to be able
>to program, how else do you intend to use your assembler?
Mike 2:
>It (an OS) could be programmed by using punched cards
Hmmm… (Fuzzy logic ?)
My quotes:
>> I only stated repeatably that you need an OS to be able
>> to program (modern hardware), how else do you intend to
>> use your assembler?
>> It (the Analytical Engine hardware) could be programmed
>> by using punched cards
BLCBob:
> Hmmm… (Fuzzy logic ?)
1) Please don’t quote me and put my words out of context.
2) For people wanting to try to code by using an assembler for the Amiga, try Asm-Pro (free binaries + sources), Kickstart (2.0) required of course. http://home.tiscali.nl/~solognt/index.html
BLCBob: Hmmm… (Fuzzy logic ?)
No offense intended toward Mike Bouma, but… I agree. It was interesting to read though. Half of what Mike was talking about as far as I could tell had nothing to do with the demos themselves. (For example, what does it matter if my assembler runs under Workbench? It has nothing to do with the demos.)
A Real Life Programmer!: Tarquin and BLCBob are right, Mike is wrong. I get the impression that Mike isn’t a programmer, but a power user, hence the misunderstanding.
I agree with everything… Absolutely everything A Real Life Programmer! said… In fact, I was thinking for all practical purposes exactly what you stated when I was reading through this whole thread.
To Mike Bouma:
No offense intended to you Mike, afterall you made a lot of excellent comments. But some of them I really have to wonder about. Like what does how I use my assembler have to do with the software I produce? Nothing. Zero. Zip. Nada. I could run an x86 assembler on an iMac if I wanted to. Just because my assembler uses MacOS, the software I produce had better not need it. (Otherwise how is it going to run on the x86 platform?)
My opinion:
Just because a program uses an OS/BIOS (or whatever) to start doesn’t mean…
1) That the programmer has to use it’s functions AFTER the program started.
2) It doesn’t nessecarily mean the programmer had to use the OS/BIOS (or whatever) at all to begin with either. The programmer might have come up with a way around it, however it might require more work on the part of the user or be less compatible or what have you.
3) If a program does use an OS to start, if it disables it completely afterwards by disabling interrupts, never making use of a single function call in the OS after that point, etc; saying that it is using the OS at that point is no more valid than saying that the OS I’m currently using (Windows XP) is making use of SUSE Linux (which sits on another partition of my hard drive) or is making use of Mac OS X (on my Mac). Just because the OS is there, doesn’t mean it is being used and just because it was used once, does not mean it is currently being used.
(BTW… I know little about the Amiga, my comments are based on my programming experience with other platforms.)
John Blink: Also for a laugh have a look at this Microsoft Press definition of Amiga. Compare it to what Bill of Amiga says.
Scroll down to where is says Amiga.