Building and testing a SID chip expansion for the Sinclair Spectrum.

Поделиться
HTML-код
  • Опубликовано: 30 ноя 2024

Комментарии • 82

  • @TheRealBobHickman
    @TheRealBobHickman 6 месяцев назад +2

    Cool to see Simon Owen's name in the software - I had the pleasure of working with him in the 90s, a very smart guy.

  • @WhatHoSnorkers
    @WhatHoSnorkers 6 месяцев назад

    Fantastic work sir... and what a lovely bit of kit! ZX Spectrum and SID living together in perfect harmony!

  • @UzixLS
    @UzixLS 6 месяцев назад +2

    Glad you got it working!

  • @Plan-C
    @Plan-C 6 месяцев назад +3

    Nice one on the fuse bits! 👌

    • @CRG
      @CRG  6 месяцев назад +1

      Thanks, bit silly to have missed that step in the first place but so happy I got it working in the end.

  • @ptonpc
    @ptonpc 6 месяцев назад

    That is a nice little microscope. Congratulation on the result :)

  • @talideon
    @talideon 6 месяцев назад +4

    That's interesting! The player must have some pretty tight code to emulate the 6510 on the Z80. Most playroutines didn't need too much raster time (though Electrosound's was something of an exception), but even at that, some effects, like various kinds of sample playback, require precise timing. That sounds much better than I'd expect!

    • @CRG
      @CRG  6 месяцев назад +2

      It does sound great, I didn't expect it to have to emulation the 6510, I had thought it would just address the registers in the SID directly but all that goes a little over my head to be honest. I suppose it would explain why some songs struggle to play.

    • @primus711
      @primus711 6 месяцев назад

      Not emulation z80 can not emulate a 6502 well nothing useable

    • @primus711
      @primus711 6 месяцев назад

      ​@CRG that is correct your problem is z80 isnt fast enough u need like 4mhz z80 to even come close to 6502 at 1mhz

  • @TheGunnarRoxen
    @TheGunnarRoxen 6 месяцев назад +1

    well done for figuring that out!

    • @CRG
      @CRG  6 месяцев назад

      Thanks

  • @chainq68k
    @chainq68k 6 месяцев назад +5

    Blasphemy! Heresy! Awesome! Now that clones are plentiful, lets put SID into everything!

    • @CRG
      @CRG  6 месяцев назад +2

      SIDs for all! Other than the C64 I've now seen them in a Spectrum and an Amiga. I wonder what else supports one 🤔

    • @chainq68k
      @chainq68k 6 месяцев назад +1

      @@CRG There's an old ISA card for IBM PC, although it's rare, and barely anything supports it, but I think they want to add support for the PicoGUS to emulate that. Additionally, there are also SID cards for the Plus/4, of course. And probably there's more, but maybe a few projects remained in a very homebrew and obscure state...

    • @AnnatarTheMaia
      @AnnatarTheMaia 6 месяцев назад

      Wouldn't you rather have a proper DSP, with which not only could you generate infinite samples, but also add post-processing effects as well? Think "Buzztard" or "ReNoise", but on a Spectrum or a Commodore64, or even Amiga... imagine being able to do a real time synthesiser and generate tunes like the one in Conspiracy's "Beyond" demo...

    • @weepingscorpion8739
      @weepingscorpion8739 6 месяцев назад

      @@CRG Innovation SSL-2001 (or SSI-2001?, don't remember). It's an ISA card for the PC which uses a SID. A few games even support it, Ultima VI and The Crescent Hawk's Revenge are two examples.

  • @IRQBreaker
    @IRQBreaker 6 месяцев назад +1

    It feels so wrong but I absolute love it!

  • @GianmarioScotti
    @GianmarioScotti 6 месяцев назад +4

    "Where is pin 1?" Such a classic question.

    • @CRG
      @CRG  6 месяцев назад +1

      The old ones are the best but its always good to start at pin 1.

  • @LeftoverBeefcake
    @LeftoverBeefcake 6 месяцев назад

    I played the $11_Heaven song on my C64 and it must be a big digitized sample or using samples, because it sounds distorted on this machine too (6581 SID chip). The song is in the High Voltage SID collection, under artist Jeroen Tel, for those who want to listen along at home. ;)

  • @drramtop1576
    @drramtop1576 6 месяцев назад +4

    Interesting project, though as you found whoever ordered the PCBs made an error having them built with HASL coating. That makes QFP chips much more difficult to solder, going with ENIG coating is always with the extra cost when using QFPs with a pin pitch below 1mm.

    • @CRG
      @CRG  6 месяцев назад +2

      Yeah ENIG is far easier to work with but the cost different for HASL can be attractive. I got there in the end though.

  • @richeeeee
    @richeeeee 6 месяцев назад +2

    That 3 option will likely be "Vertical Blank Interrupt" at either 50hz or 60hz. Hence why it went faster at 60hz.

    • @CRG
      @CRG  6 месяцев назад +1

      That'll be it, thanks for clarifying.

  • @Supercruiser5000
    @Supercruiser5000 6 месяцев назад

    Nice work dude. :)

  • @docnele
    @docnele 6 месяцев назад +1

    When people talk about popularity, C64 usually wins-unless you ask the people from Eastern Europe, and those ones who used it in the 90's-not 80's! At the time C64 was already going away or gone, ZX-Spectrum was getting reverse-enginnered, improved, OS-equipped... it is that we the people that switched to Atari ST, Amiga and PCs even before that time are unaware of this.

  • @MJay999
    @MJay999 6 месяцев назад +9

    KiCAD's old pin 1 indication really wasn't too obvious for newcomers. The newer symbol versions have started showing a little triangle arrow, which should be easier to identify.

    • @CRG
      @CRG  6 месяцев назад +1

      It did take me a minute of staring to figure out where the pin 1 marker was. As I said I'm more used to just to the more obvious dot.

    • @kaitlyn__L
      @kaitlyn__L 6 месяцев назад

      I'm inferring what's on these boards is the old marker, because certainly in school I was taught about the notch, the dot, and the arrow... I was not taught about this, uh, 5-sided square shape.
      A square with a fifth edge hanging off it. I can kind of see the logic behind it, like it's a starting platform or something, but especially when it hews too close to the package outline it's terribly opaque at first glance.
      Glad to know it should be more standard soon.

    • @kevincozens6837
      @kevincozens6837 6 месяцев назад +1

      I didn't like the pin 1 marks in KiCad so I modified the silkscreen in the footprints in some of the libraries to use the more traditional (to me) pin 1 markers.

  • @stefanb4389
    @stefanb4389 6 месяцев назад

    It happens to the best of us

  • @gasparinizuzzurro6306
    @gasparinizuzzurro6306 6 месяцев назад

    If i remember correctly, sid files, as other psg format were a bunch of machine code instructions that wrote registers of the chip. Now, if this is true, sid files contains 6502 opcodes that are logically incompatible with the opcode used in zilog z80 which is the ZX Spectrum CPU. Is there some kind of sw emulation? so if the z80 emulates the 6502 code for sure there is a serious slow down, not as heavy is the 6502 is emulating the z80 but clearly not negligible. Or those files are converted during load to use z80 native opcodes?

  • @NorthWay_no
    @NorthWay_no 6 месяцев назад +2

    It sounds(no pun) like you're playing a .sid file and as such emulating the full 6510 - I would suspect there are other register-dump formats or at least converters that can make one (because one of the most popular demo tools is to convert a sid file to a stream and compress it for way faster playback (same idea used on Amiga/ST too)).

    • @CRG
      @CRG  6 месяцев назад +1

      I admit I'm not actually sure of the format of the music that NSID plays, but I assume its a SID file as running it from the TR-DOS image I think you can load your own music too.

  • @donkeymedic
    @donkeymedic 6 месяцев назад

    i think that the pads for programing are compatible with standard pin pitch. Probably could use 90 degree pin headers. Just put the bottom of the L pin on pads.

  • @kyorin6526
    @kyorin6526 6 месяцев назад

    You found the "ice cream van" setting at around the 38 minute mark 😁

  • @bazza5699
    @bazza5699 6 месяцев назад +3

    would be amazing if some old games supported it

    • @otis7359
      @otis7359 6 месяцев назад +1

      Maybe simple sounds could be produced in BASIC via POKEs.

    • @Zeem4
      @Zeem4 6 месяцев назад +2

      @@otis7359 OUT statements - it's mapped into the Z80's IO space, not memory.

    • @CRG
      @CRG  6 месяцев назад +1

      It would be great to see some old game or maybe even some demoscene stuff make use of this expansion but I'm not sure if there would be sufficient resources in the spectrum to do that while play the SID. As you seen in this some titles do really struggle to playback.

  • @RetroRecollections
    @RetroRecollections 6 месяцев назад

    I love these modern hardware hacks for old systems. If only this could be integrated into Spectrum games old and new?

  • @ricdintino9502
    @ricdintino9502 6 месяцев назад +1

    You are too hard on yourself. You weren't stupid, it's a process, and we learn just as much if not more from the mistakes along the way.

  • @mrt.7146
    @mrt.7146 6 месяцев назад

    Wauu! What's next: adding a Paula chip to the Atari ST? 🤩

  • @powervr
    @powervr 3 месяца назад

    I measured the ground to know the polarity of those condensator tantaluum of 47 uF and got the reversed orientation as you... :) they explode if inverted so I might be wrong. nop you are right... the ground in another schematic is the Vin... hahah i guess tantalum had exploded if wrong polarity

  • @lexpee
    @lexpee 6 месяцев назад +2

    Why not an OPL4 chip with which see made a sound card for the 8 bit MSX2 or 2+ computer.
    That's much more interesting and a much better sound with wave tables.

  • @disasterincarnate
    @disasterincarnate 6 месяцев назад +3

    deffo a novelty until some clever people start adding code to modern spectrum games that can detect and perhaps use the sid chip as an extra option if present.

    • @moforetro3612
      @moforetro3612 6 месяцев назад +1

      Yeah, that would be brilliant.

    • @CRG
      @CRG  6 месяцев назад +2

      If someone could even make use of it within the demoscene and maybe even have it playing in conjunction with the AY chip it could sound amazing.

  • @kyorin6526
    @kyorin6526 6 месяцев назад +2

    It was interesting that the Spectrum struggled to feed the real SID, but not the imitation. Where was the bottleneck?

    • @kaitlyn__L
      @kaitlyn__L 6 месяцев назад +3

      Assuming the SID registers behave anything like MOS's 6551 UART, the original SID will take longer to return to the state where it can receive a new instruction. Depending on how the program is coded, and based on its visual behaviour, it probably can't do anything while it's waiting on the SID.
      A lot like how you can generally put faster response RAM in a system without causing problems, but slower RAM will cause weird hangs and freezes during intensive operation (if it works at all).
      (It's also possible it's something more simple and more fundamental, like bus contention from the SwinSID. But I would hope the SID socket would have some kind of detection to disable the SwinSID core.)

    • @CRG
      @CRG  6 месяцев назад +3

      It's not so much that one SID performed better than others but more so that some songs just don't play back well on the 3.5mhz Z80 Spectrum. Some do play back fine and it was those that I picked to play at the end. I probably should have explained that better. The 3 tracks played at the end are playing on the real SID chip not the swinsid.

    • @kyorin6526
      @kyorin6526 6 месяцев назад +1

      @@CRG Something like Rob Hubbard's Mega Apocalypse track would likely have sounded really awful then, with all that super rapid channel switching.

    • @kaitlyn__L
      @kaitlyn__L 6 месяцев назад

      @@CRG ah, I noticed it wasn't the same tunes but I didn't realise you'd switched back to the proper SID for the outro. It's probably all on the Z80's overhead then, and has nothing to do with register timing.
      Although presumably the SwinSID _does_ nevertheless respond to register inputs quicker, much like a modern 65C51 does. It's just probably not enough to make a difference to the Z80's perspective.

    • @AnnaVannieuwenhuyse
      @AnnaVannieuwenhuyse 6 месяцев назад +1

      @@kaitlyn__L It very likely does! It would be interesting to benchmark this using some timer counts.

  • @YogSothoth1969
    @YogSothoth1969 6 месяцев назад

    That is awesome, great work, so well done 🙂 With the SwinSID, there was no blue border, is it possible, that the SwinSID is playing more fluent than a real SID on that circuit? o7 Cmdr

  • @moforetro3612
    @moforetro3612 6 месяцев назад +4

    I love the ZX Spectrum & I love the C64 so This is a mariage made in heaven for me. The power of the Sid Combined with the speed of the ZX spectrum 🤩👍

    • @primus711
      @primus711 6 месяцев назад +2

      Speed? C64 was faster

    • @moforetro3612
      @moforetro3612 6 месяцев назад

      @primus711 the spectrums processor was much faster than the 64's. The 64 had custom sound & graphics chips that sped up performance. Do you remember some games on the 64 slowing down during play as the processor bottlenecks, I do, commando is one example of this.

    • @primus711
      @primus711 6 месяцев назад

      @moforetro3612 again 6502 is 4x faster per clock there is no way around this why it's the most used cpu including game systems and computers etc
      The 6502 is derived from Motorola 6809 which us by far waaay faster than a crappy intel 8080 clone

    • @moforetro3612
      @moforetro3612 6 месяцев назад

      @@primus711I'v read up on the architecture of both CPU's & yeah, it's true. Just goes to show that numbers don't mean anything. Thanks for the heads up.

    • @primus711
      @primus711 6 месяцев назад

      @moforetro3612 just fyi the c128 runs 2x faster than the c64 with 6502 and it has a z80 just for cp/m
      And another fyi snes and pc engine use a custom 6502 among others
      Only thing better in that time was a 68000
      Today you have risc cpus running cisc
      Eg intel and amd x86/x64
      At the end of the day there r another more factors that come into play
      Z80 benefits were it didn't need as fast as ram as the 6502
      But that's all changes depending on what z80 and what 6502 we are comparing
      But either way 6502 is faster per clock by 2-4x

  • @AnnatarTheMaia
    @AnnatarTheMaia 6 месяцев назад +4

    To know how to program it correctly already requires a tremendous amount of knowledge, so I wouldn't say that you were stupid, your knowledge foundation is vast... I wouldn't even know which software and hardware to get and where, let alone that those checkboxes had to be unset... The hardware is not a novelty if someone writes a routine to automatically detect and use it if available... @BreakIntoProg might be able to help in that department.

    • @CRG
      @CRG  6 месяцев назад +2

      It would be cool so see some other software make use of the SID. I'm just not sure how much overhead is available for say running a game or a demo at the same time.

    • @AnnatarTheMaia
      @AnnatarTheMaia 6 месяцев назад +2

      @@CRG should be at least on par with the MOS 6502 / 6510... on the Commodore64, the SID is also driven by the CPU, and the Z80, while slower, has the higher clock frequency to compensate. Post scriptum: I forgot that the Z80 has to emulate the 6502 replayer code, since the replay routine is fused with the actual SID tune.

  • @dreamvisionary
    @dreamvisionary 6 месяцев назад +1

    Sacrilege... even the SID is objecting to playing 😂

    • @CRG
      @CRG  6 месяцев назад

      LOL, it just needed some persuasion and someone how knew how the programmer worked 😅

  • @vanhetgoor
    @vanhetgoor 6 месяцев назад +1

    Frankenstein some new life into a forty-plus years old SID chip.
    Yeah that is innovation, but now I am ironic. The real MOS Chips are dying like pestiferous flies, the decay starts with some crackling sounds in one or two channels. What is the use of playing old Commodore 64 songs on a Spectrum? The General Instruments soundchip that is used in the later models of the Spectrum is also used in numerous other computers, like Amstrad, Enterprise, MSX and in that AY89xx series of soundchips there are a few that excel this standard soundchip to unimaginable sounds, like real samples and FM sound generation, real instruments worthy of being used in a synthesizer. What's next, the soundchip from the PET?
    By now everybody knows how ingenious the music of the Commodore 64 was, not making chords but playing two different tones alternating very short after each-other, this trick makes this the music sound very lively and impossible to play on real instruments. It is a trick, millions of people got hooked on it. By the way, did you know that the SID chip is slightly out of tune?
    I gave you a thumbs-up for the effort.

    • @kaitlyn__L
      @kaitlyn__L 6 месяцев назад

      I never put the SID output into a tuner, but being slightly out of tune perhaps explains why it doesn't twig my ear the same as most A440 music. Because all the pianos I grew up around in music lessons were old European A435 pianos, so my ear prefers things to be a little "flat" (from an A440 perspective anyway) haha.

    • @vanhetgoor
      @vanhetgoor 6 месяцев назад

      @@kaitlyn__L Often pianos in public houses are tuned lower, the reason is not the anciennity of the instrument but the easiness for the crowd to sing along.

    • @kaitlyn__L
      @kaitlyn__L 6 месяцев назад

      @@vanhetgoor I’m not talking about train station or pub pianos, those are noticeably super duper flat. I mean in my music schools, they were just European pianos from the 1920s through to the 1950s or 60s.
      American pianos had adopted A440 by the 1920s or 30s, so A435 pianos in America are usually 19th century antiques. But in Europe A440 wasn’t codified until I believe the 1970s, and plenty of very high quality and fairly modern A435 pianos were built after the war. My schools in the 90s and 00s just happened to have leftovers from then.
      Even back when I was going to those schools, recordings of a brand new concert grand sounded too sharp to me. Even moreso in the low end, but I know that’s because of stretched tuning in uprights rather than due to the calibration of A.

    • @vanhetgoor
      @vanhetgoor 6 месяцев назад

      @@kaitlyn__L Ah, you jumped from school to school. I know It is a well-known phenomenon that boys' choirs cannot reach the highest heavenly notes every time at early mass in church if they have slumped the night before. Therefore in church the instruments were tuned low, just like in café's, what a coincidence!

    • @kaitlyn__L
      @kaitlyn__L 6 месяцев назад

      @@vanhetgoor yeah, unfortunately I moved between various different music departments. Going from one which had an orchestral focus on group playing, to another which only cared about piano was quite annoying. I don’t think the churches had pianos in though, any music was just choral or played over speakers. These were in lecture halls, music classrooms, and aaall the practice rooms at the separate music academy which leant-out teachers to schools in the area of my first school.
      Like, you _are_ aware that A435 pianos are that way due to the sizing and resonance of their cabinets, right? It’s not just a tuning decision for the strings? If you tune an A440 piano to 435 it sounds dull, and similarly if you tune an A435 piano to 440 it sounds thin. This is the biggest important piece of information here, but you keep going back to intentionally detuned A440 pianos.
      I’m happy to continue a discussion if it will be interesting, but it’s beginning to feel slightly circular right now; almost as if you think I’m just missing knowledge about situations where an A440 piano body would be tuned flat. If that’s not your intent, that’s fine, but that’s definitely the implication I’m picking up.

  • @paulcollins3725
    @paulcollins3725 6 месяцев назад

    What an absolute time-filler this was, as usual. Thanks indeed.

  • @Mr.1.i
    @Mr.1.i 6 месяцев назад +1

    If any sound is on the tape the boarder with alternate colors even if its music the boader will distort

    • @CRG
      @CRG  6 месяцев назад +1

      Thanks for clarifying, I didn't know that.

    • @Mr.1.i
      @Mr.1.i 6 месяцев назад +1

      @@CRG put a trance record through it the border should flash a blue and yellow pulse with the drum beat

  • @bufordmaddogtannen
    @bufordmaddogtannen 6 месяцев назад

    Once a Specturd, always a Specturd. 😂
    Still a cool video though.