Where's the border line between a Spectrum and something else?

edited July 2010 in Development
I mean: there are purists out there that consider that anything that is not a true Sinclair Spectrum, with a true Z80 and a true ULA, and at most, 48K RAM, can't be considered a "true" Spectrum. Those purists even avoid to code graphic routines that use the shadow screen present in 128K Spectrum's because "it wouldn't be compatible with the 100% of Spectrums" or code AY music routines. Also, these purists refuse any modern hardware development that expands the capabilities of the Spectrum, but a joystick interface.

On the other hand, there are people who have a relaxed idea of what is a Spectrum, and will consider any hardware development that maintains software compatibility with 48K / 128K Spectrums, a "Spectrum compatible machine". Hardware development includes here all the recent FPGA-based clones, like the one discussed elsewhere in this forum. These people usually accept with joy any new hardware development that can boost performance, like a Z80-DMA inboard, or a DivIDE to light-speed loading programs, and consider machines like the SAM Coup? and the Pentagon "the ultimate Spectrum" or "the evolution that the Spectrum should have had".

So, what's your opinion? Where would you put the line between what you consider a "ZX Spectrum class machine" and "something that can emulate a Spectrum"?
Post edited by mcleod_ideafix on
«13

Comments

  • edited August 2009
    So, what's your opinion? Where would you put the line between what you consider a "ZX Spectrum class machine" and "something that can emulate a Spectrum"?

    Simple: If it can run Cobra at full 50 fps without any glitch at all, it's a Spectrum!
  • edited August 2009
    I consider a ZX Spectrum -alike as :

    Any machine that can run >90% of the original programs, only supported by additional hard- or software for input/output only.

    So a Sam Coupe is a ZX Spectrum alike for the ZX Spectrum 48K, ZX81 and the Jupiter Ace. It runs a program on the original addresses and is only supported with some additional software to compensate IN-ports of the 48K or the screenupdating for the ZX81.

    The ZX 128 can be considered a ZX81/Jupiter Ace - alike since this can run most software with an EPROM added. The ZX Spectrum can do it too, but needs some extra hardware to shortcut A15. Without that hardware a ZX Spectrum can only emulate a ZX81/Jupiter Ace.

    In fact the brain of the machine must be a Z80. The Z80 must not be emulated in any way.
  • edited August 2009
    There is no functional difference between a physical Z80 and ULA and the T80 and CSmith's ULA implementation in FPGA. You might as well argue that Speccys with NEC made Z80s aren't real speccys as the CPU wasn't made by Zilog.

    Since the Spectrum design lends itself to hardware extension, anything that can operate using just the original unmodified ROM can be classed as a Spectrum of some sort.

    If the ROM has to be modified in some way to work with the hardware (as in Mike Wynne's version of the Spectrum ROM that works with the ZX81) then it's an emulator.
  • edited August 2009
    For me, what makes Spectrum distinctive among other computers, it is the graphic mode, 256x192 pixels, border around it and attribute squares.

    If any computer can't display this mode, it isn't Spectrum.

    If it can display this mode, but can also display other modes as well (Sam Coupe, MSX and even Timex), it isn't a true Spectrum either. It just emulates Spectrum in one of its modes.

    Well, true Spectrum should have Z80 processor too :)

    So I would say that a Russian Pentagon with Tr-Dos, mouse, modified ROM, RGB output and PC keyboard is still Spectrum, while Timex with its double resolution mono screen mode isn't.
  • edited August 2009
    I think Spectrum lacks a detailed and standarized system specification to adhere to, like for example the MSX.

    Even 128K models aren't 100% compatible with 16/48K/+ models! On the other hand, MSX computers are 100% compatible, even though they were manufactured by several companies.

    The Spectrum is a bare bones machine, so coders had to push the machine to its limits and use tricks much dependent on certain hardware constraints (Z80 undocumented opcodes, memory contention, floating bus, fixed number of T-states per line/frame, etc.)

    So if you devise a Spectrum clone and don't take into account those singularities, many games won't work or will "stutter". NB: most of those incompatible games will be actually the better ones!
  • edited August 2009
    ...there are purists out there that consider that anything that is not a true Sinclair Spectrum, with a true Z80 and a true ULA, and at most, 48K RAM, can't be considered a "true" Spectrum. Those purists even avoid to code graphic routines that use the shadow screen present in 128K Spectrum's because "it wouldn't be compatible with the 100% of Spectrums" or code AY music routines.
    Haha - guilty m'lud!

    Truth is, I code for the 48K because I have no idea how the 128K works, and I realised when I had an ST I'm crap at sound and music. But also the whole point is about nostalgia, and as I only ever had a 48K I only want to write for what I could have achieved with the kit I had in my youth. I may stray onto 128K if I get stuck at some point, but I'll try my hardest not to.

    Personally, I've nothing against Spectrum enhancements. I'd love to have a go at programming for something like the MSX's colour mode (full screen 8x1 attributes, character-mapped but with enough characters to cover a full hi-res screen), but mapped into main RAM instead of an annoying video RAM connected through one port like the sound chip. Now I could do it with a different machine, but where do I stop? More colours (I'd love to have a Speccy that can display orange), higher resolution? If I'm doing that, I might as well code for a PC.

    So people can carry it on, but it doesn't much appeal to me. I'm not trying to be a purist or dismiss other efforts, as I hope what I am doing will stand on its own merits. But everything has to be viewed within certain constraints, like those competitions to do 1K PC demos even with the latest graphics cards. What I'm not fond of are machines that claim to be 48K compatible but aren't. But then Clive Sinclair himself started this off with the original 128K, so I'll consider the differences to some extent but I can only go so far.

    However, anything that can plug into an original Spectrum and cut out the loading time, I'd be happy to use. Anything that can help with development really - that's what I had a Wafadrive for back then. But so long as it doesn't permanently change the machine as at the end of the day, I want what I've come up with to be able to go onto tape and load onto a normal 48K ZX Spectrum.
    Joefish
    - IONIAN-GAMES.com -
  • edited August 2009
    Good topic. :-)

    I would consider the current generation of FPGA-based clones to be 'real' Spectrums (which in my case means "I could play things from them at a demo party or a concert and not feel that I was cheating"). I wouldn't consider an off-the-shelf Linux box that had been set up to boot into Fuse at fullscreen to be a real Spectrum though... so where's the line there? Right now, my completely arbitrary distinction is that a real Spectrum must generate its video signal in real time in response to the execution of the Z80 and ULA. In other words, if it displays a yellow stripe in the border of a particular height, it's because a particular number of microseconds elapsed between the ULA getting a 'turn the border yellow' signal and a 'turn the border some other colour' signal; not because a software program was keeping a counter in a variable to tell it to draw a bitmap in a particular way.
    In fact the brain of the machine must be a Z80. The Z80 must not be emulated in any way.

    The thing is, the Z80 is entirely digital, so an emulated one can be 100% functionally equivalent to a real Zilog-manufactured one. It's hard to argue that there's a meaningful difference, without sounding like one of those audiophile nuts who buy $500 Denon ethernet cables "because they give your CDs a warmer sound". Until recently, I would have said that a true 128K Speccy must have a genuine AY chip, because there are analogue signals at work there - but the AY can be emulated closely enough that I can happily write all of my music under emulation, so there's clearly no functional difference. I can understand why the C64 people are more picky about genuine SID chips, because the analogue circuitry in those is a lot more complex and probably can't be emulated to everyone's satisfaction.

    About performance-enhancing add-ons: this is a grey area for me, and I can't quite put my finger on why I accept the DivIDE as being completely in the spirit of Sinclair innovation, the DivIDE Plus less so, and the General Music interface as completely missing the point. It's something to do with the intention that they were developed with - was it "let's build an interface that will let us communicate with new hardware within the parameters of Spectrum development", or "the Spectrum is completely underpowered for what I want to do, so let's throw hardware enhancements at the problem until it becomes trivial"? In particular, I'll usually be rather cynical about new graphics modes, because the 256x192 pixels + attributes mode is inherently what defines the Spectrum as a platform, more so than its limited sound capabilities or its inability to hook up IDE drives out of the box.

    I have no idea why I've settled on the 128K as my 'base' platform of choice (i.e. I'll be interested in, and develop, new 128K Spectrum software, but not SAM or Sprinter-only software). I can't just put it down to nostalgia (I was a 48K kid right up until the end of the YS era) - and "Because it was officially marketed and produced by Sinclair" feels like a non-answer. I guess that's not something I need to defend though - some people have an affinity for the 48K, others have an affinity for the 48K+AY, or 128K, or SAM, or Amiga... and it'll always be that way.
  • edited August 2009
    On the other hand, MSX computers are 100% compatible, even though they were manufactured by several companies.
    But if you get down to some really tricky timed routines, is there no difference at all between how programs run on different brands of MSX?
    Joefish
    - IONIAN-GAMES.com -
  • edited August 2009
    gasman wrote: »
    In particular, I'll usually be rather cynical about new graphics modes, because the 256x192 pixels + attributes mode is inherently what defines the Spectrum as a platform

    Disagree. The ULA defines it as a platform. The tweaks necessary to get the Timex modes are trivial (and were done in 1983, pre-dating your chosen reference platform). Sinclair planned to use the 512x192 mode with the Pandora. I'd argue that adding palette selection doesn't stop it being a Spectrum either, but I do agree that once you take the attributes away from the 256x192 screens then you might as well switch to developing for the SAM or the MSX2. I'd probably go for the latter as I'm not sure what advantages the SAM has over it.
  • edited August 2009
    Err - Does the SAM still have direct access to the video RAM, and the MSX2 still doesn't?
    Joefish
    - IONIAN-GAMES.com -
  • edited August 2009
    joefish wrote: »
    Err - Does the SAM still have direct access to the video RAM, and the MSX2 still doesn't?

    AFAIK, no MSX has direct access to VRAM (it's I/O port-based).

    MSX2 has a kind of primitive blitter, though. I used it on Sex Bomb Bunny.
  • edited August 2009
    gasman wrote: »
    I have no idea why I've settled on the 128K as my 'base' platform of choice.

    The 128K is also my platform of choice on the Speccy, simply because:
    • The 48K has been pushed to its limits, and trying to squeeze more would result in games too demo-like.
    • The AY squared sound matches perfectly the Spectrum squared attributish style (see Cybernoid, Exolon...). In other machines such the ST and some old coin-ops it does not.
    • The extra swappable display memory is so HOT.

    Despite this, I shelved a >>>48K<<< project I started a couple of months ago, LOOOOOOL!
  • edited August 2009
    The 48K has been pushed to its limits, and trying to squeeze more would result in games too demo-like.
    ... ... :cry:
    Joefish
    - IONIAN-GAMES.com -
  • edited August 2009
    joefish wrote: »
    ... ... :cry:

    Sorry! I'll change my mind. 128K models cannot cope with Cobra: they are rubbish! :p
  • edited August 2009
    I'm a 48 man myself.
    I had (and still have) the tech specs for the 128 before it was released, but never actually got a machine to play with long enough to write for it. So I stayed with the 48.

    If you showed someone experienced with the Spectrum a black box with a keyboard and a TV/monitor and they couldn't tell it wasn't a spectrum, no matter what code tricks they threw at it (floating bus, contention, whatever), then, to me, that's a Spectrum.

    Except, as Gasman says, it's a Linux box running Fuse, emulation does not count.

    I'm not precious about it being 'old', I feel there is nothing wrong with a modern build using modern components, so long as the functional implementation is the same. Otherwise, anyone who has replaced the power circuit, RAM, ROM, Modulator etc in their rubber key machine is in danger of being branded a "non spectrum" owner ;-)

    I'm hugely nostalgic for the real thing though, my Issue 1 machine would be a pointless acquisition otherwise ;-)

    If you've got additional graphics modes then, as soon as you turn them on (even if you don't use them), it's not a Spectrum, it's perhaps a TS2068, and if it's a combination of the two, then you've got something else entirely. Just don't call it a Spectrum, and I guess no one will be upset?

    My 2p, since I'm designing the Harlequin.....

    Chris
  • edited August 2009
    For me, a true Speccy is a +3 or before. Any Sinclair or Amstrad released machine. My machine of choice is 128+2. Any clone, past, present or future, just aint a Speccy in my eyes... But that wouldn't put me off buying or using one :)
  • edited August 2009
    Graz wrote: »
    For me, a true Speccy is a +3 or before. Any Sinclair or Amstrad released machine. My machine of choice is 128+2. Any clone, past, present or future, just aint a Speccy in my eyes... But that wouldn't put me off buying or using one :)

    For me the +3 isn't a real Speccy. It has more in common with the PCW than the original machine. Whereas Timex made the original machines and worked directly with Sinclair to develop the extended hardware. The TS2068 is much closer in spirit to the original than the Spanish toast rack. But each to their own. I think my earlier definition is a reasonable place to draw the line.
  • edited August 2009
    They just screwed it real bad with the unnecessary ULA/clock/bus differences. A simple paging scheme like the MSX and the PSG would have sufficed.
  • edited August 2009
    As for the clones, the only tricky component in a Speccy is the ULA. Nowadays there's a lot of accurate info about it (even the original patents and gate masks). See for example http://www.zxdesign.info/book/

    The ULA itself is not that complicated, but has a few particularities that once put together, they render a quite complexly behavioured engine. So one has to know very well and in depth what's going on.

    Many good games that push the Speccy to its limits rely on that complex ULA/floating bus behaviour, and any FPGA-based clone must be 100% accurate (at least at the logical level) to claim being a real clone instead of a mere hardware emulator.
  • edited August 2009
    I believe a spectrum is either one of the original machines, or one which has been designed & made to behave like an original. Calling the SAM a Spectrum would be doing it a dis-justice, and the machines developed with >128 Ram, two AY chips, per-pixel colour, higher resolution, faster clocks and the like are all very good and talented, but they're not Spectrums - just inspired by or based upon.

    Something like JoeFish's BuzzSaw game is pushing the Spectrum, but a game which requires you to run it with a 14Mhz clock is, to me, missing the point of what Spectrum coding is all about.
  • edited August 2009
    bobs wrote: »
    Something like JoeFish's BuzzSaw game is pushing the Spectrum, but a game which requires you to run it with a 14Mhz clock is, to me, missing the point of what Spectrum coding is all about.
    Another valid point.

    I had a "fake" card from Sir Clive read out at my wedding a few weeks ago.
    It said "Congratulations on the wedding. Sorry I couldn't be there in person, but my C5 ran out of batteries. By the way, MOVE ON, the Spectrum, was nearly 30 years ago. Get over it!"

    Afterwards, people asked me "why the Spectrum?"

    "Because it's still difficult, and a real challenge. You can't buy more memory and upgrade the processor. If you want to do something faster or better, then you have to do something different. It's your skill that has to change and improve, not the machine. That's 'real' programming!"

    Nuff said.
  • edited August 2009
    csmith wrote: »
    Another valid point.

    Yep. Crucial concept-grasping point.
  • edited August 2009
    csmith wrote: »
    If you want to do something faster or better, then you have to do something different. It's your skill that has to change and improve, not the machine. That's 'real' programming!"
    Indeed
    "That every user of a ZX Spectrum is a heir-at-law of the flaws and intrigues that are connected with it, and therefore fully entitled to invent his personal solutions in software as well as in hardware."
    Machines that do not offer such playground are IMHO no true Spectrums.
  • edited August 2009
    csmith wrote: »
    ..."If you want to do something faster or better, then you have to do something different. It's your skill that has to change and improve, not the machine. That's 'real' programming!"

    'Real' programming is trying to get my washing machine to work without paying some bloke loads of money to come out and try and to impress me by talking crap!

    And the water pressure has gone bonkers!
  • edited August 2009
    The ULA itself is not that complicated, but has a few particularities that once put together, they render a quite complexly behavioured engine. So one has to know very well and in depth what's going on.
    The ULA is exceedingly complicated. Just because the individual cells are simple don't be fooled into imagining it doesn't get trickier. Also, by your definition all the 128K machines are out as they don't match the behaviour of the original ULA.
  • edited August 2009
    cheveron wrote: »
    The ULA is exceedingly complicated. Just because the individual cells are simple don't be fooled into imagining it doesn't get trickier. Also, by your definition all the 128K machines are out as they don't match the behaviour of the original ULA.

    IMHO the ULA is not that complicated at the functional level (that is, the level of interest if you do FPGAs), at the physical, gate/mask level is indeed more intricate.

    I don't mean the 128K machines are out, but designers did not a good job messing with aspects not related to the changes intended. That brought incompatibility.
  • edited August 2009
    cheveron wrote: »
    The ULA is exceedingly complicated.
    It is not more complicated than other electronic gear consisting of (say) 25 standard TTL chips. The only complication (before Harlequin!) was the lack of detailed information. Lots of clone designers did an equivalent job based on information gathered from analizing a 'black box'. The screen-layout is not complicated but follows rather simple rules set by the clever hardware.
    Regarding the ULA as 'not-complicated' does not change my respect and admiration for the original designer, Richard Francis Altwasser.
  • edited August 2009
    Without having any real technical know-how, I'd go with the definition of a "Spectrum" being any of the official Sinclair Research and Amstrad(ptooey! ;-) ) machines and everything else just being clones or Spec-alikes (just made that word up too!)
  • edited August 2009
    I don't care what you bolt on to augment a spectrum to improve it. Hard drives, sd adapters, network cards as long as at it's heart it's still that humble little machine with it's graphgical limitations that is instantly recognisable as a spectrum. As long as it still ran old games and we can develop games on it that can run on the original hardware I'd still hug it.

    I'm even thinking of getting on of those ay addons for my 48k speccy.

    Anyone thought of doing an add on for hardware sprites, masking and colour scrolling? hehe :razz:
  • edited August 2009
    If you replace the ULA in the original machine with one that supports more graphics modes does it cease to be a Spectrum?
Sign In or Register to comment.