Jump to content

ivop

Members
  • Content Count

    2,282
  • Joined

  • Last visited

  • Days Won

    3

Posts posted by ivop


  1. Hi,

     

    Recently I designed a 10x10cm MultiJoy8 PCB. I have six of them left, so if anybody is interested, I can send you one. Cost will be €4,= plus €4,= international shipping and packaging, so that's a total of €8,=. Note that that's for an unpopulated PCB. The picture of a populated PCB is just for illustrational purposes.

     

    It's based on this schematic: http://raster.atariportal.cz/hw/mj8_2007.gif

    Bill of materials to build one:

     

    4x 10K resistor

    40x 1N4148

    1x 100nF capacitor

    8x male (angled) DB9 socket

    1x 74ALS138

     

    2x joystick cable of which at least one has pin 7 connected for +5V

    or

    2x female DB9 socket in case you use joystick extension cables (with pin 7 connected!)

    or

    2x male DB9 connectors plus some wire with at least seven cores or six and shield

     

    We have successfully built and tested the board.

     

    Please let me know below if you are interested or send me a PM. I'd say one each, unless there's not much interest.

     

    Regards,

    Ivo

     

    post-20947-0-04411700-1482594424_thumb.jpg

    post-20947-0-77114100-1482594666_thumb.jpg

     

     

    kicad-files.zip

     

    Edit: this contains ALL development files and Gerbers you can send to a boardhouse directly!

     

    ----------

     

    Edit: 2020-12-01: In the past I have received multiple messages about the orientation of the connectors. Most recently at the (current) end of this thread:

     

    https://atariage.com/forums/topic/260287-multijoy8-pcb/?do=findComment&comment=4688915

     

    It's important to note that ALL footprints are intended for male sockets on top. If you want female sockets at the computer side, they need to be soldered at the bottom. See this image by spicyjack:

     

    img_3520.multijoy8_female_connectors.top.jpg

     

    And then there's this 3D printable housing, designed by wt808 without even owning a board!

     

    https://atariage.com/forums/topic/266571-ivop-multijoy-board-case-3d-print-file/?do=findComment&comment=4274144

     

    Here's the direct Thingiverse link: https://www.thingiverse.com/thing:3608558

     

    And my own print:

     

    multijoy8-enclosure.jpg

     

     

     

    • Like 5

  2.  

    It's most noticeable on long sustained notes but I notice it in other situations as well.

     

    For an example, start as6-alien.xex in Altirra, enable View -> Show FPS, and then fast forward with "F1" until about cycle 6840 (time 2:14 in the .SID file). There you'll get to a part where the lead instrument on channel two sustains several long notes with slowly changing duty cycle. You can distinctly hear the points in time at which the timbre changes as the duty cycle thresholds that you've implemented are crossed. In contrast, on the SID, the instrument gradually changes timbre without any discrete jumps.

     

    Thanks, I'll use that song as a test song. Currently, I have a new version with a heavily reduced memory footprint. 9.5kB instead of 22kB (but configurable at compile time for songs that do need the mixed waveforms).

    Now it should be possible to add extra duty cycles without running out of memory. At least eight, perhaps more. Stay tuned ;)

    • Like 4

  3. I would love to see more duty cycle steps as I think smooth duty cycle sweeps are a key feature of a lot of SID instruments.

     

    Could you point me to a song where it is very noticeable, preferably one I already converted? :)

    • Like 1

  4. One question:

    If it is possible to filter the SIDs, to get played with that player, shouldn't it be possible to build clean 3 channel Tracker files

     

    I'm not sure what exactly you are asking here, but if you mean whether it is possible to write a tracker/player that uses this replay core and bypasses the SID registers and ADSR emulation, yes, that would be possible.

    If you mean to use it to extract tracker like data from the SID files itself, I'd rather use siddump on a PC. It does a pretty good job on detecting vibration. I don't think it's that hard to massage its output into something useful.

    • Like 1

  5. except for the noise which already as stated is 15 KHz based (using an 8-bit AUDF ?)

     

    Yes, 8-bit AUDF for each channel. You can have three different frequencies of noise at the same time. That's also the reason why I moved to channel 2, 3 and 4, because I can't change AUDF1 as that's used for the timer interrupt.

    • Like 1

  6. ok... again my question if this could be used on other 6502 machines like Atari Lynx? does this play only with volume bits (so samples) or does it use actually "pokey" and does a sid-freq2pokey-freq translation?

     

    Most of the sounds (sawtooth, triangle, pulse) are played with the volume only bits. Starting at version 6, noise is not played that way, but pokey's own noise generator (distortion 8 ) is used, because it sounds better :)


  7. Sid emulation, but for this version some (all?) of the noise type is translated and Pokey noise used.

     

    Yes, all noise is done with pokey's own noise generators. The range is limited though, because we are in 15kHz mode. No huge table is used (like it was in sid2gumby) to convert the frequency values, but a rough approximation.


  8. Any possibility of detecting and compensating for speed difference on NTSC machines in the future?

     

    Ah, I forgot all about that. This is doable as wrathchild already did it with as5. The other way around, i.e. playing NTSC tunes faster on a PAL machine, is a bit trickier.

     

    btw. how to convert my own .SIDs to the player?

     

    and what is those 3 IRQ mode you mention in the source code? Might it be possible to adapt for other consoles? Like 5200/7800 or even Atari Lynx? (I am searching for nice player...)

     

    I have little time atm, but I could write a full guide in the future. In short it comes down to this:

     

    You need sidreloc, siddasm2, atasm, atarisid6 sources, mads

     

    - find a sid file that's not too big and would fit in $9000-$bfff (preferably $a000-$bfff)

    - relocate the sid file; relocate zero page to $d0-$ef ($c0-$ff max); relocating to $9000 sometimes fails when relocating to $a000 works

    - test resulting sid file

    - disassemble with siddasm2

    - replace 29 equates at the top with the contents of remap.txt (remapping the sid hardware registers)

    - fix ill instructions, L_00xxx references and unknown labels (there are three scripts to automate that, or run fixall.sh foo.dis)

    - assemble with atasm -r

    - copy binary to songs directory, create corresponding .inc

    - use setsong.sh to set the song name and use build.sh to build a.xex and test

    - or run buildall.sh and test the file in xex/.

     

    Some tunes need further patching (see for example zybex.dis, included in the songs directory) because those players toggle the gate bit twice within one call to the player routine and this would go unnoticed by the adsr emulation.

     

    edit: the three irq thing refers to the three different irq routines that are run in a round-robin way. See irq.inc for those routines.

    • Like 3

  9. This is excellent! Question: It seems like your pulse wave duty cycle has greatly reduced resolution compared to the 12-bit resolution of the SID. How many steps do you support? Would adding more blow up the required number of tables beyond available memory?

     

    It currently supports 20%, 40%, 60% and 80%. If I were to keep all the 8580 waveform mixing capabilites adding more pulsewidths would indeed exceed the available memory. I am thinking about removing those though as they are hardly ever used on 6581 tunes. Mapping them all to either pulse or triangle might be enough. That will open up two new possibilities. 1) all the tables will fit in one cartridge bank, or 2) more pulsewidths or more volume levels (also 4 right now).

    • Like 2

  10. Hi all,

     

    Atarisid is a software emulation of the SID soundchip used in the Commodore C64.

    Recently, a conversation with wrathchild got me interested in atarisid again and here's the result.

     

    What's new in version 6?

     

    - Use three pokey channels instead of one

    - Newly calculated wave forms

    - Higher fidelity and dynamic range (over 21dB per channel)

    - Use pokey noise generators for a much cleaner sound and different frequencies of noise

    - Disables basic at startup

    - 34 new songs for a total of 64 (which is not a coincidence :))

      Adam Gilmore                        -   Ninja Commando                        
      Adam Gilmore                        -   Zybex                                 
      Ari-Pekka Paljakka (Zardax)         -   Retrograd                             
      Ben Daglish                         -   Bulldog                               
      Ben Daglish                         -   Cobra                                 
      Ben Daglish                         -   The Vikings                           
      Ben Daglish                         -   Thing Bounces Back                    
      Chris Huelsbeck                     -   Metro Dance                           
      David Whittaker                     -   Glider Rider                          
      David Whittaker                     -   Loopz                                 
      David Whittaker                     -   Speedball                             
      Hein Holt (Hein)                    -   Alien Seahorses Invading Heaven       
      Jens-Christian Huus                 -   No Filter                             
      Jeroen Tel                          -   Alternative Fuel                      
      Jeroen Tel                          -   JT42                                  
      Jeroen Tel / Maniacs of Noise       -   Alloyrun                              
      Jeroen Tel / Maniacs of Noise       -   Cybernoid                             
      Jeroen Tel / Maniacs of Noise       -   Cybernoid II                          
      Jeroen Tel / Maniacs of Noise       -   Hawkeye                               
      Jeroen Tel / Maniacs of Noise       -   Ice Age                               
      Jeroen Tel / Maniacs of Noise       -   Kinetix                               
      Jeroen Tel                          -   Myth Mix                              
      Jeroen Tel                          -   Noisy Pillars                         
      Jonathan Dunn                       -   Ocean Loader 4                        
      Lasse Oorni (Cadaver)               -   Aces High                             
      Lasse Oorni (Cadaver)               -   Escape From New York                  
      Lasse Oorni (Cadaver)               -   GoatTracker Example (MW1 Title)       
      Lasse Oorni (Cadaver)               -   Metal Warrior                         
      Lasse Oorni (Cadaver)               -   Metal Warrior 2                       
      Lasse Oorni (Cadaver)               -   Nintedo Metal                         
      Lasse Oorni (Cadaver)               -   Tarantula                             
      Lasse Oorni (Cadaver)               -   Unleash The Fucking Fury              
      Mark Cooksey                        -   Battle Ships                          
      Martin Galway                       -   Ocean Loader 1                        
      Martin Galway                       -   Ocean Loader 2                        
      Peter Clarke                        -   Ocean Loader 3                        
      Reyn Ouwehand                       -   What Have I Done To...                
      Rob Hubbard                         -   Chimera                               
      Rob Hubbard                         -   Commando                              
      Rob Hubbard                         -   Crazy Comets                          
      Rob Hubbard                         -   Delta                                 
      Rob Hubbard                         -   IK+                                   
      Rob Hubbard                         -   International Karate                  
      Rob Hubbard                         -   Lightforce                            
      Rob Hubbard                         -   Monty On The Run                      
      Rob Hubbard                         -   Ninja                                 
      Rob Hubbard                         -   One Man And His Droid                 
      Rob Hubbard                         -   Sanxion                               
      Rob Hubbard                         -   Spellbound                            
      Rob Hubbard                         -   The Master Of Magic                   
      Rob Hubbard                         -   Thing On A Spring                     
      Rob Hubbard                         -   Warhawk                               
      Stellan Andersson (Dane)            -   Escape From Reality                   
      Stellan Andersson (Dane)            -   The Slap Mix                          
      Thomas E. Petersen (Laxity)         -   Freeze                                
      Thomas E. Petersen (Laxity)         -   Highscore                             
      Thomas E. Petersen (Laxity)         -   Syncopated                            
      Thomas E. Petersen (Laxity)         -   Wisdom                                
      Thomas Mogensen (DRAX)              -   Scarlet                               
      Thomas Mogensen (DRAX)              -   Spunk                                 
      Timo Taipalus (Abaddon)             -   Hamlet                                
      Tomas Danko                         -   Groove                                
      Torben Hansen (Metal)               -   Ramloesa                              
      Volker Meitz (PRI)                  -   Pool Party                            
    

    atarisid6-xex.zip

    atarisid6-src.zip

    • Like 14
×
×
  • Create New...