Jump to content
IGNORED

The BEST 8 Bit Gaming Computer


8 Bit Gamming Computers  

142 members have voted

  1. 1. Pick the best...

    • Commodore 64
      80
    • ZX Spectrum
      18
    • Apple 2
      6
    • Atari 400
      35
    • Amstrad 664
      3

  • Please sign in to vote in this poll.

Recommended Posts

The Atari fans love to bring up the clock speed difference between it and the C64 but in an old Compute Magazine they benchmarked the two in assembly and the C64 was the faster of the two there. Both beat the Speccy by a wide margin and the BBC micro was the fastest of the machines tested. However... I haven't been able to track down the magazine the original benchmarks came from so I don't know if they were flawed. If any Basic was involved the Atari's lack of integers in it's Basic really slow it down.

 

I'd love to see the article if you could dig it up, but I can't help but feel that it would have been flawed. I can't think of any reason why the Atari 800 wouldn't be a fair bit quicker than the C64; the CPUs are almost the same and the former is clocked a lot faster. Unless there are some horrendous memory contention issues that I'm not aware of, it's an open and shut case. In any case, if you want a realistic benchmark, just try playing Mercenary on both machines.

 

Even the Spectrum ought to come out faster than the C64; A 3.5:1 ratio in CPU speeds ought to be more than enough to compensate for the efficiencies of the 6502; I know for a fact that the Spectrum has 32K of uncontended memory, so the only possible explanation would be a naive translation of code without any re-optimization and that would work both ways. Again, you can play almost any 3D game on both machines and the Spectrum version will have a visible edge in speed. By the way, the Spectrum's CPU power might not be that great overall, but since the screen only used 6.75K of RAM, where most of its competitors had to address around 16K, that gave it a huge advantage in games where the hardware implementation couldn't do most of the work. It also gave programmers good reason to break out of the sprite/scrolling trap and develop more innovative graphics engines.

 

Anyway, the BBC was definitely the fastest machine of the era with a 2 MHz 6502 CPU and no memory contention. It was just too expensive to compete against the other machines in the marketplace and the attempt to produce a cheaper model ended up with the flawed and incompatible Electron. You can't knock the games for it though; Elite is almost synonymous with 8 bit gaming in the UK.

 

Edit: I think I've found the article and, althoug the CPUs do get a mention, its just benchmarking the BASIC implementations on the machines:

 

http://www.gondolin.org.uk/hchof/reviews/yc-atari800xl.html

 

Is that the one?

Edited by Matt_B
Link to comment
Share on other sites

The Atari fans love to bring up the clock speed difference between it and the C64 but in an old Compute Magazine they benchmarked the two in assembly and the C64 was the faster of the two there. Both beat the Speccy by a wide margin and the BBC micro was the fastest of the machines tested. However... I haven't been able to track down the magazine the original benchmarks came from so I don't know if they were flawed. If any Basic was involved the Atari's lack of integers in it's Basic really slow it down.

 

I'd love to see the article if you could dig it up, but I can't help but feel that it would have been flawed. I can't think of any reason why the Atari 800 wouldn't be a fair bit quicker than the C64; the CPUs are almost the same and the former is clocked a lot faster. Unless there are some horrendous memory contention issues that I'm not aware of, it's an open and shut case. In any case, if you want a realistic benchmark, just try playing Mercenary on both machines.

 

Even the Spectrum ought to come out faster than the C64; A 3.5:1 ratio in CPU speeds ought to be more than enough to compensate for the efficiencies of the 6502; I know for a fact that the Spectrum has 32K of uncontended memory, so the only possible explanation would be a naive translation of code without any re-optimization and that would work both ways. Again, you can play almost any 3D game on both machines and the Spectrum version will have a visible edge in speed. By the way, the Spectrum's CPU power might not be that great overall, but since the screen only used 6.75K of RAM, where most of its competitors had to address around 16K, that gave it a huge advantage in games where the hardware implementation couldn't do most of the work. It also gave programmers good reason to break out of the sprite/scrolling trap and develop more innovative graphics engines.

 

Anyway, the BBC was definitely the fastest machine of the era with a 2 MHz 6502 CPU and no memory contention. It was just too expensive to compete against the other machines in the marketplace and the attempt to produce a cheaper model ended up with the flawed and incompatible Electron. You can't knock the games for it though; Elite is almost synonymous with 8 bit gaming in the UK.

 

Edit: I think I've found the article and, althoug the CPUs do get a mention, its just benchmarking the BASIC implementations on the machines:

 

http://www.gondolin.org.uk/hchof/reviews/yc-atari800xl.html

 

Is that the one?

 

 

Absolutely no question. When you play those Isometric games the Spectrum is famouse for, it wins in speed hands down. But, it doesn't win for loading speed, the C64 loads much faster.

 

Also, in other types of games the C64 has comparable if not superior speed. Defender on both systems will show that the Speccy was jerky and had slow down in the midst of gameplay more than once, the C64 didn't.

 

-Ray

Link to comment
Share on other sites

The Atari fans love to bring up the clock speed difference between it and the C64 but in an old Compute Magazine they benchmarked the two in assembly and the C64 was the faster of the two there. Both beat the Speccy by a wide margin and the BBC micro was the fastest of the machines tested. However... I haven't been able to track down the magazine the original benchmarks came from so I don't know if they were flawed. If any Basic was involved the Atari's lack of integers in it's Basic really slow it down.

 

I'd love to see the article if you could dig it up, but I can't help but feel that it would have been flawed. I can't think of any reason why the Atari 800 wouldn't be a fair bit quicker than the C64; the CPUs are almost the same and the former is clocked a lot faster. Unless there are some horrendous memory contention issues that I'm not aware of, it's an open and shut case. In any case, if you want a realistic benchmark, just try playing Mercenary on both machines.

 

Even the Spectrum ought to come out faster than the C64; A 3.5:1 ratio in CPU speeds ought to be more than enough to compensate for the efficiencies of the 6502; I know for a fact that the Spectrum has 32K of uncontended memory, so the only possible explanation would be a naive translation of code without any re-optimization and that would work both ways. Again, you can play almost any 3D game on both machines and the Spectrum version will have a visible edge in speed. By the way, the Spectrum's CPU power might not be that great overall, but since the screen only used 6.75K of RAM, where most of its competitors had to address around 16K, that gave it a huge advantage in games where the hardware implementation couldn't do most of the work. It also gave programmers good reason to break out of the sprite/scrolling trap and develop more innovative graphics engines.

 

Anyway, the BBC was definitely the fastest machine of the era with a 2 MHz 6502 CPU and no memory contention. It was just too expensive to compete against the other machines in the marketplace and the attempt to produce a cheaper model ended up with the flawed and incompatible Electron. You can't knock the games for it though; Elite is almost synonymous with 8 bit gaming in the UK.

 

Edit: I think I've found the article and, althoug the CPUs do get a mention, its just benchmarking the BASIC implementations on the machines:

 

http://www.gondolin.org.uk/hchof/reviews/yc-atari800xl.html

 

Is that the one?

 

 

I had the chance to write assembler code on both machines. In terms of raw compute, the atari was the faster of the two. Where memory I/O is concerned, the C64 has the edge in some cases because of how it's memory DMA worked. On the Atari, memory contention for high bit rate, full screen display modes (48 byte scans), would slow things down somewhat. Still, no real advantage to the C64 overall.

 

For games, how the game is structured really makes a difference. Both systems had their advantages. How quickly the platform performed depended on how the hardware supported the gaming environment.

 

On the matter of the best, I still say the Atari 8bitters rule because of how the video system worked. Games that were keyed to the screen display, in particular those that took advantage of the video sub-system, ended up with a crisp real-time feel, other systems did not reproduce as well.

 

This is interrupt, event driven programming, and the Atari really emphasizes it because of how it operates. Display list interrupts, vblank interrupts, latched inputs, etc... all combined to allow some low-level linking directly to the metal that affected the overall game design in a unique way. The 2600 is the extreme of this, with the 8bitters being a nice hybrid. On the C64, these kinds of things were not done as often because of the focus on more detailed on screen graphics.

 

I suppose one could argue the types of color displays on the C64 are more general case, allowing for more colors in more parts of the graphics screen without the vertical limitations. However, that also means building your display has less overall effect on the game itself. That's where the Jay Miner magic is --and it's a superior experience when game and hardware become one for the player.

Link to comment
Share on other sites

Absolutely no question. When you play those Isometric games the Spectrum is famouse for, it wins in speed hands down. But, it doesn't win for loading speed, the C64 loads much faster.

 

I was actually thinking of true 3D games such as Carrier Command, The Sentinel and Mercenary. For what it's worth I thought the Amstrad CPC did isometric games the best, although my fellow WOSsers may brand me a heretic for saying that. :)

 

 

The standard loader on the Spectrum ran at around 1500 baud but it was only really designed for a 16K machine where it could usually load a game in under a minute; maybe two if you wanted a title screen. A typical 48K game took 3-4 minutes to load, which wasn't great. However, you could do much faster custom loaders, some of which ran at 3000 or even 4500 baud, to get the loading time down to around a couple of minutes although they could be a lot less reliable. 128K games could be bad news, I suppose, as some that didn't have custom loaders could take upwards of 10 minutes; however that has to be seen in the context that the machine was designed to load an entire game at once avoiding the need for disk access or tape multiloads.

 

Anyway, did the C64 really manage much better than this? I thought games typically took several minutes to load from disk on the machine, let alone tape where the standard speed was around 300 baud? This made custom loaders a necessity rather than a luxury.

 

Also, in other types of games the C64 has comparable if not superior speed. Defender on both systems will show that the Speccy was jerky and had slow down in the midst of gameplay more than once, the C64 didn't.

 

You've obviously never seen Invasion of the Body Snatchas then. ;) It's a Defender clone that, if anything, is just too fast to be playable. On the other hand, I suppose it's very optimized for the Spectrum making it quite different from the arcade version. It also required external hardware for the sound effects, although could be hacked to use the AY chip on a 128K machine.

 

I'd take the point about scrolling shoot 'em ups though. The C64 ought to do better, and usually does because the hardware gives huge advantages here with scrolling and sprites where the Spectrum has to do it all in software. 3D games are a much fairer test of raw CPU power, as no machine had any accellerator features for them back in the day.

Edited by Matt_B
Link to comment
Share on other sites

3D games are a much fairer test of raw CPU power, as no machine had any accellerator features for them back in the day.

 

Is it really fairer? I thought the Speccys horizontal resolution is only 256 pixels vs. 320 on the C64. So while the Speccy can go with 8-Bit math, the C64 had to do a slightly more complex job, dealing with an additional 9th bit somehow.

Link to comment
Share on other sites

I'd love to see the article if you could dig it up, but I can't help but feel that it would have been flawed. I can't think of any reason why the Atari 800 wouldn't be a fair bit quicker than the C64; the CPUs are almost the same and the former is clocked a lot faster. Unless there are some horrendous memory contention issues that I'm not aware of, it's an open and shut case. In any case, if you want a realistic benchmark, just try playing Mercenary on both machines.

It's online but the benchmarks came from a different magazine that isn't available.

 

The speed difference between the C64 and Atari based soley on clock speed is a little misleading due to differences in the two architectures. More clock cycles are stolen away from the Atari CPU by the rest of the hardware. But that doesn't mean the Atari isn't faster. Besides, it varies on both depending on mode, sprites, etc.

 

Since I haven't benchmarked them myself I tend to take comparisons with a grain of salt. That was a magazine article and they tend to be as smart as their author.

 

Like I said, if Basic was involved that would hurt the Atari. But then the Tandy CoCo didn't have integers either and still came close to the performance of machines with integers and that was at the default .69MHz stock clock speed. The double speed poke on it pretty much made it one of the faster machines from Basic.

 

Even the Spectrum ought to come out faster than the C64; A 3.5:1 ratio in CPU speeds ought to be more than enough to compensate for the efficiencies of the 6502; I know for a fact that the Spectrum has 32K of uncontended memory, so the only possible explanation would be a naive translation of code without any re-optimization and that would work both ways. Again, you can play almost any 3D game on both machines and the Spectrum version will have a visible edge in speed. By the way, the Spectrum's CPU power might not be that great overall, but since the screen only used 6.75K of RAM, where most of its competitors had to address around 16K, that gave it a huge advantage in games where the hardware implementation couldn't do most of the work. It also gave programmers good reason to break out of the sprite/scrolling trap and develop more innovative graphics engines.

Speccy faster than the C64? Could be... I thought it takes closer to a 4MHz Z80 to match a 1MHz 6502 but to be honest it depends on what you are doing and the implementation. Optimal Z80 code is a little easier than 6502... I've programmed both and an optimal 6502 version sometimes takes a very strange approach that isn't obvious. Commodore hacking newsletter (#16?) had a 3D engine that was faster than the Elite engine. Every 6502 version might have been faster if parts of it had been used. But then, the Z80 version might benefit from some changes as well.

 

Any time you compare machines with a game you are depending on the programmers to implement things in the best way and that varies from one game to the next.

 

Anyway, the BBC was definitely the fastest machine of the era with a 2 MHz 6502 CPU and no memory contention. It was just too expensive to compete against the other machines in the marketplace and the attempt to produce a cheaper model ended up with the flawed and incompatible Electron. You can't knock the games for it though; Elite is almost synonymous with 8 bit gaming in the UK.

Of those machines, yes but the CoCo3 would have been faster once in high speed mode (1.7??? MHz).

Older CoCos could double speed when using the ROM so Basic could run faster but it didn't work in RAM so the CoCo3 is faster than older models.

 

Of all 6502 machines, OSI supposedly had a faster 6502 machine if you had the bucks (I *think* 4MHz). It had an ion implanted 6502 or something like that. I wouldn't call it a gamer and OSI disappeared into oblivion.

 

The 2MHz 65816 in the IIgs was also faster. But again, it was a later design.

 

Edit: I think I've found the article and, althoug the CPUs do get a mention, its just benchmarking the BASIC implementations on the machines:

...

Is that the one?

I thought the one I looked at used assembly but I can't find any other article so it might be the one and I just messed up. I looked up benchmark articles in Kilobaud Microcomputing and only found info on assembly benchmarks but that doesn't mean they didn't have basic ones as well... obviously.

Yeah, if it's a Basic benchmark then that will really hurt the Atari. I'd like to see what one of the faster replacement Basic's for the Atari that came out later would do on those.

 

Even if that's the case, I still wouldn't change my vote because those benchmarks didn't enter into my decision.

To be honest I didn't have either the Atari or C64 as a kid and now I have 2 Atari 130XEs and no C64... but I want one.

 

That article certainly doesn't speak well of speccy Basic. The Z80 is slow but not that slow. Machines like the TRS-80 Model III would have done pretty well in a Basic benchmark.

I wonder if the updated ROMs on the web improve Speccy Basic's speed.

Link to comment
Share on other sites

Commodore hacking newsletter (#16?) had a 3D engine that was faster than the Elite engine. Every 6502 version might have been faster if parts of it had been used. But then, the Z80 version might benefit from some changes as well.

 

It's totally vague to make statements like that. You can speed up almost everything by adding precomputed data. By that the 3D engine will consume more space. So while speeding the 3D up, you deduct memory for the rest of the game at the same time. If you make a 3D engine that is twice as fast while at the same time being twice as big, you just might not be able to fit the rest of the game into 64K. Also in a real game your "3D-Time" is shared with "AI-Time" and whatnot, which an engine demo won't deal with.

 

So when someone writes a 3D-engine that can rotate the Cobra twice as fast or even with filled polygons or some other gimmick, that says nothing regarding wether "Elite could've been like that".

 

Sure, 1000s of programming tricks have been discovered 1985, but until someone delivers a significantly improved Elite with the rest of the game completely intact, that discussion is pure academic.

Link to comment
Share on other sites

It's online but the benchmarks came from a different magazine that isn't available.

 

The speed difference between the C64 and Atari based soley on clock speed is a little misleading due to differences in the two architectures. More clock cycles are stolen away from the Atari CPU by the rest of the hardware. But that doesn't mean the Atari isn't faster. Besides, it varies on both depending on mode, sprites, etc.

 

I suppose there's no escaping it, but yes, even CPU power is going to be dependent on the hardware implemenation. A 77% lead is hard to throw away on memory contention though, although I suppose the Acorn Electron lost half of its clock cycles due to a poor implementation.

 

Since I haven't benchmarked them myself I tend to take comparisons with a grain of salt. That was a magazine article and they tend to be as smart as their author.

 

You'd be quite right to in the case of Jack Schofield. He was notoriously defensive of the BBC and antagonistic towards the C64 and the Spectrum.

 

Speccy faster than the C64? Could be... I thought it takes closer to a 4MHz Z80 to match a 1MHz 6502 but to be honest it depends on what you are doing and the implementation. Optimal Z80 code is a little easier than 6502... I've programmed both and an optimal 6502 version sometimes takes a very strange approach that isn't obvious. Commodore hacking newsletter (#16?) had a 3D engine that was faster than the Elite engine. Every 6502 version might have been faster if parts of it had been used. But then, the Z80 version might benefit from some changes as well.

 

There were plenty of better 3D engines used in later Z80 games. Have a look at Carrier Command, Starstrike II or Starglider on the Spectrum or Amstrad for a few examples.

 

I used to think I knew about optimizing Z80 code, but I'm coming to realize that it's just as much of a black art as with the 6502. Use of the stack for memory copy, adding and multiplying using the 16 bit address registers, switching to the alternate register set, using undocumented ops and getting random numbers from the refresh register are all tricks I've picked up in the past six months.

 

The 2MHz 65816 in the IIgs was also faster. But again, it was a later design.

 

It's a 16 bit machine too, although I suppose you could debate that when it runs 6502 compatible mode.

 

That article certainly doesn't speak well of speccy Basic. The Z80 is slow but not that slow. Machines like the TRS-80 Model III would have done pretty well in a Basic benchmark.

I wonder if the updated ROMs on the web improve Speccy Basic's speed.

 

Yes, there's a whole story behind that. Basically, the developers of the Spectrum software - Nine Tiles - offered to come up with a specially optimized version of BASIC for the new machine. However, Sinclair wanted them to do it on the cheap so they just ported the ZX81 ROM over in the end, adding a few new commands to access the hardware features. It wasn't even a finished version that ended up in the machine.

Edited by Matt_B
Link to comment
Share on other sites

Anyway, did the C64 really manage much better than this? I thought games typically took several minutes to load from disk on the machine, let alone tape where the standard speed was around 300 baud? This made custom loaders a necessity rather than a luxury.

While the C64 is always bashed because of his very slow disk access, it is a very easy issue to solve. You can have up to 16x speed via plain software. Just upload code to the drive which implements a fast protocol, issue solved. Many programs do that, and some even have more than 16x speed because some commercial software not only uses a faster serial protocol but also an optimized disk format which can also be changed by software.

 

Example: Reading the entire diskside (170 KiB)

 

Normal: 0.5 KiB/sec -> more than 5 minutes !

Software fastload: 8 KiB/sec -> 21 seconds

 

Reading a diskside via SIO bus is way slower than that.

 

There are faster methods using extra hardware, but software is good enough. Every program loads in less than 3 to 4 seconds! A second less does not really matter, especially considering that you'd need to modify the disk drive for that.

Link to comment
Share on other sites

3D games are a much fairer test of raw CPU power, as no machine had any accellerator features for them back in the day.

 

Is it really fairer? I thought the Speccys horizontal resolution is only 256 pixels vs. 320 on the C64. So while the Speccy can go with 8-Bit math, the C64 had to do a slightly more complex job, dealing with an additional 9th bit somehow.

It's worse than that. The speccy uses 1 bit per pixel for the bitmap and then has a block of RAM for setting the color within a square on the screen. So, if you leave the color the same for an entire area and only update the pixel bits there's less to process than on a system with multiple bits / pixel. However, changing screen modes part way through the screen could counter that.

 

On the other hand, computers that have user definable characters can show very complex images and move them by moving fewer bytes than on a machine with only bitmapped graphics.

 

Each one of these machines has some feature that was used to it's advantage and it's why some games look better on one than another and it's not consistant which machine is best. No one machine was better for all games.

Link to comment
Share on other sites

Absolutely no question. When you play those Isometric games the Spectrum is famouse for, it wins in speed hands down. But, it doesn't win for loading speed, the C64 loads much faster.

 

Also, in other types of games the C64 has comparable if not superior speed. Defender on both systems will show that the Speccy was jerky and had slow down in the midst of gameplay more than once, the C64 didn't.

First of all, Isometric games just have blocks of graphics that are drawn back to front, bottom to top.

All it does is sort the data and draw.

What machine is faster is very dependant on how you implement this.

If you use a slower sort, less intelligent screen update or blit routine then one machine will be faster than another just on that basis alone.

 

The 6502 is tougher to sort on but it's faster at blitting hands down.

 

However, if the blocks of graphics are designed to work within certain screen attributes of one machine it may not translate well to another machine. That can work in reverse. An isometric game designed from scratch for a machine that used 2 or 4 bits / pixel may not run as fast on the speccy because the graphics blocks aren't an even multiple of 8 pixels wide. Then it doesn't just copy to the screen it has to OR with what is already in a byte and that will vary as you go across the screen. This would bring the Speccy to a crawl while the other machine just blits.

<edit>

That should read "copies data" rather than "blits" because a blit can include masking and that wasn't what I was trying to say.

Edited by JamesD
Link to comment
Share on other sites

Commodore hacking newsletter (#16?) had a 3D engine that was faster than the Elite engine. Every 6502 version might have been faster if parts of it had been used. But then, the Z80 version might benefit from some changes as well.

 

It's totally vague to make statements like that. You can speed up almost everything by adding precomputed data. By that the 3D engine will consume more space. So while speeding the 3D up, you deduct memory for the rest of the game at the same time. If you make a 3D engine that is twice as fast while at the same time being twice as big, you just might not be able to fit the rest of the game into 64K. Also in a real game your "3D-Time" is shared with "AI-Time" and whatnot, which an engine demo won't deal with.

 

So when someone writes a 3D-engine that can rotate the Cobra twice as fast or even with filled polygons or some other gimmick, that says nothing regarding wether "Elite could've been like that".

 

Sure, 1000s of programming tricks have been discovered 1985, but until someone delivers a significantly improved Elite with the rest of the game completely intact, that discussion is pure academic.

Making claims the 3D library is bogus without proof isn't any better.

It's a generic 3D library and the source is on the web if you want to prove it's crap.

For that matter the original Elite source for the Atom is on the web.

Link to comment
Share on other sites

I used to think I knew about optimizing Z80 code, but I'm coming to realize that it's just as much of a black art as with the 6502. Use of the stack for memory copy, adding and multiplying using the 16 bit address registers, switching to the alternate register set, using undocumented ops and getting random numbers from the refresh register are all tricks I've picked up in the past six months.

An excellent point. IF you have a master than knows all the tricks for one CPU / machine do one port and someone that doesn't know them all for another CPU / machine for another port then using the game to compare the two machines is meaningless.

 

The 2MHz 65816 in the IIgs was also faster. But again, it was a later design.

It's a 16 bit machine too, although I suppose you could debate that when it runs 6502 compatible mode.

It has an 8 bit data buss and to the best of my knowlege uses 8 bit opcodes. The Z80 can represent 16 bit numbers in the same way as the 65816 so then what is it?

Link to comment
Share on other sites

I used to think I knew about optimizing Z80 code, but I'm coming to realize that it's just as much of a black art as with the 6502. Use of the stack for memory copy, adding and multiplying using the 16 bit address registers, switching to the alternate register set, using undocumented ops and getting random numbers from the refresh register are all tricks I've picked up in the past six months.

An excellent point. IF you have a master than knows all the tricks for one CPU / machine do one port and someone that doesn't know them all for another CPU / machine for another port then using the game to compare the two machines is meaningless.

 

The 2MHz 65816 in the IIgs was also faster. But again, it was a later design.

It's a 16 bit machine too, although I suppose you could debate that when it runs 6502 compatible mode.

It has an 8 bit data buss and to the best of my knowlege uses 8 bit opcodes. The Z80 can represent 16 bit numbers in the same way as the 65816 so then what is it?

 

It's an 8/16 bit CPU. Same as the 6809, which could easily do the same thing. IMHO, the rule was always about the data bus and the operators. The 6502 has nothing really in the way of 16 bit operators. Indexing is a biggie for me. If the chip has 16 bit indexes, then it's a 16 bit chip on the inside.

Link to comment
Share on other sites

It has an 8 bit data buss and to the best of my knowlege uses 8 bit opcodes. The Z80 can represent 16 bit numbers in the same way as the 65816 so then what is it?

 

It's an 8/16 bit CPU. Same as the 6809, which could easily do the same thing. IMHO, the rule was always about the data bus and the operators. The 6502 has nothing really in the way of 16 bit operators. Indexing is a biggie for me. If the chip has 16 bit indexes, then it's a 16 bit chip on the inside.

The Z80 was always called an 8 bit CPU in spite of having 16 bit index registers. The size of the index registers is strictly so you can index the entire 16 bit address space.

 

The 8/16 bit designation of the 6809 is marketing on Motorola's part. It's register capabilities were similar to older 8 bits. It's extensive addressing modes, instruction set and fast execution speed are what set it apart.

Edited by JamesD
Link to comment
Share on other sites

It has an 8 bit data buss and to the best of my knowlege uses 8 bit opcodes. The Z80 can represent 16 bit numbers in the same way as the 65816 so then what is it?

 

It's an 8/16 bit CPU. Same as the 6809, which could easily do the same thing. IMHO, the rule was always about the data bus and the operators. The 6502 has nothing really in the way of 16 bit operators. Indexing is a biggie for me. If the chip has 16 bit indexes, then it's a 16 bit chip on the inside.

The Z80 was always called an 8 bit CPU in spite of having 16 bit index registers. The size of the index registers is strictly so you can index the entire 16 bit address space.

 

The 8/16 bit designation of the 6809 is marketing on Motorola's part. It's register capabilities were similar to older 8 bits. It's extensive addressing modes, instruction set and fast execution speed are what set it apart.

 

I think I agree with the Z80 being an 8bitter. Been a long while since I last reviews ops for that one. If it's really just 16 bit indexing, then that's no biggie.

 

I would still argue for 8/16 bit status for the 6809 however. It featured a lot of 16 bit operations and two 16 bit stacks. Agreed on execution speed and addressing modes. Fun chip! Of course the downside of this position is it being difficult to then claim the 6809 as being the most powerful 8 bitter made.

 

That leaves us with the 65816. It's got 16 bit registers and lots of operations and addressing modes to make use of them. How is this different from the 6809 where the two accumulators could be treated as a 16 bit register, with most operators being valid? Also, the 16 bit stack pointers could easily serve to operate on, as 16 bit numbers as well?

 

The two share an 8 bit data bus. I'm not sure I see the distinction.

Link to comment
Share on other sites

On the matter of the best, I still say the Atari 8bitters rule because of how the video system worked. Games that were keyed to the screen display, in particular those that took advantage of the video sub-system, ended up with a crisp real-time feel, other systems did not reproduce as well.

First of all that's opinion and video generated interrupts aren't unique to the Atari. The coprocessor was but the things it did could be duplicated just with the CPU on other machines.

 

This is interrupt, event driven programming, and the Atari really emphasizes it because of how it operates. Display list interrupts, vblank interrupts, latched inputs, etc... all combined to allow some low-level linking directly to the metal that affected the overall game design in a unique way. The 2600 is the extreme of this, with the 8bitters being a nice hybrid. On the C64, these kinds of things were not done as often because of the focus on more detailed on screen graphics.

Interrupt driven programming is pretty common in game development on all machines. Even on the C64.

 

I suppose one could argue the types of color displays on the C64 are more general case, allowing for more colors in more parts of the graphics screen without the vertical limitations. However, that also means building your display has less overall effect on the game itself. That's where the Jay Miner magic is --and it's a superior experience when game and hardware become one for the player.

Less overall effect on the game?

You mean I wouldn't have to program around hardware limitations? :roll:

Link to comment
Share on other sites

Commodore hacking newsletter (#16?) had a 3D engine that was faster than the Elite engine. Every 6502 version might have been faster if parts of it had been used. But then, the Z80 version might benefit from some changes as well.

 

It's totally vague to make statements like that. You can speed up almost everything by adding precomputed data. By that the 3D engine will consume more space. So while speeding the 3D up, you deduct memory for the rest of the game at the same time. If you make a 3D engine that is twice as fast while at the same time being twice as big, you just might not be able to fit the rest of the game into 64K. Also in a real game your "3D-Time" is shared with "AI-Time" and whatnot, which an engine demo won't deal with.

 

So when someone writes a 3D-engine that can rotate the Cobra twice as fast or even with filled polygons or some other gimmick, that says nothing regarding wether "Elite could've been like that".

 

Sure, 1000s of programming tricks have been discovered 1985, but until someone delivers a significantly improved Elite with the rest of the game completely intact, that discussion is pure academic.

Making claims the 3D library is bogus without proof isn't any better.

It's a generic 3D library and the source is on the web if you want to prove it's crap.

For that matter the original Elite source for the Atom is on the web.

 

In fact I'm actually just claiming that one can't claim anything when comparing an engine vs. a game.

 

And just for the record, I read all of Steve Judds articles in C=Hacking regarding 3D more than once (back when I wrote Star Fire) and I think his work is far from being crap.

Link to comment
Share on other sites

I think I agree with the Z80 being an 8bitter. Been a long while since I last reviews ops for that one. If it's really just 16 bit indexing, then that's no biggie.

 

You can actually do some 16 bit maths with the Z80 although it's limited to add, subtract and shift with the hl, ix and iy registers.

 

It's all done on an 8 bit internal bus though so these instructions tend to take a fair bit longer than the equivalent operations with the accumulator.

 

I would still argue for 8/16 bit status for the 6809 however. It featured a lot of 16 bit operations and two 16 bit stacks. Agreed on execution speed and addressing modes. Fun chip! Of course the downside of this position is it being difficult to then claim the 6809 as being the most powerful 8 bitter made.

 

That leaves us with the 65816. It's got 16 bit registers and lots of operations and addressing modes to make use of them. How is this different from the 6809 where the two accumulators could be treated as a 16 bit register, with most operators being valid? Also, the 16 bit stack pointers could easily serve to operate on, as 16 bit numbers as well?

 

The two share an 8 bit data bus. I'm not sure I see the distinction.

They share an 8 bit external data bus, but the 65816 certainly has a 16 bit internal data bus. I'm not sure about the 6809 though as I don't have a schematic to hand.

 

Edit: I found one and the ALU in the 6809 appears to only output to the 8 bit bus, so I'm guessing it uses a similar trick to the Z80.

Edited by Matt_B
Link to comment
Share on other sites

In fact I'm actually just claiming that one can't claim anything when comparing an engine vs. a game.

To some extent you are right. Comparing a 3D engine to a game is like comparing apples to oranges.

The game they built using that 3D engine handled more objects on screen at a time and animated them faster. It may not have been doing as much as Elite... but on the other hand, Elite may not be doing anything to justify a slower speed other than have a slower built in 3D engine.

 

The point was that people are trying to say a machine is faster because it's 3D is faster than another machine's. On a 6502 vs 6502 comparison with most of the same code that might work but Z80 vs 6502 is another matter.

You don't know how optimal the routines are on both systems.

Even different screen resolutions or number of colors impact the speed of calculations and one machine may be doing more than another. And as you said, you can precalculate data and that can make a 3D animation faster. Unless you know the two machines are doing exactly the same amount of work you can't say one is faster than the other.

 

The Speccy could be slower at doing the calculations but faster at displaying because of the 1 bit per pixel display.

It may give the machine an advantage but then the other machine could just as easily use different colors for different 3D objects on the screen at the same time and that would be much more work on the speccy not to mention the color clashes that would be inevitable.

 

The best way to compare machines speed wise would be to create a standard set of tests for doing different things within certain parameters.

Link to comment
Share on other sites

 

The Speccy could be slower at doing the calculations but faster at displaying because of the 1 bit per pixel display.

It may give the machine an advantage but then the other machine could just as easily use different colors for different 3D objects on the screen at the same time and that would be much more work on the speccy not to mention the color clashes that would be inevitable.

 

But look at the C64 versions of isometric games. They don't have any more colour than the Speccy. The only difference is that the C64 versions are slower.

Link to comment
Share on other sites

The Speccy could be slower at doing the calculations but faster at displaying because of the 1 bit per pixel display.

It may give the machine an advantage but then the other machine could just as easily use different colors for different 3D objects on the screen at the same time and that would be much more work on the speccy not to mention the color clashes that would be inevitable.

But look at the C64 versions of isometric games. They don't have any more colour than the Speccy. The only difference is that the C64 versions are slower.

 

More color historically wasn't doable in a C64 port of an isometric Spectrum game, at least in Europe. Both versions had to be single load chunks, pumping the whole game into memory at once from tape. A full color C64 version, say of Head Over Heels, would've either required to sacrifice several rooms, or be made disk based.

Link to comment
Share on other sites

 

The Speccy could be slower at doing the calculations but faster at displaying because of the 1 bit per pixel display.

It may give the machine an advantage but then the other machine could just as easily use different colors for different 3D objects on the screen at the same time and that would be much more work on the speccy not to mention the color clashes that would be inevitable.

 

But look at the C64 versions of isometric games. They don't have any more colour than the Speccy. The only difference is that the C64 versions are slower.

 

...and the Amstrad CPC ones can be just as fast and run in 4 colour mode too. ;)

 

Whilst you can put some slower games down to poor conversions - heck, there were enough of those that went the other way too - this pretty much applies to all of them.

 

Anyway, I'm not trying to write off the C64 here. It had superb performance in most 2D games, which accounts for the bulk of 80s arcade genres. The point is just that it could be left wanting compared to other machines when the VIC2 wasn't much help.

Link to comment
Share on other sites

But look at the C64 versions of isometric games. They don't have any more colour than the Speccy. The only difference is that the C64 versions are slower.

Yes, because usually games are best on the platform they were written for. Some of the Speccy iso engines were ported over to 6502 asm-opcode for asm-opcode, so the code was still designed for Z80 and not 6502.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...