27 February 2024, 00:37 | #861 | |||
Registered User
Join Date: Mar 2018
Location: Hastings, New Zealand
Posts: 2,587
|
Quote:
Another reason not to give out hardware information was that Commodore themselves didn't know exactly how it would turn out until final production. It would be foolish to publish detailed specs only to have to change them later. The OS hides a number of peculiarities of AGA (and earlier) chipsets that are a pain to deal with, so why not let it do the work for you? Developers should have welcomed being able to just eg. open a screen without having to handle all the niggly details. But many didn't because they were stuck back in the days of 8 bitters that had no OS to speak of and required banging the metal for everything. They had painstakingly developed code for doing that on the Amiga, and would rather add to it than use an OS they had less control over and would have to 'play nice' with. But that didn't apply to all developers. I don't mind giving up the freedom to do anything I feel like with the hardware in exchange for keeping very useful features of the OS. You can still bang the metal by telling the OS what resources you want exclusive access to. It just takes a different mindset to work with the OS instead of kicking it out and doing everything yourself. If you must have the best possible technical operation in an action game then banging the metal might be the only way. But some excellent games have been produced for the Amiga that are totally system friendly. OS3 added a number of functions which make it easier to do game stuff, including double-buffering, attached screens and extended sprite control. Quote:
Quote:
|
|||
27 February 2024, 09:16 | #862 |
Registered User
Join Date: Jun 2015
Location: Germany
Posts: 1,918
|
On the aspect of OS-friendly games programming: ironically the OS becomes more adequate for games-programming the more PC-gaming-like the game becomes. If you just need a framebuffer (FPV-shooters and the like), you can easily set it up through the OS and then let the user decide which c2p-engine to use, direct-render, quickcopy, WriteChunkyPixelArray(), custom c2p, blitter-assisted c2p, whatever. If you want to program a strategy program or adventure, even less of a problem to do it through the OS. The stuff that is difficult to impossible to achieve through the OS are fast-paced 2D games, i.e. classic Amiga and by 1992 increasingly outdated material. If you are really worried about some CPU cycles lost to the OS, you can define a tooltype with the games icon that allows the user to turn off multitasking. Your code then simply checks for the tooltype and calls Forbid() if set. I have done all this through the OS coding in assembly language and didn't see any penalty at all. It's just a slightly different skillset to do the same stuff through the OS.
|
27 February 2024, 10:59 | #863 | |
Registered User
Join Date: Jun 2010
Location: PL?
Posts: 2,771
|
Quote:
|
|
27 February 2024, 11:34 | #864 | |
Registered User
Join Date: Jun 2015
Location: Germany
Posts: 1,918
|
Quote:
IIRC the MIDI problem on the Amiga comes from the fact that the order of IRQs is "wrong" for MIDI timing and the serial port isn't buffered. I'm not even sure this would really affect a game using a MIDI sequencer for audio. It's not like you are really paying attention to the timing of notes when playing a game. |
|
27 February 2024, 15:47 | #865 | |
Registered User
Join Date: Jun 2010
Location: PL?
Posts: 2,771
|
Quote:
MIDI is illustration of problem where OS layer is unable to provide functionality - worse - OS itself can be a problem. So if OS layer is unable to provide expected functionality then OS must be substituted by direct HW banging. Of course you can modify HW to hide OS issues but still at some point if you go for solutions like those in 16550 and other modern UART's some OS may not work for you. |
|
27 February 2024, 18:51 | #866 |
Registered User
Join Date: May 2023
Location: Norwich
Posts: 384
|
But the issue with MIDI on the Amiga is basically a hardware issue, no amount of bit-banging can really solve it. I don't think you can really class that as a deficiency of the OS design.
|
27 February 2024, 22:52 | #867 | |
Registered User
Join Date: Jun 2010
Location: PL?
Posts: 2,771
|
Quote:
And every multitasking OS suffer same problem with real time events so yes, Amiga OS is not the isolated problem, it is common with every multitasking OS unless you do RTOS. Atari ST is not multitasking OS and it is quite responsive so able to deal with real time events better. But once again - MIDI was example that at some point software layer can't provide desired functionality and you are forced to do bit banging. |
|
28 February 2024, 10:30 | #868 |
Registered User
Join Date: Jun 2015
Location: Germany
Posts: 1,918
|
Yes, and fast-paced 2D games are a (more relevant) example for the Amiga and OS-abstraction in the beginning 1990s. With faster processors most of these problems become less of a problem. And, as I pointed out, for the more PC-type games (FPV, strategy and adventure games) OS-abstraction on the Amiga is in fact less of a problem.
|
28 February 2024, 11:26 | #869 |
Registered User
Join Date: Jun 2010
Location: PL?
Posts: 2,771
|
Or perhaps i was wrong and Amiga HW with OS will not prevent possibility to deal with external event with relatively high time accuracy - digged a bit yesterday and i've found interesting paper: "Amiga 1000 hardware timing and reaction-time key interfacing"
|
29 February 2024, 00:38 | #870 | |||
Registered User
Join Date: Mar 2018
Location: Hastings, New Zealand
Posts: 2,587
|
Quote:
According this chart of commercial game sales, in 1992 'fighting' games pushed out 'action' games, but 'platform' games were still popular. These genres required 'fast paced' 2D graphics. But this was not so on the PC, for the simple reason that it wasn't well suited to fast-paced 2D graphics. Another reason was that PCs were much more expensive and so more used by adults who had different tastes. This explains why 'role playing' games appeared in the early 80's, and why 'strategy' games became popular in the early 90's. The Amiga sat in the middle, with good 2D graphics for fighting and platform games, as well the extra stuff needed for strategy, simulation and adventure games (keyboard, mouse etc.) while being affordable enough to attract a wider audience. It wasn't until the late 90's that 3D games became dominant, as a result of hardware that was suited to them. Being suitable for a wide variety of genres meant that many games could be produced that didn't have to kick out the OS to get acceptable performance. But many did anyway because developers were familiar with that programming model. Quote:
When the CD32 came out it became obvious that things would have to change. You couldn't just load the whole game into RAM and kick out the OS if you wanted CD audio and/or loading stuff on demand. That they tried to do it anyway just shows how entrenched the old ways were. An interview with Rob Northen Quote:
|
|||
29 February 2024, 14:16 | #871 | ||
Registered User
Join Date: Jun 2015
Location: Germany
Posts: 1,918
|
Quote:
Quote:
Back in the day the absolute necessity to maintain hardware-level compatibility unless one wanted to throw away a large portion of the Amiga software pool was another nail in the coffin of the Amiga. Admittedly it was hard to escape from this situation lacking an economically healthy software market for Amiga software. |
||
29 February 2024, 15:55 | #872 | |
Global Moderator
Join Date: May 2013
Location: Setúbal, Portugal
Posts: 609
|
Quote:
When it finally became clear that an abstraction layer was indeed beneficial for post-program compatibility reasons, most of these 'l33t' programmers took some time to "change their chip", which is why I said that "people evolve slower than hardware", and this was particularly true in that specific period of time (the mid 90's). Heck I even had issues with my own programs when I transitioned from Pascal to C back in those days and the need to adjust code to the compilers and finally needing things like digital libraries, this on high-level coding on the PC. So, in the specific case of the Amiga (but also of many other contemporary machines), the abstraction layer - or working through the OS - was not seen as a good thing but as a hindrance, since it significantly raised the needed specs for any intended performance. And in those days and age, when specs were feeble and scarce, every extra bit of speed was sacred and any means of getting it were respected. This meant that going around the OS or killing it altogether was seen as the right way of extracting every bit of speed that was possible, simultaneously lowering the memory and CPU requirements to as little as possible. Only when computers got some extra specs (486 and up and 2MB RAM or more, etc. Oh, what a surprise...) did the abstraction layer suddenly felt like the right idea. |
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
I’m looking for any military spec Amigas please | Pyromania | request.Other | 12 | 10 May 2020 13:03 |
Launched a web server on A1200 with 2MB RAM | damex | Amiga websites reviews | 0 | 18 January 2020 13:11 |
Buying Amiga A1200 for games - best spec? | pault2007 | Nostalgia & memories | 22 | 06 August 2007 14:36 |
out of box spec for A1200? + other ?? | technium | support.Hardware | 5 | 27 August 2004 10:21 |
Dream A1200 spec | Antiriad | Amiga scene | 14 | 19 August 2002 01:29 |
|
|