Author Topic: How come British Computer developers did not embrace Sprite features?  (Read 5288 times)

0 Members and 1 Guest are viewing this topic.

Offline MaV

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.102
  • Country: at
  • Ius summum saepe summa est malitia.
  • Liked: 398
  • Likes Given: 824
lda $a0 - takes 2 bytes and 3 cycles
ld a,(#a0) - takes 3 bytes and 13 cycles
Well, yes. But you are comparing apples to oranges because the Z80 ld a, (adr) uses 16 bit addressing while the 6502 lda $a0 addresses a byte address in zero page. Since the Z80 doesn't have zero page addressing there is no equivalent command. End of discussion.

And the thread is about sprites in hardware and why British computers didn't use them, so please people get back on topic!
Black Mesa Transit Announcement System:
"Work safe, work smart. Your future depends on it."

Offline Bryce

  • The Hardware Guy.
  • Supporter
  • 6128 Plus
  • *
  • Posts: 11.551
  • Country: wf
  • It's not broken, it just hasn't been fixed yet.
    • index.php?action=treasury
  • Liked: 4118
  • Likes Given: 430
Well, the CPU is one thing, sprites are a completely other thing. No CPU deals with sprites, for them you need additional chips.

During the 80ies is was simply a question of costs. Usually the lazy hardware guys left it to the coders to compensate the lack of hardware features. Best example: the 8. bit - better to say the missing 8. bit at the CPC's printer port. They sacrificed it for saving the cost of one route on the PCB, so software need to tell the printer "switch 8. bit on / off".

These are all consumer computers, they got made to be sold. Sorry, but that's it.  :-X

The hardware limits have nothing to do with laziness. It's more work to do what they did. They were simply designing down to the price they were given, which can be sometimes incredibly difficult to do.

Bryce.

Offline MacDeath

  • Chaotic post writer and mock-up specialist
  • Supporter
  • 6128 Plus
  • *
  • Posts: 4.059
  • Country: fr
  • Liked: 1164
  • Likes Given: 647
I always feel the CPC is somewhat a CGA graphic card turned into a computer.

CGA card doesn't have Sprites.


Basically they just aimed at a system with "high resolution" capability, with a decent for its time palette (27 is better than 8 or 15 as on BBC or ORIC or ZXspeccy...), to have those 3 video mode was enough to have a nice choice of colours, and high rez text mode, for cheap.

Also British companies first aimed at home market, so aimed against other britons companies.


And the CPC dev was somewhat rushed with alan sugar always bashing for the less component used possible, lower cost possible (= maximum margin).
They couldn't/wouldn't afford a bigass ASIC as for the PLUS 5-6 years after because the technology wasn't as easy, mastered nor cheap at the time.

When they switched to Z80 during dev, because Locomotive Basic was already designed for Z80, the CP/M compability then became a new aim for the computer.
CP/M computer quite never had Sprites necessity.

Because Graphic user interface with mouse pointer and icons you would move on a desktop or move from one windows into another were NOT the norm... HardSprites weren't really a necessity for small-bizness/serious machines.


Really got lucky CPC turned out to be a not so bad machine after all, and a really well rounded one actually compaired to the pre-1984 market.


Alan Sugar could only figure a box with electronic component able to run softwares for small bizness and perhaps allow youth to learn how to code.
He couldn't know about how the gaming industry would actually become the market powerhouse for home computers, nor he could know about the Demoscene/homebrewgamescene/Chiptunescene which became the powerhouse of the Retrocomputing world 30 years after.

So why put Hardsprites/spriteplan/Blitter/whatever capability ?
« Last Edit: 10:13, 14 July 16 by MacDeath »

Offline chinnyhill10

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.385
  • Country: 00
    • https://www.youtube.com/user/chinnyhill10
  • Liked: 760
  • Likes Given: 519
He couldn't know about how the gaming industry would actually become the market powerhouse for home computers,


Actually he did know. Look at the ratio of serious titles to games on the Amsoft label. He knew you needed lots of games and key serious packages to establish a system.
--
ChinnyVision - Reviews Of Classic Games Using Original Hardware
chinnyhill10 - YouTube

Offline fano

  • Supporter
  • 6128 Plus
  • *
  • Posts: 835
  • Country: fr
  • Easter Egg Programmer
    • Easter Egg
  • Liked: 278
  • Likes Given: 612
Is this purely an issue to these companies buying power  compared to Sinclair, Acorn,Tangerine and Amstrads , smaller markets and cash flow(And Connections).
Seems strange that at least the Amstrad being 84' machine would not have considered it . Had costs not come down suffice? Or is it more complex an issue?
 .
The cost, that's all buddy.Btw , thanks CPC gods to not have specific vdp.They were expensive and CPC is finaly a cheap machine compared to the machines that have dedicaced vdp.
Btw, 80's VDPs had serious limitations (sprite count, colors count, color space/memory constraints, etc...) that makes difficult to do something "out the box" , it is more work to do something "standard" with CPC but you can go further when doing advanced things.
"NOP" is the perfect program : short , fast and (known) bug free

Follow Easter Egg products on Facebook !

Offline VincentGR

  • 6128 Plus
  • ******
  • Posts: 1.219
  • Country: gr
    • Parts from the past.
  • Liked: 690
  • Likes Given: 1764




Sprites have nothing to do with the cpu.
They are fantastic although they have limitations and expensive to build.
I like robocop on Z80 which is a better game as it is slow but I love fast shooters with sprites cause except of the speed, the controls are very responsive on sprites based machines most of the times.
Take an example on Amiga games when you control a sprite or a bob.
As for 6502 vs Z80 most opinions say that they are +/- equal.
Many 3D games run better on ZX/CPC than a C64. There are some exceptions though like stunt car racer which is good on C64 and rescue on fractalus on Atari.
We had a same topic on a Greek site two years ago where I mentioned that 6502 machines had washed palettes ;D  like C64 and NES but what about Ataris?
So it depends on the video chip.
« Last Edit: 17:57, 14 July 16 by VincentGR »

Offline VincentGR

  • 6128 Plus
  • ******
  • Posts: 1.219
  • Country: gr
    • Parts from the past.
  • Liked: 690
  • Likes Given: 1764

Sprites have nothing to do with the cpu.
They are fantastic although they have limitations and expensive to build.
I like robocop on Z80 which is a better game as it is slow but I love fast shooters with sprites cause except of the speed, the controls are very responsive on sprites based machines most of the times.
Take an example on Amiga games when you control a sprite or a bob.
As for 6502 vs Z80 most opinions say that they are +/- equal.
Many 3D games run better on ZX/CPC than a C64. There are some exceptions though like stunt car racer which is good on C64 and rescue on fractalus on Atari.
We had a same topic on a Greek site two years ago where I mentioned that 6502 machines had washed palettes ;D  like C64 and NES but what about Ataris?
So it depends on the video chip.

Macdeath : I have the same feeling about the CPC-CGA thing.

Offline TFM

  • Visit the mysteries of the CPC at www.futureos.de
  • Supporter
  • 6128 Plus
  • *
  • Posts: 9.899
  • Country: aq
  • Space Chicken for FutureOS is free!
    • index.php?action=treasury
    • FutureOS - The revolution on CPC!
  • Liked: 1978
  • Likes Given: 4650
The hardware limits have nothing to do with laziness. It's more work to do what they did. They were simply designing down to the price they were given, which can be sometimes incredibly difficult to do.

Bryce.


The lack of the 8. printer bit is pure laziness. The lack of FDC-DMA possibilities are pure laziness. The lack of two joystickports with 5 Volt supply are pure laziness. And yes, it's all about saving few pennies here and there. As I told it's a consumer system.
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Offline Bryce

  • The Hardware Guy.
  • Supporter
  • 6128 Plus
  • *
  • Posts: 11.551
  • Country: wf
  • It's not broken, it just hasn't been fixed yet.
    • index.php?action=treasury
  • Liked: 4118
  • Likes Given: 430

The lack of the 8. printer bit is pure laziness. The lack of FDC-DMA possibilities are pure laziness. The lack of two joystickports with 5 Volt supply are pure laziness. And yes, it's all about saving few pennies here and there. As I told it's a consumer system.

 :picard: The printer port is being driven by an 8 bit latch where all 8 latches are used (D0 to D6 and Strobe). There's no such thing as a 9 bit latch, so including the 8th bit would have required an extra 74LS273 (where only 1/8th of it is being used), plus space on the PCB, plus additional population costs, plus a decoupling capacitor. That's real money, cutting into profits.
Likewise, FDC DMA would have required quite a few more components. Not worth the investment, for a feature that most buyers wouldn't have valued back then anyway.

 These have nothing to do with laziness, they are purely financial decisions.

Bryce.

Offline TFM

  • Visit the mysteries of the CPC at www.futureos.de
  • Supporter
  • 6128 Plus
  • *
  • Posts: 9.899
  • Country: aq
  • Space Chicken for FutureOS is free!
    • index.php?action=treasury
    • FutureOS - The revolution on CPC!
  • Liked: 1978
  • Likes Given: 4650
:picard: The printer port is being driven by an 8 bit latch where all 8 latches are used (D0 to D6 and Strobe). There's no such thing as a 9 bit latch, so including the 8th bit would have required an extra 74LS273 (where only 1/8th of it is being used), plus space on the PCB, plus additional population costs, plus a decoupling capacitor. ...


 :picard: :picard2:  Bullcrap! Just connect the PIO and the D7 at the printer port, and voila, there is a full 8 bit port. JUST ONE LINE ON THE PCB. But maybe you have to look up the wikipage about this and make your homework better.
This is getting to stupid for me, und Tschüss!
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Offline Bryce

  • The Hardware Guy.
  • Supporter
  • 6128 Plus
  • *
  • Posts: 11.551
  • Country: wf
  • It's not broken, it just hasn't been fixed yet.
    • index.php?action=treasury
  • Liked: 4118
  • Likes Given: 430

 :picard: :picard2:  Bullcrap! Just connect the PIO and the D7 at the printer port, and voila, there is a full 8 bit port. JUST ONE LINE ON THE PCB. But maybe you have to look up the wikipage about this and make your homework better.
This is getting to stupid for me, und Tschüss!

That works as a cheap hack, but no respectable electronics designer would patch an unbuffered bit directly to a port in parallel with buffered bits. It may work, but it's an absolute no as far as good design is concerned. And the Amstrads are very well designed.

Bryce.

Offline 1024MAK

  • Supporter
  • 464 Plus
  • *
  • Posts: 343
  • Country: gb
  • Touching the hot end of an iron will hurt!
  • Liked: 146
  • Likes Given: 197
In the 1980's, hardware sprites were a function of special video controller "processor" chips. Whether the CPU was a Z80 or a 6502 or a 6800 or a 6809 or even a 68008 / 68000.

Most UK computer manufacturers wanted to keep the cost low, so expensive special video controller "processor" chips were out of the question due to cost.

Indeed, the Sinclair line (ZX Spectrum and QL) used a general purpose semi-custom ULA for the video system.
The Amstrad CPC used the CRTC 6845 coupled with a custom ("ULA" / ASIC) chip. The Acorn BBC Micro also used a CRTC 6845 coupled with a semi-custom ULA chip. The Acorn Electron used a semi-custom ("ULA") chip that included most of the functions of the video circuitry used in the BBC Micro.

Some UK manufacturers used the TI TMS9918 video processor.

ALso later, the amount of RAM became important, and backwards compatibility was a consideration. So still the cost of expensive special video controller "processor" chips meant they were not often considered.

Yes, let's not have the Z80 vs. 6502 war again. In some applications, one has a slight edge over the other, but in general, they are about the same. The fun part, is they were never designed for use in home computers...! The Z80 was designed for embedded and control applications.

Oh, by the way, neither the Z80 or the 6502 has any special sprite instructions or hardware provisions. But the Z80 does have some useful block copy instructions.

Mark
« Last Edit: 23:27, 14 July 16 by 1024MAK »
Looking forward to summer in Somerset :-)

Offline 1024MAK

  • Supporter
  • 464 Plus
  • *
  • Posts: 343
  • Country: gb
  • Touching the hot end of an iron will hurt!
  • Liked: 146
  • Likes Given: 197
With regard to printer ports, Amstrad were not the first to only have a 7 bit Centronics printer port. ASCII only needs 7 bits, so you only need a 7 bit port. Well, until it comes to graphic screen dumps and the like....

However, when using a 8 bit latch, I could never understand why one data bit was used for the strobe. It would only cost a couple of extra gates (and some resistors and capacitors) to produce a strobe from the write control used to latch the data in the latch. But of course, if cost was an issue (which it was), then of course, the chip count had to be kept low.

Mark

Looking forward to summer in Somerset :-)

Offline Docent

  • CPC6128
  • ****
  • Posts: 166
  • Country: pl
  • Liked: 107
  • Likes Given: 0
Well, yes. But you are comparing apples to oranges because the Z80 ld a, (adr) uses 16 bit addressing while the 6502 lda $a0 addresses a byte address in zero page. Since the Z80 doesn't have zero page addressing there is no equivalent command. End of discussion.

You completely missed my point here - obviously they are two different processors with different register set and addressing modes but you can compare timings of a task which is functionally identical on both cpus.

Offline andycadley

  • Supporter
  • 6128 Plus
  • *
  • Posts: 888
  • Liked: 424
  • Likes Given: 72
You completely missed my point here - obviously they are two different processors with different register set and addressing modes but you can compare timings of a task which is functionally identical on both cpus.
You can, but those two tasks aren't functionally identical. A closer Z80 equivalent would be LD A,B.

But micro benchmarks are pointless.

Offline sigh

  • 6128 Plus
  • ******
  • Posts: 1.225
  • Liked: 513
  • Likes Given: 50
I always thought it was about the cost. The CPC was that all in one package that also included a monitor, so I'm guessing that adding extra hardware for sprite handling would put it out of whatever price range they were going for. But - I do wonder that when we talk about sprite features, what features are people thinking about? C64 sprite features or something like the MSX sprites maybe? Which of these were cheaper to produce? Though the MSX had the Z80 and sprites*, would you say it benefited from them? Or would you say it didn't?


*This is not to say that a CPC is an MSX without sprites :)





Offline andycadley

  • Supporter
  • 6128 Plus
  • *
  • Posts: 888
  • Liked: 424
  • Likes Given: 72
There's really a lot more to it than just "cost", though that no doubt plays a part. The C64, for example, has to have a much lower clocked CPU to give the video chipset priority access to the RAM for when it needs to read sprite information. So sprites would almost certainly have meant a slower CPU, or at the very least a more complex memory contention model with some of the RAM being usable for sprites but also slowing down any code accessing it (much like the way memory contention works on the Speccy). Alternatively you can bypass that by moving the sprites into dedicated dual-port memory registers, like the CPC+ does, but that has it's own limitations too.


Offline dragon

  • 6128 Plus
  • ******
  • Posts: 1.423
  • Country: es
  • Liked: 587
  • Likes Given: 486
You forget  guys, that cpc was developed in a very very litte time, because alan sugar need it ready to the anual product cycle of the company.

Mej works seven days at week at night to make it ready.

Add more circuit maybe simple is not possible with these time. They came out with fails in basic that not was corrected until 664 at cause of that.

Apart  the cost.

They said latter many features of the plus range are the features they thinking to the ant. Only one year later.
« Last Edit: 01:47, 15 July 16 by dragon »

Offline ivarf

  • 6128 Plus
  • ******
  • Posts: 562
  • Country: no
  • Liked: 176
  • Likes Given: 324
That works as a cheap hack, but no respectable electronics designer would patch an unbuffered bit directly to a port in parallel with buffered bits. It may work, but it's an absolute no as far as good design is concerned. And the Amstrads are very well designed.

Bryce.
Sounds like something Sinclair's engineers would do to save money

Offline ivarf

  • 6128 Plus
  • ******
  • Posts: 562
  • Country: no
  • Liked: 176
  • Likes Given: 324
1. Think about how little time they had to construct the CPC as the first teams miserable fail.
2. Cost
3. Experience, the designers had only made business and mini computers earlier.

Still I believe having read that sprites was planned but they run out of time

Offline sigh

  • 6128 Plus
  • ******
  • Posts: 1.225
  • Liked: 513
  • Likes Given: 50
1. Think about how little time they had to construct the CPC as the first teams miserable fail.
2. Cost
3. Experience, the designers had only made business and mini computers earlier.

Still I believe having read that sprites was planned but they run out of time

Do you remember where your read this?

There's really a lot more to it than just "cost", though that no doubt plays a part. The C64, for example, has to have a much lower clocked CPU to give the video chipset priority access to the RAM for when it needs to read sprite information. So sprites would almost certainly have meant a slower CPU, or at the very least a more complex memory contention model with some of the RAM being usable for sprites but also slowing down any code accessing it (much like the way memory contention works on the Speccy). Alternatively you can bypass that by moving the sprites into dedicated dual-port memory registers, like the CPC+ does, but that has it's own limitations too.




But wouldn't all this depend on the sort of sprite hardware chip used? The chips used in the MSX - does it have the problems you mentioned?

Offline 1024MAK

  • Supporter
  • 464 Plus
  • *
  • Posts: 343
  • Country: gb
  • Touching the hot end of an iron will hurt!
  • Liked: 146
  • Likes Given: 197
But wouldn't all this depend on the sort of sprite hardware chip used? The chips used in the MSX - does it have the problems you mentioned?
The chip used in the MSX is the TI TMS9918A video processor. The TMS9918A did have hardware sprites, but was limited to 16k bytes of video RAM, it did not produce RGB video (it only produced signals suitable for 60Hz NTSC composite video) and it had a limited resolution screen (text modes: 40 × 24 and 32 × 24, graphics: 256 × 192, 15 colours + transparent).

The version for 50Hz video was the TMS9929A, it was the same as the TMS9918A but produced Y, R-Y and B-Y signals (luminance and colour difference signals) suitable for sending to a PAL colour encoder, which then produced a PAL composite video output.

The subsequent MSX2 and MSX2+ machines used video processors that were developments of the TMS9918A, with much expanded specs.

The Wikipedia page for the TMS9918A is here.

Mark
« Last Edit: 18:56, 15 July 16 by 1024MAK »
Looking forward to summer in Somerset :-)

Offline andycadley

  • Supporter
  • 6128 Plus
  • *
  • Posts: 888
  • Liked: 424
  • Likes Given: 72
But wouldn't all this depend on the sort of sprite hardware chip used? The chips used in the MSX - does it have the problems you mentioned?
The chips in the MSX use RAM that isn't directly accessible by the main CPU, so you avoid the contention problem but make it harder (and slower) to make changes to the display (which is one of the reasons a lot of MSX games play like slow versions of Speccy game)

Offline TFM

  • Visit the mysteries of the CPC at www.futureos.de
  • Supporter
  • 6128 Plus
  • *
  • Posts: 9.899
  • Country: aq
  • Space Chicken for FutureOS is free!
    • index.php?action=treasury
    • FutureOS - The revolution on CPC!
  • Liked: 1978
  • Likes Given: 4650
That works as a cheap hack, but no respectable electronics designer would patch an unbuffered bit directly to a port in parallel with buffered bits. It may work, but it's an absolute no as far as good design is concerned. And the Amstrads are very well designed.

The absolute same(!!!) pin of the PIO is already directly connected to the data write port of the tape port. If it's ok for the tape port, then it's ok for the printer port too.
« Last Edit: 23:15, 15 July 16 by TFM »
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Offline ivarf

  • 6128 Plus
  • ******
  • Posts: 562
  • Country: no
  • Liked: 176
  • Likes Given: 324
Do you remember where your read this? (Sprites planned for the original CPC)

I am not sure, but either comp.sys.amstrad.8bit or in the story of how the CPC was created that ran over 3-4 issues of Amstrad User. Cliff Lawson, Locomotive Software and Roland Perry frequented comp.sys.amstrad.8bit in mid 90s.

Or maybe here?
You’re NOT fired: The story of Amstrad’s amazing CPC 464 • The Register