logo elektroda
logo elektroda
X
logo elektroda
Dostępna jest polska wersja

Czy wolisz polską wersję strony elektroda?

Nie, dziękuję Przekieruj mnie tam

Pulsar – a retro sound card with an MP3 decoder and up to 16MB of DRAM

CHOPIN66 2712 48
ADVERTISEMENT
Treść została przetłumaczona polish » english Zobacz oryginalną wersję tematu
  • Green “PULSAR” ISA PCB with many ICs and a row of audio jacks on a cutting mat


    I think it’s high time to present the design for the Pulsar sound card – a Sound Blaster clone enhanced with:

    - The replacement of the 8051 with the AT89S8253; in terms of instructions, it is still an 8051, but it features an added hardware SPI controller, which is crucial for communication with the VS1063. The microcontroller converts parallel data to serial data, reads and sets flags for the ISA bus control logic, reads states from the DREQ line, and sets states on the SS and DSS lines – in short, it handles full SPI communication with the VS1063.

    -Hardware MP3 decoder based on the VS1063 chip – this is a 32-bit chip communicating via SPI. The chip also provides balance control, bass and treble adjustment, a 6-band graphic equaliser, EQ presets (including Country, Rock, Disco, electronic music, etc.) and a master volume control. This chip was also used in the Prisma MP3 card for the Amiga – hence the inspiration.

    - A hardware DRAM memory controller based on the 673104ANL chip – the 673104 is capable of addressing up to 16 MB of memory – addresses are generated from a 4-bit BCD code via three 74LS138 decoders. The controller works in conjunction with the Arbitrator and anti-hazard circuits, which prevent situations where, for example, the ISA bus is simultaneously writing data to the card and reading data from it. This is where the DRAM buffer comes into play: if the ISA is busy at any given moment and the uC wishes, for example, to write data to the ISA, it will be able to write the data to DRAM. Once the ISA is freed up, the data can be read from DRAM.

    - SRAM for the 89S8253 on the 2111 chip – used to store constants and variables utilised by the uC. It acts as an extension of the uC’s internal memory.

    - Digital potentiometers – these allow the volume of individual inputs to be adjusted and the signals to be mixed.

    - An OPL 3 YMF262 FM synthesiser has been added, along with two YAC512 DACs with a resolution of 20 bits per channel – 2x10 bits for the left channel and 2x10 bits for the right channel

    - Support for dynamic, electret and condenser microphones.

    - Input switching and muting via relays.

    - Option to connect a MIDI interface by disconnecting the OPL3 synthesiser.

    - Mixer based on an operational amplifier.

    There are therefore quite a few changes compared to the original SB 1.0.

    The assumption was that, since computers with 386 and 486 processors, and even more so those with 286, 186 and 8086/8088 processors, could not cope with software-based MP3 decoding due to their low processing power, an ISA sound card with a hardware decoder/encoder was required.

    The choice of Sound Blaster 1.0 and 1.5 was no accident – the topology of the SB 1.0 and SB 1.5 had been thoroughly documented online, including a dump of the DSP1321 (8051) contents. An 8-bit ISA card was deliberately chosen to ensure the card was also compatible with the PC XT. I deliberately opted out of Game Blaster support – firstly, because few games supported Game Blaster, and secondly, because the prices of Philips SAA1099 chips ran into the hundreds, or even thousands, of zlotys per unit. I omitted the Game Port due to a lack of space – all the control signals for the Game Port electronics and the power supply are routed to connector J6. This allows for the addition of a Game Port daughterboard.

    The project is still in progress. However, it’s already making quite an impression.

    Cool? Ranking DIY
    About Author
    CHOPIN66
    Level 15  
    Offline 
    CHOPIN66 wrote 650 posts with rating 245, helped 3 times. Live in city Gdańsk. Been with us since 2009 year.
  • ADVERTISEMENT
  • Historical context on sound card features and MIDI support

    #2 21916791
    TechEkspert
    Editor
    Posts: 7188
    Help: 16
    Rate: 5568
    That really is impressive! Sound cards, apart from those connected via the gameport, sometimes had an IDE controller. Later SoundBlaster models featured expandable memory, which I believe was related to MIDI support. Over time, software emerged in which the CPU performed wavetable synthesis, using any card as a D/A converter. Aureal (A3D), which competed with EAX (Environmental Audio Extension), remains a mystery to me. In the field of MIDI, I also recall Gravis sound cards.

    The project reminds me of the DIY sound cards from the Voodoo series, which utilised more graphics accelerator chips than the manufacturer had ever actually used in any of its products.
  • Wavetable memory enabled loadable sound banks

    #3 21916797
    ArturAVS
    Moderator
    Posts: 26270
    Help: 2298
    Rate: 7786
    The current draw must be enormous with so many standard TTL circuits...
    TechEkspert wrote:
    Sound cards other than those connected via the game port sometimes had an IDE controller

    I had a few of those; CD drives (sometimes dedicated ones) worked on that port, but floppy drives didn’t really.
    TechEkspert wrote:
    Later SoundBlaster models had expandable memory, which I think was for MIDI support.

    It wasn’t so much MIDI support as memory for the wavetable. The wavetable itself represented a huge leap in quality compared to the OPL2/OPL3. In the earlier models, this was ROM memory containing GM/GS-compatible sounds. In later models, this was changed to RAM, which allowed any sound banks to be loaded. In the heyday of the ISA bus, one of the best cards was the Gravis Ultrasound . I think I’ve had every version of that card. In terms of sound quality, it was miles ahead of the Sound Blaster. It wasn’t until the Sound Blaster Gold and Live that the Gravis was overtaken. Newer sound cards utilise the processing power of the main processor and system RAM, with a small amount of their own DSP. And it all started with Covox...
  • Clarifying electret versus capacitive microphone support

    #4 21916844
    TechEkspert
    Editor
    Posts: 7188
    Help: 16
    Rate: 5568
    The card is similar in size to those on the VESA Local Bus. Incidentally, the ISA standard hung on for a long time; later motherboards retained a single ISA slot at the bottom of the board. On the ISA bus, apart from LPT and RS I/O cards and IDE/floppy controllers, graphics cards were also available. Perhaps that’s an idea for my next project of this sort 😉

    The ‘51’ microcontrollers have a surprising architecture; I didn’t realise they were used in Sound Blasters. MCS51s are still finding their way into new designs, even though microcontrollers with far greater capabilities are available. As well as physical ‘51s, they’re used as IP cores in FPGAs when, in addition to fast operations, you need to configure something via I2C, for example.

    @CHOPIN66, how does the support for an electret microphone differ from that for a capacitive microphone on the card?
  • #5 21916886
    Pi111
    Level 27  
    Posts: 1226
    Help: 12
    Rate: 192
    Found on YouTube: COVOX – a free sound card [FASHION ITEMS 322]



  • Clarifying question about the card’s current draw

    #6 21916898
    CHOPIN66
    Level 15  
    Posts: 650
    Help: 3
    Rate: 245
    ArturAVS wrote:
    The current draw must be enormous with so many standard TTL chips...


    From the standard TTL series we have: UCA6474 – 5 pcs, 7404 – 2 pcs, UCA6407 – 2 pcs and UCA64123 – 1 pc.
    A total of 10 pcs.
    The rest are:
    74HC08 – 4 pcs, 74HCT08 – 1 pc, 74LS32 – 6 pcs, 74F32 – 1 pc, 74HC138 – 6 pcs, 74HC157 – 1 piece, 74LS245 – 2 pieces, 74F374 – 2 pieces, 74HC125 – 1 piece.
    Total: 24 pieces.

    TechEkspert wrote:
    The card’s dimensions are similar to those on the VESA Local Bus. Incidentally, the ISA bus hung on for a long time; later motherboards retained a single ISA slot at the bottom of the board. On the ISA bus, apart from LPT and RS I/O cards and IDE/floppy controllers, graphics cards were also available. Perhaps this is an idea for the next project of this type 😉

    It’s true that ISA lasted a long time – it seems that motherboards with ISA slots are still being made for industrial applications.
    Exactly – all the more so as a graphics card will be needed when booting the Elwro E801 AT replica and the Mazovia 1016 replica.

    TechEkspert wrote:

    The ‘51’ microcontrollers are a surprising piece of architecture; I didn’t know they were used in Sound Blasters. MCS51s are still finding their way into new designs, even though microcontrollers with far greater capabilities are available. As well as physical ‘51s, they’re used as IP cores in FPGAs when, in addition to fast operations, you need to configure something via I2C, for example.

    At SB Creative, they initially applied a sticker reading ‘DSP1321 Creative Labs’ – then, from what I’ve seen, for the Sound Blaster 2 they ordered 8051s with Mask ROM and laser-engraved their own markings directly onto the casing.

    The MSC51 is gradually being phased out – Microchip has posted a note on its website for the 89S8253, for example, stating that it is reaching end of life and is not recommended for new applications – though the MSC51 cores themselves will likely continue to be used in existing applications for a long time to come.

    TechEkspert wrote:

    @CHOPIN66 what is the difference between electret and capacitive microphone support on the board?



    I must now admit to a mistake here – I assumed (incorrectly) that the difference between an electret microphone and a condenser microphone boils down to the fact that the electret requires an external capacitor plus a 5V voltage, whilst a condenser microphone requires only a single 5V supply; however, upon verification, it turned out that the condenser microphone actually requires phantom power – the sound card is compatible with both electret and dynamic microphones.

    It’s good that this question was asked.
  • Suggesting 16-bit card fallback to 8-bit ISA

    #7 21916903
    TechEkspert
    Editor
    Posts: 7188
    Help: 16
    Rate: 5568
    Could the card be 16-bit and switch to 8-bit ISA when it encounters such an interface? 8-bit cards worked in 16-bit slots.

    I didn’t expect there to be such an active DIY community around ISA sound cards.

    https://github.com/schlae/snark-barker
    https://www.vogons.org/viewtopic.php?t=94701
    https://github.com/labs-lv/blasterboard
    https://www.alexandrugroza.ro/microelectronics/system-design/isa-audio-interface/index.html
    https://picogus.com/
    https://github.com/skiselev/isa-opl2

    There’s also a thread on elektroda.pl about graphics cards: https://www.elektroda.pl/rtvforum/topic224154.html

    It would also be useful to have flash storage on a CF or SD card:
    https://github.com/skiselev/xt-cf-lite-v4
    https://github.com/rreilink/xtsd
  • Proposes 16-bit card fallback to ISA 8-bit mode

    #8 21916963
    CHOPIN66
    Level 15  
    Posts: 650
    Help: 3
    Rate: 245
    TechEkspert wrote:
    Could the card be 16-bit and switch to ISA 8-bit when it encounters such an interface? 8-bit cards worked in 16-bit slots.

    I didn’t expect there to be such an active DIY community around ISA sound cards.

    https://github.com/schlae/snark-barker
    https://www.vogons.org/viewtopic.php?t=94701
    https://github.com/labs-lv/blasterboard
    https://www.alexandrugroza.ro/microelectronics/system-design/isa-audio-interface/index.html
    https://picogus.com/
    https://github.com/skiselev/isa-opl2

    A thread about graphics cards has also appeared on elektroda.pl https://www.elektroda.pl/rtvforum/topic224154.html


    I think it could be done – it’s just a matter of adding a third 74245 plus a circuit to switch between the lower and higher bits, something like the IHB in the 8086
    It’s all down to the rising prices of vintage originals; for example, you now have to pay as much as 1,000 zł for a Soundblaster AVE 32, AVE 64 or Gravis Ultra Sound with a memory expansion, whereas the AZTECH and ESS CRYSTAL – once the cheapest on the second-hand market, costing, say, 20 zł – now fetch between 70 and 200 zł.
  • ADVERTISEMENT
  • TTL chip current draw identified as highest in flip-flops and counters

    #9 21916980
    ArturAVS
    Moderator
    Posts: 26270
    Help: 2298
    Rate: 7786
    CHOPIN66 wrote:
    Do you have to pay as much as 1,000 zł for a Gravis Ultra Sound with extra memory?

    It’s a shame you didn’t ‘show off’ earlier; a couple of weeks ago I took two early-generation Gravis cards and an AWE32 to the recycling centre. I’d have given them away for free, just so they didn’t end up in the bin. It was a shame – I liked those sound cards for their sound quality. Unfortunately, after one of my computer upgrades, it turned out that both the architecture and the hardware had undergone radical changes, so they were consigned to the scrap heap. I should still have something on PCI. Interested? I think it’s an SB Gold and a Live in various versions. And a question: do you know the Video Blaster card (actually a set of cards)? Special cards for video processing from the Sound Blaster stable. ISA, and they even worked in Win3.1/3.11. I remember setting up my very first wedding… People were delighted. And that was just PAL/SECAM/NTSC.

    Creative Video Blaster ISA card with floppy disks and AV cables on a wooden surface


    Ah… It brings a tear to my eye.

    CHOPIN66 wrote:
    From the standard TTL series we have: UCA6474 – 5 pcs, 7404 – 2 pcs, UCA6407 – 2 pcs. and UCA64123 – 1 pc.

    It just so happened that the flip-flops and counters were the biggest current guzzlers (7474, 74123, etc.).
  • Question about DIY ISA or PCI RAID controllers

    #10 21916989
    TechEkspert
    Editor
    Posts: 7188
    Help: 16
    Rate: 5568
    DIY graphics cards with ISA slots and VGA output are also available, for example the Graphics Gremlin:
    https://github.com/schlae/graphics-gremlin
    and even an HDMI version with an ISA slot:
    https://yeokhengmeng.com/2023/09/hdmi-isa-graphics-card-for-vintage-pcs/
    https://github.com/yeokm1/graphics-gremlin-hdmi

    There are also DIY graphics cards for PCI Express, but that’s a whole other level of complexity:
    https://www.furygpu.com/blog/hello

    I wonder if there are any DIY RAID controllers for ISA or PCI.
  • Who needs ISA sound cards today?

    #11 21917253
    kuncy7
    Level 9  
    Posts: 34
    Help: 1
    Rate: 6
    In the early nineties, I worked for a company that bought computer hardware and resold it at a profit; nowadays, that’s called a distributor, or something like that.
    The main supplier was a Taiwanese company called Aztech; these were AT (286), 386 and 486 computers.
    In one rather large consignment, they included their own sound cards.
    Nobody knew what to do with them; 100 per cent of the computers were going to businesses (at that time, almost 90 per cent of which were still state-owned).
    What use would a company like that have for sound from a computer?
    Aztech made further cooperation and supplies conditional on the sale of these sound cards, and the result was that I had to look for a new job.
    A company from Warsaw took over the distribution of Aztech cards, but shortly afterwards Sound Blaster entered the market and Aztech was finished – that is, it went bankrupt.
    However, in Poland it was the first supplier of sound cards (I think).

    Just out of curiosity, who needs sound from an ISA card these days?
  • Found an old sound card with IDE slot

    #12 21917254
    robig
    Level 23  
    Posts: 459
    Help: 61
    Rate: 143
    Beautiful retro electronics – it’s enough to make you blush just looking at it 😁
    A couple of weeks ago, I was having a clear-out in my junk room and found some similar treasures – perhaps not quite as impressive, but old all the same. This one’s from one of my very first PCs. Of course, I kept it; I’m thinking of trying to get it up and running when I have a spare moment – maybe it’ll work.
    The card has an IDE slot, though I also remember that the hard drives didn’t really want to work; the CD drives, on the other hand, were flying.

    Top-down close-up of a green Creative PC expansion card with many chips, capacitors, and bracket connectors. Close-up of a green PCB labeled “IDE INTERFACE” with 74LS245 chips and an OAK Technology IC. Close-up of an AMD Am5x86-P75 CPU on a motherboard, showing a Windows 95 marking Old PC motherboard with an AMD CPU and multiple ISA and PCI expansion slots plus memory sockets Old PC motherboard with RAM sockets and vertical expansion cards on a light textured surface
  • #13 21917290
    efi222
    Level 22  
    Posts: 767
    Help: 12
    Rate: 1207
    kuncy7 wrote:
    Just out of curiosity, who needs sound from an ISA card these days?

    It’s probably unnecessary these days.
    But I remember when I ‘switched’ from my last SB ISA sound card – I think it was an AWE64 – to a newer PCI one; I was very disappointed with the sound quality of the newer card...
  • ADVERTISEMENT
  • ISA sound still needed for retro PCs

    #14 21917423
    CHOPIN66
    Level 15  
    Posts: 650
    Help: 3
    Rate: 245
    efi222 wrote:
    kuncy7 wrote:
    Just out of curiosity, who needs sound from an ISA card these days?

    It’s probably unnecessary these days.
    But I remember when I ‘switched’ from my last SB ISA sound card – I think it was an AWE64 – to a newer PCI one; I was very disappointed with the sound quality of the newer card...


    Unnecessary? Absolutely not – it’s very much needed :D . All the more so if someone’s building a retro PC on a vintage motherboard.
  • Historical role of ISA sound cards and CD-ROM interfaces

    #15 21917559
    bsw
    Level 22  
    Posts: 697
    Help: 5
    Rate: 731
    CHOPIN66 wrote:
    efi222 wrote:
    kuncy7 wrote:
    Just out of curiosity, who needs sound from an ISA card these days?

    It’s probably unnecessary nowadays.
    But I remember when I ‘switched’ from my last SB ISA sound card – I think it was an AWE64 – to a newer PCI one; I was very disappointed with the sound quality of the newer card...


    Unnecessary? Absolutely not – it’s very much needed :D . All the more so if someone is building a retro PC on a motherboard from that era.


    On 486 motherboards, disk controllers were usually already built-in. In older computers, the motherboard only had a keyboard socket (large DIN). All other interfaces were on expansion cards. A standard disk controller had two slots: a long ISA slot for the hard disk and a short one for the floppy drive, plus a parallel port and a 9-pin serial port on the first bus, and a second 25-pin port on the second bus. The 9-pin port was usually occupied by a mouse; the parallel port could be used with the aforementioned Covox, whilst the 25-pin port supported a null modem cable – for gaming between two computers :-)

    As for the IDE ports on sound cards, their use was a bit more serious – a CD-ROM drive was connected to them. The disk controller didn’t support drives larger than 512 MB – which wasn’t a problem, as drives back then had standard capacities of 40/80/105 or, incredibly, 170 MB. However, a CD-ROM disc had as much as 640 MB – which the standard controller could not address. Hence – quite logically, in fact – the idea that the CD-ROM should be handled by a sound card. At the start, there was another issue – many CD-ROM drives had their own interface, which was physically incompatible with IDE. I have a sound card in my collection that had as many as four different CD-ROM interfaces – apart from IDE, there were also SONY, PANASONIC and MITSUMI...

    EDIT:
    I forgot to give credit to the project’s author and ask how this hardware MP3 decoder is operated?

    BTW:
    On better 486s (4x100), you can play MP3 files using the mpxplay programme:
    https://mpxplay.sourceforge.net
    Helpful post? Buy me a coffee.
  • #16 21917567
    ArturAVS
    Moderator
    Posts: 26270
    Help: 2298
    Rate: 7786
    After all, there used to be Multi I/O cards: IDE (PATA), LPT, RS232 (COM). I even had one with a joystick port.
  • Question about operating the hardware MP3 decoder

    #17 21917586
    CHOPIN66
    Level 15  
    Posts: 650
    Help: 3
    Rate: 245
    bsw wrote:
    CHOPIN66 wrote:


    In 486 motherboards, disk controllers were usually already built-in. In older computers, the motherboard had only a keyboard socket (large DIN). All other interfaces were on expansion cards. A standard disk controller had two slots: a long ISA slot for the hard disk and a short one for the floppy drive, as well as a parallel port and a 9-pin serial port on the first expansion slot, plus a second 25-pin port on the second expansion slot. The 9-pin port was usually occupied by a mouse; the parallel port could be used with the aforementioned Covox, whilst the 25-pin port supported a null modem cable – for gaming between two computers :-)

    As for ISA sound cards, their use was a bit more serious – you’d connect a CD-ROM drive to them. The disk controller didn’t support drives larger than 512 MB – which wasn’t a problem, as drives back then had standard capacities of 40/80/105 or, incredibly, 170 MB. However, a CD-ROM disc contained as much as 640 MB – which the standard controller could not address. Hence – quite logically, in fact – the idea that the CD-ROM should be handled by a sound card. At the start, there was another issue – many CD-ROM drives had their own interface, which was physically incompatible with ISA. I have a sound card in my collection that had as many as four different CD-ROM interfaces – apart from ISA, there were also SONY, PANASONIC and MITSUMI...

    EDIT:
    I forgot to give credit to the project’s author and ask how this hardware MP3 decoder is operated?

    BTW:
    On better 486s (4x100), you can play MP3 files using the mpxplay programme:
    https://mpxplay.sourceforge.net

    Of course it works, but you need to reduce the bitrate to 64 kbit/s – Adam Śmiałek adapted this for the Towary Modne on a DX2 25 MHz, whilst a bitrate of 256 or 320 kbps whereas 64 kbps is telephone-call quality.

    I’ll show you the code later – I need to look for it; I’ve got the file compiled to .hex.
  • #18 21917591
    efi222
    Level 22  
    Posts: 767
    Help: 12
    Rate: 1207
    @bsw and @ArturAVS – Are you reciting this from memory, or do you have any cheat sheets? :D
    I still remember the PC386 era, but to have all those details stuck in your head? – respect.
    And as for building the sound card from scratch yourself, that’s next-level stuff for me...
  • ADVERTISEMENT
  • 486 systems can play MP3s at 64–128 kbps

    #19 21917595
    bsw
    Level 22  
    Posts: 697
    Help: 5
    Rate: 731
    CHOPIN66 wrote:

    bsw wrote:

    On better 486s (4x100), you can play MP3 files using the mpxplay programme:
    https://mpxplay.sourceforge.net

    Of course it’s possible, but you have to reduce the bitrate to 64 kbit/s – Adam Śmiałek worked on this at Towary Modne on a DX2 25 MHz system, and whilst 256 or 320 kbps is standard, 64 kbps is telephone-call quality.

    On my 486, 128 kbps files still play without any problems – and that used to be the standard output bitrate... (acceptable quality and file size) :-)
    Adam Śmiałek is forcing himself to use Windows, whilst I was running on DOS :-)

    efi222 wrote:
    Gentlemen @bsw and @ArturAVS – are you going from memory, or do you have any cheat sheets? :D

    We used to live and breathe this stuff – whether we liked it or not, it’s stuck in our heads...
    Helpful post? Buy me a coffee.
  • #20 21917604
    ArturAVS
    Moderator
    Posts: 26270
    Help: 2298
    Rate: 7786
    @efi222 from memory: :D . Just as @bsw says. If anyone needs them, I’ve got a few 486DX4s from various manufacturers.
  • 486 boards rarely had built-in IDE controllers

    #21 21917645
    Mateusz_konstruktor
    Level 37  
    Posts: 4246
    Help: 270
    Rate: 1106
    bsw wrote:
    In 486 motherboards, disk controllers were usually already built-in. In older computers, the motherboard only had a keyboard socket (large DIN). All other interfaces were on expansion cards. A standard disk controller had two slots: a long ISA slot for the hard disk and a short one for the floppy drive, as well as a parallel port and a 9-pin serial port on the first bus, plus a second 25-pin port on the second bus. The 9-pin port was usually occupied by a mouse; the parallel port could be used with the aforementioned Covox, whilst the 25-pin port supported a null modem cable – for gaming between two computers

    As for ISA sound cards, their use was a bit more serious – a CD-ROM drive was connected to them. The fact is, the disk controller didn’t support disks larger than 512 MB – which wasn’t a problem, as disks back then had standard capacities of 40/80/105 or, incredibly, 170 MB. However, a CD-ROM disc had as much as 640 MB – which the standard controller couldn’t address. Hence – quite logically, in fact – the idea that the CD-ROM should be handled by a sound card.

    On-board controllers were usually not found in the 486 class, but in the next generation, known as the Pentium.
    In the 486 class itself, separate expansion cards were the norm, although even in the 286 and 386 classes there were instances of such controllers built into the motherboard.
    These were usually non-standard motherboards, found in so-called ‘corporate’ computers, where the motherboards were adapted to non-standard cases and often featured other non-standard solutions as well.
    Motherboards for 486-class processors that had built-in disk controllers were a small minority.
    I came across such designs with DX25 or DX40 processors, and most frequently with some of the later models such as the DX80/100/120.
    There was no ‘ISA’ slot for the hard drive, only ‘IDE’.
    In the era of 486-class processors, the third port – a 25-pin port, i.e. the RS232 port in the older socket standard – was rarely found, or indeed not present at all, on I/O cards. The option of a DB25 connector, rather than a DB9, on an additional board – and one connected to one of the two RS232 ports – was characteristic of the earlier 286 and 386 generations.
    I’ve attached a photo – albeit an incomplete one – of a typical I/O card that I deliberately sought out.
    Vintage ISA I/O expansion card with UMC chips and a DB25 connector on the bracket

    Some of the earliest controllers may have had such low limits on the hard drive capacities they supported, but generally speaking there weren’t such extreme problems, and this is likely to refer to hardware from much earlier generations.
    The issue with supporting much newer and much higher-capacity drives arose in relation to much later models with capacities already more than a dozen times greater.
  • #22 21917694
    TechEkspert
    Editor
    Posts: 7188
    Help: 16
    Rate: 5568
    A question has arisen as to how to use the on-board MP3 decoder on the card. Does a dedicated application send a stream of bytes from the file to the codec (perhaps via the card’s RAM buffer), and is that how the decoder plays the MP3?
  • 486 motherboards rarely had built-in disk controllers

    #23 21917739
    CHOPIN66
    Level 15  
    Posts: 650
    Help: 3
    Rate: 245
    Mateusz_konstruktor wrote:
    bsw wrote:
    In 486 motherboards, disk controllers were usually already built-in. In older computers, the motherboard only had a keyboard socket (large DIN). All other interfaces were on expansion cards.

    On-board controllers were usually not found in the 486 class, but in the next generation known as the Pentium.
    In the 486 class itself, separate expansion cards were the norm, although even in the 286 and 386 classes there were instances of such controllers being built into the motherboard.
    These were usually non-standard motherboards, found in so-called ‘corporate’ computers, where the motherboards were adapted to non-standard cases and often featured other non-standard solutions as well.
    Motherboards for 486-class processors that had built-in disk controllers accounted for only a small proportion of the total.



    Higher-end motherboards, such as LPX and PS/2 models, featured integrated HDD and FDD controllers.
    My own ZDS Z-Station Z-400 series motherboard from 1992 already has integrated FDD and HDD controllers, and even graphics.

    Computer motherboard with a diagnostic POST card showing red LED digits
  • #24 21917749
    TechEkspert
    Editor
    Posts: 7188
    Help: 16
    Rate: 5568
    A really tough challenge would be to build a modern coprocessor compatible with the 387,
    with greater computing power but still compliant with the 387 protocol.

    Generally speaking, FPGAs are well suited to such emulations/implementations, for example for older computers from before the PC era: MiSTer or the cheaper MiSTer Pi
  • Direct codec streaming when card is idle

    #25 21917771
    CHOPIN66
    Level 15  
    Posts: 650
    Help: 3
    Rate: 245
    TechEkspert wrote:
    A question has arisen about how to use the hardware MP3 decoder on the card. Does a dedicated application send a stream of bytes from the file to the codec (perhaps via the card’s RAM buffer), and is that how the decoder plays the MP3?


    The driver (currently under development) will configure the card as ‘Direct Sound’ in the system. If, at the moment the player is sending audio data, the card is idle – that is, we are not, for example, recording audio to a file at that time – the audio data is sent directly to the AT89S8253, bypassing the DRAM buffer, and on to the hardware codec via SPI. If, at the start of playback, the sound card reports that it is busy – for example, with writing audio to a file – the audio data being played is written to the DRAM buffer, from where it will be loaded into the AT89S8552 and then on to the codec. This is precisely why the 673104 works with the arbiter and anti-hazard circuitry, which use the ALE signal generated by the microcontroller; it monitors who is reading and who is writing to the ISA/microcontroller to determine when a given write/read cycle ends, and to ensure there were no collisions between data being written and data being read

    The same applies when writing to an audio file

    TechEkspert wrote:
    A really tough challenge would be to build a modern coprocessor compatible with the 387,
    with greater computing power but still compliant with the 387 protocol.

    I’d try to implement the coprocessor in an FPGA using a 32-bit pico-RISC V core – the core code is open source and, as far as I recall, available on GitHub – we’d convert 16-bit instructions to 32-bit on the fly. It would most likely be so powerful that it would outperform WeiTek coprocessors hands down.

    One of the core designs: https://github.com/YosysHQ/picorv32
  • AT and ATX port connector evolution

    #26 21918002
    bsw
    Level 22  
    Posts: 697
    Help: 5
    Rate: 731
    Mateusz_konstruktor wrote:

    In the days of 486-class processors, the third port – a 25-pin port, i.e. an RS232 port in the older socket standard – was rarely found, or indeed not found at all, on I/O cards. The option of a DB25 connector, rather than a DB9, on an additional expansion card – and one connected to one of the two RS232 ports – was the preserve of earlier generations, the 286 and 386.
    [..]
    Some of the earliest controllers may have had such low limits on the hard drive capacities they supported, but generally speaking there were no such extreme problems, and this likely refers to hardware from much earlier generations.
    The issue with supporting much newer and much higher-capacity drives arose in relation to much later models with capacities already more than a dozen times greater.

    I’ve attached photos (from my own collection) of a 386 motherboard with an 80386SX processor and a disk controller. The controller has soldered-on sockets for the parallel port and the game port. The sockets for the serial ports were located on a separate board and were always one DB9 and one DB25. The same was true for 486 motherboards, even those with a built-in controller. These were still AT-standard motherboards with a large keyboard connector and two flat power connectors. All the connectors were on add-on boards. Motherboards that had sockets other than the keyboard socket soldered directly onto the board were non-standard solutions used by a handful of manufacturers. The situation changed with the introduction of the ATX standard (the Pentium era), when the sockets were already soldered onto the motherboard. Initially, these were limited to PS/2 keyboards and mice, as well as a parallel port and two serial ports (in fact, there were already two DB9 connectors here). Over time, USB sockets appeared, and later, as it became fashionable to integrate audio, LAN and eventually VGA on motherboards, these were also added.
    Pulsar – a retro sound card with an MP3 decoder and up to 16MB of DRAM ISA I/O controller card with DB25 parallel port and ribbon connectors labeled IDE and FLOPPY
    As for the IDE standard, it did not natively support CD-ROMs (an ATA extension called ATAPI was developed for this purpose). As for capacity, this was initially a limitation of the BIOSes due to addressing a maximum of 16 heads, which resulted in a maximum of 528 MB; later BIOSes supported 256 heads, but this again imposed an 8 GB limit. However, the interface itself limited the capacity to 2 GB due to 22-bit addressing, which was later changed to 28-bit LBA (which limited the drive capacity to 137 GB...)
    Controllers on 486 motherboards were installed to enable faster communication with the processor via a 32-bit bus. At that time, a 32-bit extension for the ISA bus called the VESA Local Bus was even developed, though it was eventually superseded by PCI...
    ISA ESS AudioDrive ES688 sound card with three audio jacks and a gameport on the bracket
    Returning to sound cards – I’ve attached a photo of an ES688-era card compatible with the SB16 – it features the four CD-ROM sockets mentioned earlier, as well as a game port. The pin header at the top was used to connect a sample bank, known as a wavetable, for hardware synthesis...
    Helpful post? Buy me a coffee.
  • #28 21918521
    CHOPIN66
    Level 15  
    Posts: 650
    Help: 3
    Rate: 245
    Perhaps I’ll have a go at playing around with this i387 on an FPGA – I’ve already downloaded the Logisim programme from GitHub.
  • Mixed serial port standards caused mouse failure

    #29 21918538
    _ACeK_
    Level 15  
    Posts: 166
    Help: 6
    Rate: 195
    bsw wrote:
    … The sockets for the serial ports were on a separate circuit board and were always one DB9 and one DB25…


    :smile: Sometimes there were two DB9 :idea: What a surprise I had when I used a cable from another computer. I plugged in the mouse and it didn’t work 🤔 I plugged it back into the first one – it worked 👀 I racked my brains trying to work out why it wouldn’t work. After analysing the ribbon cable connections, it turned out that two different standards were being used :wink:
  • Mixed synchronous and asynchronous serial port standards

    #30 21918546
    CHOPIN66
    Level 15  
    Posts: 650
    Help: 3
    Rate: 245
    _ACeK_ wrote:
    bsw wrote:
    … The sockets for the serial ports were on a separate circuit board and were always one DB9 and one DB25…


    :smile: Sometimes there were two DB9 :idea: What a surprise I had when I used a cable from another computer. I plugged in the mouse and it didn’t work 🤔 I plugged it back into the first one – it worked 👀 I racked my brains trying to work out why it wouldn’t work. After analysing the ribbon cable connections, it turned out that two different standards were being used :wink:

    Probably
    one port was synchronous and the other asynchronous, which is why the mouse might not have worked – it wasn’t receiving the CLK signal.
ADVERTISEMENT