Pushing the limits of original 8bit computers with modern programming techniques - Page 1
Forum section: electronics / general

author: BrianHG
author_rank: Super Contributor
timestamp: June 20, 2022, 01:24:52 am
content: Pushing the limits of original 8bit computers with modern programming techniques, example 1, a Commodore C64 running an entire Sonic the Hedgehog game. This runs on original hardware with the requirement of a 256k expansion board which was available from Commodore at the time: (PAL version)I find it amazing that they got the fluid motion of this 16bit game with all the music included.With modern knowledge, I wonder what could have been achieved on the Atari 8 bit computer, or even an Atari 2600.

author: David Hess
author_rank: Super Contributor
timestamp: June 20, 2022, 04:28:16 am
content: These system, but not the 2600 as much, had considerable help from a display list processor which allowed smooth scrolling and hardware sprites.

author: ebastler
author_rank: Super Contributor
timestamp: June 20, 2022, 06:32:25 am
content: Looks like a very nice implementation of the game. It is a port of Sega's version for the Sega Master System though, which is also an 8 bit machine (Z80-based).I am surprised that this game is apparently available for free -- with Sega's blessing? The C64 implementation uses the original names and graphics, which must still be copyrighted and which Sega continues to commercialize. The C64 developers can't be paying royalties to Sega and then giving the game away for free. So has Sega decided to be generous here, given the limited number of C64 systems still in active use?

author: pcprogrammer
author_rank: Super Contributor
timestamp: June 20, 2022, 08:32:54 am
content: What do you mean with "modern programming techniques"?The CPU they run this on is the same as it was back then and there were also very good programmers at that time, so what techniques are you referring to? Is there a mention in the video, which I have to confess I did not watch to the end?As an assembler programmer myself, at least in that era, I also wrote specific code for the 6502 that had to be timed to the microsecond which meant trimming every unnecessary instruction.

author: thinkfat
author_rank: Unknown
timestamp: June 20, 2022, 08:44:59 am
content: If you look at the C64 demo scene way back then and what they pulled off, it is not really all that surprising.That particular game probably makes heavy use of the VIC raster interrupt, custom character sets and sprites, which kind of explains the requirement for 256k of memory.

author: wraper
author_rank: Unknown
timestamp: June 20, 2022, 08:45:52 am
content: Quote from: BrianHG on June 20, 2022, 01:24:52 amWhile it's very impressive this running on C64, it's not even close to original game for genesis/mega drive.

author: Phil_G
author_rank: Regular Contributor
timestamp: June 20, 2022, 10:48:08 am
content: I'd suggest that 'modern programming techniques' produce bloated & wasteful code compared the cycle counted assembler we used back then (still do in my case, I'm a bit of a dinosaur)Todays 'optimising compiler' isnt a match for a good 1980s machine code programmer[light blue touch paper and retire immediately]

author: Zero999
author_rank: Super Contributor
timestamp: June 20, 2022, 09:56:49 pm
content: Quote from: wraper on June 20, 2022, 08:45:52 amThat's because it's the Master System version. A different game, made for an 8-bit system. The levels are smaller, some are completely different and there's no parallax scrolling, as it didn't have the hardware to do it. Some features were removed: Sonic couldn't pickup the rings, after losing them, probably because the system didn't have enough sprites, the maximum number of rings he could have was 99, presumably because it avoided the need for integers longer than a word.

author: MathWizard
author_rank: Super Contributor
timestamp: June 21, 2022, 04:17:32 am
content: This reminds me of when the guys were making wolfenstein 3d, and they made a homebrew version of NES Marioworld, but IDK what PC they were on back then....probably not a C64, I think it might have been something cutting edge at the time.

author: BrianHG
author_rank: Super Contributor
timestamp: June 21, 2022, 05:00:25 am
content: Quote from: Phil_G on June 20, 2022, 10:48:08 amMaybe you guys are misunderstanding what I mean by modern coding techniques. I don't think that these new game releases are programmed in 'C' language. I'm sure they were written in assembly. Maybe I should have said modern game style, but, I'm sure a number of assembly coding techniques just couldn't be imagined back then.Here is another example, Yomp for the Atari 8bit computers:It's a 48k game. But why did we never never seen anything like this back in 1982 when the Atari 800 already came with 48k ram...Instead, we got this slow motion junk:What I would have given for someone to program this one back in the day:

author: Zero999
author_rank: Super Contributor
timestamp: June 21, 2022, 06:49:19 am
content: Quote from: BrianHG on June 21, 2022, 05:00:25 amI haven't watched the other videos, but the one you first posted is identical to the Sega Master System Sonic game. It's not the game which would have been modified, but the C64.

author: BrianHG
author_rank: Super Contributor
timestamp: June 21, 2022, 07:18:37 am
content: Quote from: Zero999 on June 21, 2022, 06:49:19 amI saw another video with a Sonic enthusiast who did a side by side comparison.For the PAL versions, the character movements, timing and screen position was a dead perfect match.Comparing the NTSC versions, the C64 played a little too fast, and had a glitch bug on some later levels around the water falls / collapsing bridges.

author: thinkfat
author_rank: Unknown
timestamp: June 21, 2022, 07:21:49 am
content: Quote from: BrianHG on June 21, 2022, 07:18:37 amThat was on the "retrobits" youtube channel, I think. I saw it, too.

author: james_s
author_rank: Super Contributor
timestamp: June 21, 2022, 07:22:07 am
content: When I think "modern programming techniques" I tend to think bloated, slow, form over function.In the case of most vintage systems, games gradually got better and better as new ideas were developed and programmers learned more about the workings and quirks of the hardware. At some point it plateaued and there simply wasn't much more you could make it do. I think the demoscene is probably the best you're going to find, but most demos are using every ounce of computing power available to display the demo, there's nothing left to make a functional game with the same sort of graphics and sound.

author: BrianHG
author_rank: Super Contributor
timestamp: June 21, 2022, 07:30:44 am
content: Quote from: james_s on June 21, 2022, 07:22:07 amThat 3D third person Atari 800 Space Harrier I linked to above shows that such things are possible.The demo scene do come up with some cool and interesting stuff, but it's nothing like a full game.

author: BrianHG
author_rank: Super Contributor
timestamp: June 21, 2022, 07:41:54 am
content: Quote from: thinkfat on June 21, 2022, 07:21:49 amApparently, the C64 has Sega's 'Blast ProcessingTM', 7 years before Sega invented it...

author: thinkfat
author_rank: Unknown
timestamp: June 21, 2022, 09:30:50 am
content: Quote from: BrianHG on June 21, 2022, 07:41:54 amIf you refer to linking the scanline interrupt to a DMA transfer, that's indeed a neat trick made possible by the DMA controller on the REM. Changing color palette or character data in the horizontal blanking interval was a trick that was heavily used in demos on the C64, or to do some parallax scrolling in games.

author: Zero999
author_rank: Super Contributor
timestamp: June 21, 2022, 09:50:35 am
content: Blast Processing was just Sega's marketing wank. It didn't mean anything. It also applied to the Genesis/Mega Drive, not the Master System.I think most Americans seem to lack knowledge of the Master System because it wasn't very popular in the US. It was very popular in the UK and much of Europe. It was very similar to the Game Gear, Sega's portable console.

author: precaud
author_rank: Frequent Contributor
timestamp: June 21, 2022, 01:50:35 pm
content: Quote from: BrianHG on June 21, 2022, 05:00:25 amI don't recall there being a C compiler for 6502 back in the day. Was there?

author: Zero999
author_rank: Super Contributor
timestamp: June 21, 2022, 02:06:31 pm
content: Quote from: thinkfat on June 21, 2022, 09:30:50 amI didn't think the C64 or Master System could really do parallax scrolling. I believe it was possible to achieve such an effect by scrolling different parts of the screen at different rates and use sprites moving more quickly/slowly to accomplish such an effect, but it was nothing compared to the consoles with built-in dedicated hardware.Interestingly, the Mega Drive/Genesis only had two layers, but it did have the capability to scroll different parts of a layer individually to give the appearance of having many more. Sonic does this on some levels, especially Green Hill Zone.Another interesting piece of trivia is none of the 8-bit consoles and most of the 16-bit consoles didn't have a frame buffer for most modes. The frames were composed of sprites and tiles, which were generated line by line, frame by frame, by the hardware. Frame buffers didn't become common, until the 32-bit era, which was the largest leap in gaming to have occurred ever.

author: pcprogrammer
author_rank: Super Contributor
timestamp: June 21, 2022, 02:12:39 pm
content: Quote from: precaud on June 21, 2022, 01:50:35 pmThey did exist for the Apple II:https://www.worthpoint.com/worthopedia/vintage-manx-software-aztec-c65-apple-1812710701Also found this site:https://www.aztecmuseum.ca/compilers.htm

author: BrianHG
author_rank: Super Contributor
timestamp: June 21, 2022, 02:33:20 pm
content: Parallax scrolling:Remember, even the Space Harrier game I've shown above is way beyond parallax scrolling.

author: BrianHG
author_rank: Super Contributor
timestamp: June 21, 2022, 02:57:35 pm
content: Here, an actual complete Atari 8bit game with parallax scrolling:Damn impressive number of colors, good use of manipulating palette on every other line of video and sprite multiplexing.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: June 21, 2022, 04:16:50 pm
content: As far as "modern techniques" are concerned, I don't know that there's been a lot of scientific progress in that sense, and, obviously no one's making tools for such platforms -- at least not anywhere close to the kind of development we have for exponentially more advanced modern systems where that complexity is not only worthwhile (solve more complex problems) but necessary (the machine itself is more complex).These examples are going to be entirely hand written ASM; or, the critical parts are, at least. And with possible "racing the beam" graphics engines, the whole game state machine may need consistent execution time, too; these may be extraordinarily fragile systems indeed, and the marvel is at how much can be accomplished, pushing the envelope (of CPU and bus cycles, memory capacity and speed, etc.) as perfectly as possible to the point of the whole thing falling over into a glitchy crashing mess. This can only be achieved through slowly won, extremely deep understandings of the base systems. And which is nothing different over the now multi-generational history of these systems.So what's new? Just historical perspective, I think. We have some benefit from more clever code generation tools, but these too are hard-won and bespoke among demoscene circles, and are nothing new; there is room for incremental improvement, however. (For example, say you have a situation where certain operations need to be completed within some number of cycles, and interleaved perfectly with other operations; a tool could search ever-larger configuration spaces to determine how to optimally divide up and interleave those operations. Even very poor performing algorithms (exhaustive search?) can be afforded these days, which weren't at all feasible back then; granted, exponential (or worse) execution time is still very much against you, but you can afford another order of magnitude every couple of years -- it's something.And the other is just, we're more comfortable with games, or GUI interfaces, and what goes for a minimum feature set. Even kaizo romhacks have gotten more popular -- and less punishing. As a microcosm, consider the notorious early ones like:https://www.smwcentral.net/?p=section&a=details&id=16059to recent ones like:https://www.smwcentral.net/?p=section&a=details&id=28951I imagine, due in no small part to the success of Celeste (2018), a precision platformer (on PC, Switch, etc.) that, while extremely challenging, is also extremely gracious to the player, and has a fabulous kicking soundtrack, art style, and story. It's perhaps the archetype from which precision platformers and kaizos will forever after draw their inspiration, and perhaps, in a sense, a peak the whole genre had been building to, and will forever be changed by. In short, I think it's fair to draw a line from classic insultingly-punishing romhacks, to this non-hack game, back to romhacks and beyond, in the present and future.(And, perhaps not even very surprising, there is also celeste.smc:https://www.smwcentral.net/?p=section&a=details&id=29613)And I think it's fair to generalize this point, in that we will find many other examples where the same sequence fits. FPS games were around in a basic sort of way since the mid-late 80s, but were forever changed after Doom (1993), and so on by the Quakes, Unreal, Half Lifes, and beyond. We can draw a line back to Doom, now that those of us who grew up with it (Hi!) are getting nostalgic for it -- but are looking for something with more shine, complexity, style -- and less unfair mechanics than the classics. There's a whole subgenre of "boomer shooters" now, imitating the low-poly or paletted pixel-art style of those old games, but remixed with the hindsight of modern games, their ease of use, gentler skill curves, and so on.And so we can return to the case of something like Sonic: at the same time the series has been going forward by official development (Sonic's been in 3D for decades now, matter of fact), it's also been going backwards, in modding and porting by fans, and indeed new remixes and challenges by them as well -- in fact, an official title even started as a fan project and SEGA liked it so much they picked it up and finished it as a full title:https://en.wikipedia.org/wiki/Sonic_ManiaI can't speak for SEGA legally of course, but they have a history of being quite lenient of fan projects. Sonic fandom is... notoriously quirky, shall we say. Good on them for tolerating, even encouraging it, despite how cringy it can be at times.Which, not to waste a callback -- there's aSonic mod for Doom, or I guess it's a standalone thing all by itself, just based on the Doom engine, even.And, needless to say, Doom is the poster child of porting things to unusual platforms; there are precious few on anything 8-bit, though. It seems to be just complex enough of a pile of algorithms, that there's almost no hope of porting much of it to such platforms, even stripping down the graphics and levels as much as you can. That said, consider this example:There's also a clone (not really Doom engine as I understand it, but ground-up new along similar lines?) for Amiga 500, evidently quite a challenge:For my part, I've put a flat-shaded raycaster (ala Wolf3D, without all the Wolf..) on an AVR:also a basic DSP effects box, and I've demonstrated a few-MS/s-equivalent time sampling method on one; pushing certain limits of the system, but, granted, nothing as deep and comprehensive as the above examples.Tim

author: SiliconWizard
author_rank: Super Contributor
timestamp: June 21, 2022, 08:27:16 pm
content: Owning 256KB of RAM at the time would probably be a bit unusual. This expansion was probably pretty expensive. Lack of RAM played a big role in whatever could be achieved back then.Apart from the amount of RAM, what kind of modern programming techniques are being used for developing those games? First thing is, I bet developers do not actually develop on real C64's, which would make development much easier and more comfortable. What else? What programming languages are they using?

author: T3sl4co1l
author_rank: Super Contributor
timestamp: June 21, 2022, 08:52:33 pm
content: Quote from: SiliconWizard on June 21, 2022, 08:27:16 pmA good point -- I mentioned support and coding tools, but the platforms themselves are emulated to excellent accuracy, and the emulators can be automated via scripting to fast-forward execution, inspect and edit live memory, and run practically unlimited numbers of emulators in parallel. So, indeed, PC tools for programming at least, very much viable.Which, I don't know that there's a whole lot of application to run emulators in parallel, for programming purposes -- perhaps to run a genetic algorithm to solve some especially perplexing optimization problem say? -- but there are other reasons, certainly. If not especially practical reasons.For example, storing files in an array of Tetris instances (15:10).The... less exotic application, of course being tool-assisted superplays or speedruns. Some TASs accumulate 100k's of "rerecords" using scripts to brute force routes, button combinations, setups, etc. A "pure" study, in the sense of being entirely for entertainment purposes.Tim

author: Benta
author_rank: Super Contributor
timestamp: June 21, 2022, 08:53:32 pm
content: We're talking 8-bit computers, so 64k memory was maximum.8...16k would normally be occupied by the "OS" ROM, leaving 48...56k for RAM. I'm aware that some machines used "bank switching" techniques to get around that point, but they were the exceptions.

author: SiliconWizard
author_rank: Super Contributor
timestamp: June 21, 2022, 09:00:42 pm
content: Quote from: T3sl4co1l on June 21, 2022, 08:52:33 pmI think I mentioned this project a while ago, but here it is:https://github.com/floooh/chipsit has emulation for a number of classic 8-bit CPUs (Z80, 6502...) and for a number of 8-bit computers (C64, Amstrad CPC, ZX Spectrum...). It's relatively easy to understand, you can use the examples directly or derive your own emulators from them. Pretty cool.

author: BrianHG
author_rank: Super Contributor
timestamp: June 21, 2022, 09:08:21 pm
content: Quote from: SiliconWizard on June 21, 2022, 08:27:16 pmFair point. Realtime emulators with real-time cross assemblers now exist for the C64 and Atari. We are talking instant and realtime code editing and viewing results. This should help with development and debugging, plus don't forget to add modern graphic paint and music/score software tools.As for the ram, the Atari examples I illustrated above were 48kb, standard stock.I'm also guessing modern development teams have dedicated graphics/art, music and coders who have all seen what could be possible.I guess it boils down to not that it couldn't be done in 1983, but the kind of skill set required by a fluke perfect team sweating it out for a year, op-code by op-code, pixel-by-pixel, note to sound-FX, not even sure at the beginning how the final product would actually look or behave where all that work may end up being a total waste of time and money they probably don't have.

author: BrianHG
author_rank: Super Contributor
timestamp: June 21, 2022, 09:33:05 pm
content: Zippy (Sonic) for the Atari 2600. Well, with only 128bytes of user ram and no authentic graphics or sound hardware, I guess this is as good as it can get:

author: thinkfat
author_rank: Unknown
timestamp: June 22, 2022, 07:40:47 am
content: The VIC on the C64 had a register that would shift the screen horizontally by one pixel. Softscrolling was done by using this register for 7 pixels, then shifting the complete map by 8 pixels (copying the content) and resetting the register to 0.This register was not latched on vertical blank! That means it could be modified and be effective immediately, for each scanline!Parallax scrolling is just that technique, combined with a raster interrupt to scroll different horizontal bands at different speeds. You'd also reload e.g. a different color map for each of the bands, or a different character map to allow different graphics. Or you could reprogram the sprites, effectively allowing more than 8.Obviously those scrolling bands could not overlap, but you could work around that by carefully tweaking the graphics content to make it appear as if they overlapped.

author: David Hess
author_rank: Super Contributor
timestamp: June 22, 2022, 03:11:31 pm
content: Quote from: thinkfat on June 22, 2022, 07:40:47 amWas the content copied or the frame address incremented and then one column copied?

author: T3sl4co1l
author_rank: Super Contributor
timestamp: June 22, 2022, 03:56:07 pm
content: Quote from: David Hess on June 22, 2022, 03:11:31 pmIndeed, when scan address registers are available, that's the easy way to do it. Same is true of EGA, hence Carmack's development of Commander Keen. EGA is not sprite based, but it is bit-planed, so shifting the address 1 byte shifts the display 8 pixels left/right, or 40 bytes for one line up/down. And there's a pixel offset register to handle that. Redraw the new rows/columns every 8 pixels, and you've got smooth scrolling with little CPU effort. Keep a list of animated background frames and update those every time to add a little motion to the background, and, sprites still have to be drawn the sucky way: redraw the background over the old position, mask and redraw the sprite in the new position, repeat until done, flip the page buffer.Oh yeah, a little more complicated with buffering, since you need to redraw from the state two frames ago. Worst case, twice the scrolling redraw effort, background and sprites about the same.CGA I think didn't have it? But it's small enough, the PC didn't have too much trouble redrawing the whole screen in one frame, I think.Tim

author: David Hess
author_rank: Super Contributor
timestamp: June 22, 2022, 05:18:46 pm
content: Quote from: T3sl4co1l on June 22, 2022, 03:56:07 pmMy experience at the time was with the Apple 2, which had a fixed frame buffer like CGA, and the Atarti 800, which used a display list processor so could operate like I described to implement smooth scrolling in any direction. I never got into the details of the C64.

author: thinkfat
author_rank: Unknown
timestamp: June 22, 2022, 07:26:28 pm
content: Quote from: David Hess on June 22, 2022, 03:11:31 pmI don't know how game "engines" did it. The VIC only had one register for the start address of the whole linear framebuffer. With some clever programming, I guess you could do smooth parallax scrolling by just manipulating this address pointer.

author: David Hess
author_rank: Super Contributor
timestamp: June 22, 2022, 08:36:57 pm
content: Quote from: thinkfat on June 22, 2022, 07:26:28 pmThat is how it was done. Changing the start address by a small increment will shift the display horizontally, and changing the start address by a scan line will shift the display vertically. Then only a single scan line or column needs to be written by the processor instead of copying the whole frame buffer like an Apple 2 had to do.

author: SiliconWizard
author_rank: Super Contributor
timestamp: June 22, 2022, 08:47:05 pm
content: Fascinating how hardware designers were creative back in the days to allow software to do amazing things with very limited CPU power - things that people are still able to exploit even better, 40 years later!The Amiga ASICs were also a feat of engineering.

author: BrianHG
author_rank: Super Contributor
timestamp: June 22, 2022, 10:07:52 pm
content: Quote from: SiliconWizard on June 22, 2022, 08:47:05 pmYes, the time and place of the Amiga1000 chipset in the mid 80's was a gigantic leap.Unfortunately, there was no 'true' forward innovation after that point locking the system down to a slow anguishing end. (No, quadrupling the addressable display ram and going up to 8bit planes with an option to double the pixel clock right at the end of Amiga's life wasn't truly moving forward.)

author: SiliconWizard
author_rank: Super Contributor
timestamp: June 22, 2022, 10:12:14 pm
content: Well, they knew the platform was going to die anyway. IIRC, they were already trying to bet on making compatible PCs.But that wasn't hugely successful either.

author: BrianHG
author_rank: Super Contributor
timestamp: June 22, 2022, 10:25:27 pm
content: Quote from: SiliconWizard on June 22, 2022, 10:12:14 pmIn the early, early, early 90s, when I was doing some contract work for RCS Management (Amiga 68040 accelerator cards), we tried to convince Commodore to make adapt their OS to a PC standard. They laughed and thought their hardware was unstoppable.The 8-bit 256 color capable Amiga AGA chipset was supposed on the Amiga 3000, but no. The A3000 was also supposed to add a Motorola audio DSP with 32 channel 16 bit sound, but not. The A4000 which had the already too slow AGA chipset was supposed to have the AAA chipset with 32bit graphics & a new Paula for authentic HD floppy drive, better RS232 port, and 16 channel HD audio. But no. Guess where Commodore sunk their hardware engineering time and money. It was a stupid project called CDTV. They were too high on Amiga500 sales with games in Europe and ignored the prospect of becoming a competitor to Windows or Mac and let everything slip away.

author: SiliconWizard
author_rank: Super Contributor
timestamp: June 22, 2022, 10:35:57 pm
content: I don't know all details of the whole story, but I think there was kind of an internal war inside Commodore between those willing to push the Amiga platform and those willing to make PCs. That kind of killed Commodore eventually. But AFAIR, they did make PCs and they did also sell cards for Amigas (2000+) with a 8086 to make them PC-compatible.Apple had this kind of internal war too between the Apple II line and the Mac. While betting on the Mac was, for the long term, a wise choice, they didn't handle the strategy all that well either. They almost went bankrupt.

author: BrianHG
author_rank: Super Contributor
timestamp: June 22, 2022, 10:49:40 pm
content: Quote from: SiliconWizard on June 22, 2022, 10:35:57 pmJust to be clear, we (being RCS management at the time) never recommended to Commodore to make PCs. We wanted them to get completely out of hardware and translate Amiga OS to an x86 cpu.

author: james_s
author_rank: Super Contributor
timestamp: June 22, 2022, 11:23:01 pm
content: Quote from: BrianHG on June 22, 2022, 10:25:27 pmIMO the hardware was the secret sauce that made the Amiga what it was, I'm not sure the OS would have been all that spectacular on standard PC hardware of the era. The problem I see is they either sat on their laurels or spread their resources too thin and didn't keep updating the custom chips at a sufficient rate. The Amiga custom chipset was way, way out ahead when it first appeared, but it didn't really progress all that much over the next 5 years or so and at that time 5 years was an eternity in PC development.

author: SiliconWizard
author_rank: Super Contributor
timestamp: June 22, 2022, 11:25:40 pm
content: Quote from: BrianHG on June 22, 2022, 10:49:40 pmThat's interesting.Amiga OS is still being maintained:https://en.wikipedia.org/wiki/AmigaOS_4(but targets PowerPC now.)

author: thinkfat
author_rank: Unknown
timestamp: June 24, 2022, 08:14:13 am
content: Quote from: james_s on June 22, 2022, 11:23:01 pmThe hardware features certainly were the "wow" factor that made the Amiga look spectacular in ads. But, the OS with its preemptive multitasking at the time was leaps and bounds ahead of everything else that was available on other platforms. I remember the pain switching between Windows 3.11 and AmigaOS. But Commodore made the same mistake as every other hardware driven company, trying to wow the customer with hardware bling and not realizing that the software is of equal importance.

author: Zero999
author_rank: Super Contributor
timestamp: June 24, 2022, 08:41:23 am
content: Quote from: thinkfat on June 24, 2022, 08:14:13 amMost smaller computer platforms were bound to fail, once IBM clones became cheap and widely available. A few hung around afterwards, but not with a significant market share.

author: BrianHG
author_rank: Super Contributor
timestamp: June 24, 2022, 01:13:02 pm
content: Quote from: Zero999 on June 24, 2022, 08:41:23 amLike I said:Quote from: SiliconWizard on June 22, 2022, 11:25:40 pmWe began a 32bit video card project with RCS management. At this time, the SoundBlaster 16 came out with CD quality audio and we saw data sheets for the next generation of GPUs from S3 and Trident (bought/became Nvidia) with their geometry 2D and 3D capabilities as I clearly remmeber being told and asking WTF are Z-buffers. Most of the Amiga blitter functions could be emulated / translated while tons of new graphics functions the Amiga couldn't dream of were only a few years away. The Amiga OS was lean, memory efficient and had a community of fans, and if Commodore listened to us, their OS would have run circles around Windows at the time with X86 just beginning to pass 50MHz. Commodore didn't have a clue AGP and 75-125 Mhz CPUs were coming which would trample their hardware, albeit a more expensive in the beginning, but for how long?

author: Zero999
author_rank: Super Contributor
timestamp: June 24, 2022, 04:03:41 pm
content: Quote from: BrianHG on June 21, 2022, 07:18:37 amHere's the original Master System version. As you can see the C64 port has fewer colours and a slightly lower resolution. I think the Game Gear version was used, which is exactly the same as the Master System, but a lower resolution.

author: BrianHG
author_rank: Super Contributor
timestamp: June 24, 2022, 05:01:57 pm
content: Yes, the C64 can only do 16 colors. I don't think there is even a palette.Also, I think the C64 tops out at 320x200.

author: james_s
author_rank: Super Contributor
timestamp: June 24, 2022, 05:44:26 pm
content: Quote from: BrianHG on June 24, 2022, 01:13:02 pmVLB and soon after PCI provided a huge increase in video performance a few years before AGP.My memory is a bit hazy but it seems like there were several attempts to resurrect the Amiga but excessively restrictive licensing of the OS and other aspects always resulted in attempts dying on the vine. I think the only hope was to open up the OS or at least license it and any of the technology very cheaply and easily in order to get the ball rolling. Even so it was hopless once Windows reached critical mass.

author: BrianHG
author_rank: Super Contributor
timestamp: June 24, 2022, 06:26:54 pm
content: Quote from: james_s on June 24, 2022, 05:44:26 pmI meant PCI, not AGP. My mistake. AGP was much later. Also, I totally forgot about VLB, I mean, I heard it mentioned once or twice but never considered it anything special.

author: Canis Dirus Leidy
author_rank: Regular Contributor
timestamp: June 25, 2022, 09:43:59 am
content: Talking about "8-bit computer limits". Review of software forATM-turbo (ZX Spectum enhanced clone):

author: BrianHG
author_rank: Super Contributor
timestamp: June 26, 2022, 07:45:48 pm
content: Here is what a Commodore Pet can do:Though, it's not a game...

author: Bruce Abbott
author_rank: Frequent Contributor
timestamp: July 22, 2022, 08:26:33 am
content: Quote from: BrianHG on June 24, 2022, 01:13:02 pmAmiga OS did run circles around Windows at the time, except in a few critical areas. But even if it was better ineveryway it wouldn't have helped. The Amiga's fate was already sealed on August 12, 1981 when IBM launched the PC.QuoteCommodore declared bankruptcy on May 6, 1994, essentially freezing development of the Amiga at that point. And a good thing it was too, because the next generation would be incompatible and vastly more complex.It always annoyed me that just as I got familiar with a particular platform and started to push the limits a new one would come out that made all my efforts redundant. Over the years I sold, gave away or trashed most of my earlier computers as I upgraded, but I kept the A1200 because it was such a joy to use that I couldn't bear to part with it. But it got little use until a few years ago when I was goaded into getting it online again - by people on this very forum who accused me of being a 'criminal' for using the 'insecure' Windows XP.Recent developments for the Amiga have been amazing. One big reason for that is cheap powerful PCs, which make development much easier for the hobbyist. 'Back in the day' sophisticated hardware was much more difficult and expensive to produce, and few of us could afford a high-end PC with cross-compiler etc. for software development. Another problem was the breakneck rate of change in the computer industry, which meant you were always looking toward the future and often didn't have time to do a proper job.Now that we don't have to compete with the latest and greatest we can take our time to really push the limits of these retro computers, so they are starting to reach their full potential. For example I developed an an expansion for theMattel Aquariusthat replaces its bulky 'Mini Expander' with a unit that fits inside the machine and includes a USB port, extra RAM and a ROM emulator. This would have very difficult to do back in the 90s. Today, with excellent freeware PCB design software, cheap professional quality PCB manufacturing, fast macro assembler and an emulator, it was a fun project ('back in the day' I would have had to use the actual Aquarius for much of this, which would be been a pain since it is one the least user-friendly machines of that era). I also completed a couple of software projects for the Amstrad CPC, again using an emulator which made development a breeze.My Amiga 1200 is powerful enough (with 50MHz 030 and 32MB Fast RAM) that I can enjoy developing software directly on it - helped by its excellent multitasking. The PC is still useful here though for doing stuff the Amiga would struggle with such as viewing pdf files and software repositories on github, printing to modern inkjet printer etc. PCs can also do stuff like compressing files using algorithms that would be way too slow on the Amiga but extract quickly on a stock A500, and creating high quality optimized images and video that would take far too long to render on the Amiga. WithUAEyou can safely test your software on various configurations, and track down bugs at the 'hardware' level with cycle-accurate emulation.

author: rsjsouza
author_rank: Super Contributor
timestamp: August 06, 2022, 01:18:12 am
content: Quote from: BrianHG on June 24, 2022, 06:26:54 pmDespite quite cumbersome mechanically, VLB was what created the thirst of the PC users/enthusiasts to see beyond their ISA bus and the expensive ATI All-in-Wonders, Video7s, etc. I remember very well how such video cards became instantly obsolete by several somewhat "off-brands" of the time. Then VLB moved to the IDE/SCSI controller, which immediately killed those ISAs as well.The jump from VLB to PCI w.r.t. performance was not as perceptible as the jump from ISA to VLB.

author: Zero999
author_rank: Super Contributor
timestamp: August 06, 2022, 10:06:06 am
content: Quote from: Bruce Abbott on July 22, 2022, 08:26:33 amWhat makes you think that? The IBM PC was not designed for graphics and performed poorly at gaming compared to hardware of a similar price. The CGA graphics card lacked hardware sprites and scrolling.

author: David Hess
author_rank: Super Contributor
timestamp: August 06, 2022, 01:41:15 pm
content: Quote from: Zero999 on August 06, 2022, 10:06:06 amThe most successful systems at the time included card based expansion, which the Amiga lacked until 8 years after the Apple 2, and 4 years after the IBM PC.

author: Kleinstein
author_rank: Super Contributor
timestamp: August 06, 2022, 02:18:00 pm
content: The Amiga1000 from the start included to option for expansion. It just got a little tricky with more than 1 card. However with all the basic functions on board, there was no need for an expansion card in most cases. The original IBM PC needed extra cards for the floppy controller, Printer and usually RAM expansion - so not sure they had more than 1 free slot after that.The big problem with the Amiga system was that the OS was kind of hard wired to the graphics, that made is very hard to get a different graphis. At the start the graphics was relatively good ( the Mac was still monochrome and many PCs too). The later versions did a little upgrade (more colors), but it was still limited and fell way behind the VGA graphics. It was only later (~1994) that really useful graphcs cards come out and even these still had compatibilty problems, as much of the SW was writtlen with the original graphics in mind and the OS handled graphics different than most others: Colors were handled with separate bit planes and not 1 byte or 3 consecutuve bytes per pixel. This was OK and good with low color depth, like 4 or 16 colors, but got stupid with 256 or more colors.

author: Zero999
author_rank: Super Contributor
timestamp: August 06, 2022, 04:24:16 pm
content: Quote from: Kleinstein on August 06, 2022, 02:18:00 pmI would say the Amiga 500 had better graphics, than the PCs with a VGA card at the time. It's true the VGA had more colours, but the Amiga had hardware acceleration which meant the CPU didn't have to work so hard.

author: David Hess
author_rank: Super Contributor
timestamp: August 06, 2022, 11:17:45 pm
content: Quote from: Kleinstein on August 06, 2022, 02:18:00 pmThat is the same argument made by all of the other systems of that time which lacked card cage type expansion, especially the TI99/4A. Even Apple relented and eventually released a Macintosh with expansion. The commercially successful systems from that time are the IBM PC and Apple Macintosh, and Apple almost did not make it.Was there some other reason that none of the other systems became the future standard?

author: Alex Eisenhut
author_rank: Super Contributor
timestamp: August 07, 2022, 03:16:59 am
content: I humbly suggest that GEOS already pushed the limits of the C64 back in the '80s. With other '80s Commodore goodies like the 1581 3.5" floppy, 1764 256K RAM expansion, and 1351 proportional mouse it made the 64 into a Mac-Lite.https://monochromeeffect.org/wp/en/2018/05/19/305/OK OK that's a 128, still an 8 bitter!

author: m k
author_rank: Super Contributor
timestamp: August 10, 2022, 08:57:59 am
content: Quote from: David Hess on August 06, 2022, 11:17:45 pmI'd say that the primary reason was a wrong market segment, or missing pro segment.IBM PC was a general number crunching thing and Apple found a publishing segment.Animation was what Amiga world tried later but it was sort of officially unsupported event, and pretty small segment.Now it's pretty obvious that special stuff can survive with higher prices but minimal volume must be reached.Gaming have lifted some unusual or atypical programming areas onto their own feet, like landscapists.

author: Kleinstein
author_rank: Super Contributor
timestamp: August 10, 2022, 10:01:39 am
content: With computers the more common systems have an inherent advantage of good software choices, available preriphery and more people knowing how to use it. So it is natural that there are only a few systems to really do well, even if others are from the technical side better.The main advantage of the IBM PC was the brand IBM behind it and available periphery and later the software side. It was fortuous that the graphics was upgradable seprate from the rest of the system. So the graphis could get imporved while still keeping the old DOS compatibility.The Amiga lacked a good flicker free graphics and was thus very limited for professional use (a few exceptions for video) - it just took too long to change this.