Page 1 of 3 123 LastLast
Results 1 to 10 of 23

Thread: Berzerk To Frenzy To Multigame

  1. #1
    Join Date
    Oct 2005
    State
    Redlands
    Posts
    19,430
    Mentioned
    172 Post(s)
    Quoted
    2030 Post(s)

    Berzerk To Frenzy To Multigame

    IMAG0259.jpg
    IMAG0258.jpg IMAG0260.jpg

    This is a place marker for an ongoing project for a bit of fun.
    I've successfully converted a Berzerk ZPU-1000 into Frenzy. My goal was no trace cuts and I've achieved that.
    https://www.aussiearcade.com/showthr...49#post1255049
    I've made a little board that replaces the 74ls155 @6E with a prom on it for rom selection.
    I won't go into details just yet because my next step is a single rom hack then a 2 in 1. I want to learn how to use a GAL as a decoder etc so its a bit of a learning exercise for me.

  2. #2
    Join Date
    Oct 2005
    State
    Redlands
    Posts
    19,430
    Mentioned
    172 Post(s)
    Quoted
    2030 Post(s)

    IMAG0266.jpg IMAG0267.jpg
    Next phase complete.
    Got Frenzy running on a single rom
    IMG_20190813_165058.jpg
    Needed to draw up a truth table in a way I could understand so I put the prom used for memory selection on a breadboard and set to work mapping the address lines and outputs from 0000h to FFFFh (64k)
    The next step will be modifying this table to get Berzerk working on a single rom then with somebody's help convert this to a GAL. Once I understand how it works next step is bringing it all together for some sort of multigame adapter to run Berzerk and Frenzy on the same board.

  3. #3
    Join Date
    Dec 2016
    State
    Barden Ridge NSW
    Posts
    3,767
    Mentioned
    191 Post(s)
    Quoted
    1367 Post(s)
    Excellent work considering previous knowledge. I love it when someone has a go at something they aren't familiar with. Looks like you have 5 outputs....0000h.
    Another way is to run both roms and make and break the pair of rom outputs only using something like a 4016 or a 4066 chip. They are a bilateral switch but are basically a 4 pole relay but for data lines. You will need two bilateral switch chips to cover the 5 lines of data but each device only needs one control wire to switch it and you can cascade as many chips as you want.
    It will do pretty close to what a single rom with do but using more common parts rather than one custom chip doing it all. The trade off is you will need to make a board but I think you have been doing excellent work on boards already so that shouldn't be a problem.

  4. #4
    Join Date
    Oct 2005
    State
    Redlands
    Posts
    19,430
    Mentioned
    172 Post(s)
    Quoted
    2030 Post(s)

    its a 82s123 32x8 prom 5 address lines A0-A4 and 8 data used for memory selection. The 8 LED's represent your binary output for each data line so going through each address line which represent A11-15 (0000-FFFF) I was able to manually work out the truth table.
    That's just the way I have to learn stuff, I've always been hands on rather than a book worm.

    Berzerk Decoder.jpg Frenzy Decoder.jpg
    Here's the schematics for the memory selection on both Berzerk and Frenzy.
    Essentially what I've done up until this point is made an adapter for the 82s123 prom to replace the 74ls155. Of course its not as simple as that, I still had to desolder a couple of IC's and bend their legs out and do some rewiring and unfortunately Frenzy's memory map is different also. I'm guessing they did this to stop people doing a straight rom swap from Berzerk to Frenzy.

    Berzerk's memory map is pretty straight forward.
    Rom 0 0000h-07FFh - 2k
    Ram 0800h-0FFFh - 2k ram
    Roms 1-6 2k banked to make 4k
    Rom 1 1000h-17FFh
    Rom 2 1800h-1FFFh
    Rom 3 2000h-27FFh
    Rom 4 2800h-2FFFh
    Rom 5 3000h-37FFh
    Rom 6 3800h-3FFFh < not used
    Frenzy is
    Rom 1 to 4 0000h to 3FFFh
    Rom 5 is C000h to CFFFh
    and the ram has been moved from 0800h-0FFFh to F800h to FFFFh

    So in theory is should just be a matter of changing a few things in the prom to get Berzerk to run however not sure if I want to wasn't another precious 82s123 which is why I want to play around with GAL's

  5. #5
    Join Date
    Apr 2006
    State
    SE Queensland
    Posts
    4,110
    Mentioned
    207 Post(s)
    Quoted
    885 Post(s)
    Quote Originally Posted by Arcade King View Post
    its a 82s123 32x8 prom 5 address lines A0-A4 and 8 data used for memory selection. The 8 LED's represent your binary output for each data line so going through each address line which represent A11-15 (0000-FFFF) I was able to manually work out the truth table.
    That's just the way I have to learn stuff, I've always been hands on rather than a book worm.

    https://www.aussiearcade.com/attachm...hmentid=151871 https://www.aussiearcade.com/attachm...hmentid=151872
    Here's the schematics for the memory selection on both Berzerk and Frenzy.
    Essentially what I've done up until this point is made an adapter for the 82s123 prom to replace the 74ls155. Of course its not as simple as that, I still had to desolder a couple of IC's and bend their legs out and do some rewiring and unfortunately Frenzy's memory map is different also. I'm guessing they did this to stop people doing a straight rom swap from Berzerk to Frenzy.

    Berzerk's memory map is pretty straight forward.
    Rom 0 0000h-07FFh - 2k
    Ram 0800h-0FFFh - 2k ram
    Roms 1-6 2k banked to make 4k
    Rom 1 1000h-17FFh
    Rom 2 1800h-1FFFh
    Rom 3 2000h-27FFh
    Rom 4 2800h-2FFFh
    Rom 5 3000h-37FFh
    Rom 6 3800h-3FFFh < not used
    Frenzy is
    Rom 1 to 4 0000h to 3FFFh
    Rom 5 is C000h to CFFFh
    and the ram has been moved from 0800h-0FFFh to F800h to FFFFh

    So in theory is should just be a matter of changing a few things in the prom to get Berzerk to run however not sure if I want to wasn't another precious 82s123 which is why I want to play around with GAL's
    You could try a fast eprom in place of the prom trav, that way you can experiment all you like without having to worry about wasting proms or programming GALs

  6. #6
    Join Date
    Oct 2005
    State
    Redlands
    Posts
    19,430
    Mentioned
    172 Post(s)
    Quoted
    2030 Post(s)

    Yeah I'll probably set one up on the breadboard and connect it that way.

  7. #7
    Join Date
    Jul 2006
    State
    Adelaide
    Posts
    5,860
    Mentioned
    65 Post(s)
    Quoted
    363 Post(s)
    I have no idea about electronics of this nature, but sure enjoy reading the details, and hearing of success.

    Thx

  8. #8
    Join Date
    Oct 2005
    State
    Redlands
    Posts
    19,430
    Mentioned
    172 Post(s)
    Quoted
    2030 Post(s)

    I wanted to verify this worked before posting it and it does so..
    Code:
    A0=A11 on Z80
    A1=A12
    A2=A13
    A3=A14
    A4=A15
    
    82s123 32x8 TTL Prom for Frenzy Memory Select.
    20k Rom using 5 2732's
    Address		 Prom Output.
    A0 A1 A2 A3 A4 : D0 D1 D2 D3 D4 D5 D6 D7 :HEX :Rom :Memory Location
    0  0  0  0  0  : 0  1  1  1  1  1  1  1 : FE : 1   :0000h-07FFh 
    1  0  0  0  0  : 0  1  1  1  1  1  1  1 : FE : 1   :0800h-0FFFh 
    0  1  0  0  0  : 1  0  1  1  1  1  1  1 : FD : 2   :1000h-17FFh 
    1  1  0  0  0  : 1  0  1  1  1  1  1  1 : FD : 2   :1800h-1FFFh 
    0  0  1  0  0  : 1  1  0  1  1  1  1  1 : FB : 3   :2000h-27FFh 
    1  0  1  0  0  : 1  1  0  1  1  1  1  1 : FB : 3   :2800h-2FFFh 
    0  1  1  0  0  : 1  1  1  0  1  1  1  1 : F7 : 4   :3000h-37FFh 
    1  1  1  0  0  : 1  1  1  0  1  1  1  1 : F7 : 4   :3800h-3FFFh 
    
    0  0  0  1  0  : 1  1  1  1  1  1  1  0 : 7F :     :4000h-47FFh
    1  0  0  1  0  : 1  1  1  1  1  1  1  0 : 7F :	   :4800h-4FFFh
    0  1  0  1  0  : 1  1  1  1  1  1  1  0 : 7F :     :5000h-57FFh
    1  1  0  1  0  : 1  1  1  1  1  1  1  0 : 7F :     :5800h-5FFFh
    0  0  1  1  0  : 1  1  1  1  1  1  1  0 : 7F :	   :6000h-67FFh
    1  0  1  1  0  : 1  1  1  1  1  1  1  0 : 7F :	   :6800h-6FFFh
    0  1  1  1  0  : 1  1  1  1  1  1  1  0 : 7F :	   :7000h-77FFh
    1  1  1  1  0  : 1  1  1  1  1  1  1  0 : 7F :     :7800h-7FFFh
    
    0  0  0  0  1  : 1  1  1  1  1  1  1  0 : 7F :     :8000h-87FFh
    1  0  0  0  1  : 1  1  1  1  1  1  1  0 : 7F :     :88FFh-8FFFh
    0  1  0  0  1  : 1  1  1  1  1  1  1  0 : 7F :     :9000h-97FFh
    1  1  0  0  1  : 1  1  1  1  1  1  1  0 : 7F :	   :9800h-9FFFh
    0  0  1  0  1  : 1  1  1  1  1  1  1  0 : 7F :     :A000h-A7FFh
    1  0  1  0  1  : 1  1  1  1  1  1  1  0 : 7F :     :A8FFh-AFFFh
    0  1  1  0  1  : 1  1  1  1  1  1  1  0 : 7F :	   :B000h-B7FFh
    1  1  1  0  1  : 1  1  1  1  1  1  1  0 : 7F :     :B800h-BFFFh
    
    0  0  0  1  1  : 1  1  1  1  0  1  1  1 : EF : 5   :C000h-C7FFh
    1  0  0  1  1  : 1  1  1  1  0  1  1  1 : EF : 5   :C8FFh-CFFFh
    0  1  0  1  1  : 1  1  1  1  1  0  1  1 : DF : 6   :D000h-D7FFh :Not used
    1  1  0  1  1  : 1  1  1  1  1  0  1  1 : DF : 6   :D800h-DFFFh :Not used
    0  0  1  1  1  : 1  1  1  1  1  1  1  0 : 7F :     :E000h-E7FFh
    1  0  1  1  1  : 1  1  1  1  1  1  1  0 : 7F :     :E800h-EFFFh
    0  1  1  1  1  : 1  1  1  1  1  1  1  0 : 7F :     :F000h-F7FFh
    1  1  1  1  1  : 1  1  1  1  1  1  0  1 : BF : Ram :F800h-FFFFh 2k Ram
    
    Berzerk 12k Rom Using 6 x 2716's
    Rom 0 0000h-07FFh - 2k
    Ram   0800h-0FFFh - 2k ram 
    Roms 1-6 2k banked to make 4k
    Rom 1 1000h-17FFh
    Rom 2 1800h-1FFFh
    
    Rom 3 2000h-27FFh
    Rom 4 2800h-2FFFh
    
    Rom 5 3000h-37FFh
    Rom 6 3800h-3FFFh
    A0 A1 A2 A3 A4 : D0 D1 D2 D3 D4 D5 D6 D7 :HEX :Rom :Memory Location
    0  0  0  0  0  : 0  1  1  1  1  1  1  1 : FE : 0   :0000h-07FFh
    1  0  0  0  0  : 1  1  1  1  1  1  0  1 : BF : Ram :0800h-0FFFh 2k Ram
    0  1  0  0  0  : 1  0  1  1  1  1  1  1 : FD : 1   :1000h
    1  1  0  0  0  : 1  0  1  1  1  1  1  1 : FD : 2   :1800h
    0  0  1  0  0  : 1  1  0  1  1  1  1  1 : FB : 3   :2000h
    1  0  1  0  0  : 1  1  0  1  1  1  1  1 : FB : 4   :2FFFh
    0  1  1  0  0  : 1  1  1  0  1  1  1  1 : F7 : 5   :3000h
    1  1  1  0  0  : 1  1  1  0  1  1  1  1 : F7 : 6   :3FFFh Not Used
    
    0  0  0  1  0  : 1  1  1  1  1  1  1  0 : 7F :     :4000h
    1  0  0  1  0  : 1  1  1  1  1  1  1  0 : 7F :
    0  1  0  1  0  : 1  1  1  1  1  1  1  0 : 7F :
    1  1  0  1  0  : 1  1  1  1  1  1  1  0 : 7F :
    0  0  1  1  0  : 1  1  1  1  1  1  1  0 : 7F :
    1  0  1  1  0  : 1  1  1  1  1  1  1  0 : 7F :
    0  1  1  1  0  : 1  1  1  1  1  1  1  0 : 7F :
    1  1  1  1  0  : 1  1  1  1  1  1  1  0 : 7F :     :7FFFh
    
    0  0  0  0  1  : 1  1  1  1  1  1  1  0 : 7F :     :8000h
    1  0  0  0  1  : 1  1  1  1  1  1  1  0 : 7F :
    0  1  0  0  1  : 1  1  1  1  1  1  1  0 : 7F :
    1  1  0  0  1  : 1  1  1  1  1  1  1  0 : 7F :
    0  0  1  0  1  : 1  1  1  1  1  1  1  0 : 7F :  
    1  0  1  0  1  : 1  1  1  1  1  1  1  0 : 7F :
    0  1  1  0  1  : 1  1  1  1  1  1  1  0 : 7F :
    1  1  1  0  1  : 1  1  1  1  1  1  1  0 : 7F :     :BFFFh
    
    0  0  0  1  1  : 1  1  1  1  0  1  1  1 : EF : 5   :C000h :Not Used
    1  0  0  1  1  : 1  1  1  1  0  1  1  1 : EF : 5   :CFFFh :Not Used
    0  1  0  1  1  : 1  1  1  1  1  0  1  1 : DF : 6   :D000h :Not used
    1  1  0  1  1  : 1  1  1  1  1  0  1  1 : DF : 6   :DFFFh :Not used
    0  0  1  1  1  : 1  1  1  1  1  1  1  0 : 7F :     :E000h
    1  0  1  1  1  : 1  1  1  1  1  1  1  0 : 7F :     :EFFFh
    0  1  1  1  1  : 1  1  1  1  1  1  1  0 : 7F :     :F000h
    1  1  1  1  1  : 1  1  1  1  1  1  1  0 : 7F :     :FFFFh
    Here's the truth table I came up with and the modifications needed to get Berzerk running on the modified hardware to run Frenzy.
    Basically the ram location needs to be adjusted.
    IMG_20190816_062446.jpg IMG_20190816_062517.jpg
    Burnt the modified rom to a 27C16 and used my breadboard to jumper it into the prom adapter.
    All the unused address lines are tied low, only A0-A4 used and D6 and D7 used for the I/O and Ram CE used. The individual data lines used as rom enables (CE) are not needed due to the single rom mod.
    As you can see worked great!

    So now we have both games running we can move forward to replacing the memory decoder prom with a GAL. The GAL will be used as a memory decoder and switch for both games and hopefully replace some logic on the Berzerk so I can design a board that slots into the Z80 socket and has an NVram to store both games high scores etc.

    Disclaimer.
    I've never done this before so laugh all you like
    Code:
    PartNo   00 ;
    Date     15/08/2019 ;
    Revision 01 ;
    Designer Arcade King ;
    Company  Aussie Arcade ;
    Assembly None ;
    Location  ;
    Device   G16V8 ;
    
    /* *************** INPUT PINS *********************/
    PIN [2..6] = [A15..A11]; /* Pins 1 to 5 A15 to A11 */ 
    
    /* *************** OUTPUT PINS *********************/
    PIN 12 = ROM1                        ; /*                                 */ 
    PIN 13 = ROM2                        ; /*                                 */ 
    PIN 14 = ROM3                        ; /*                                 */ 
    PIN 15 = ROM4                        ; /*                                 */ 
    PIN 16 = ROM5                        ; /*                                 */ 
    PIN 17 = ROM6                        ; /*                                 */ 
    PIN 18 = RAM                          ; /*                                 */ 
    PIN 19 = IO                             ; /*                                 */ 
    
    ROM1 = !A11 & !A12 & !A13 & !A14 & !A15 # A11 & !A12 & !A13 & !A14 & !A15 /* 0000h to 0FFFh */
    ROM2 = !A11 & A12 & !A13 & !A14 & !A15 # A11 & A12 & !A13 & !A14 & !A15; /* 10000h to 1FFFh */
    ROM3 = !A11 & !A12 & A13 & !A14 & !A15 # A11 & !A12 & A13 & !A14 & !A15; /* 2000h to 2FFFh */
    ROM4 = !A11 & A12 & A13 & !A14 & !A15 # A11 & A12 & A13 & !A14 & !A15; /* 3000h to 3FFFh */
    ROM5 = !A11 & !A12 & !A13 & A14 & A15 # A11 & !A12 & !A13 & A14 & A15; /* C000h to CFFFh */
    RAM = A11 & A12 & A13 & A14 & A15; /* F800h to FFFFh */
    Watching several YouTube videos and reading some doc's I pieced together enough info to program WinCUPL.
    What I wanted to do (baby steps) is to fist replicate the proms behavior in a GAL and to my surprise the above did(on the breadboard at least). I've left out the I/O for now because that's a lot of typing and I'm sure there's a quicker way to do it but for now this is what works for me.
    Now I'm fully aware I don't need the single rom chip enables using a single rom hack however as I said my first goal was to mimic the behavior of the prom in GAL. I'll be able to free up all those rom pins 12-17 for other purposes.

    Next step is to modify the GAL to switch between Berzerk and Frenzy.
    I don't want to be spoon fed I like working things out for myself however any suggestions to neaten up the code would be appreciated.

  9. #9
    Join Date
    Jan 2009
    State
    Luscombe, Brisbane
    Posts
    1,616
    Mentioned
    30 Post(s)
    Quoted
    204 Post(s)
    Too smart dude, too smart.

    Seriously, I take my hat off to you Trav, really is awesome to see you work this shit out. I'm impressed and envious of your ability to acquire knowledge so rapidly.
    Woody

  10. #10
    Join Date
    Oct 2005
    State
    Redlands
    Posts
    19,430
    Mentioned
    172 Post(s)
    Quoted
    2030 Post(s)

    Quote Originally Posted by Woody View Post
    Too smart dude, too smart.

    Seriously, I take my hat off to you Trav, really is awesome to see you work this shit out. I'm impressed and envious of your ability to acquire knowledge so rapidly.
    Thanks Woody however my mantra has always been if I can do it anybody can. I've always had learning difficulties and have to have a more hands on approach to things, It's a real struggle at times.
    Hope to catch up with you in the near future!

Page 1 of 3 123 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Mgl 12 game 6: Berzerk
    By Jed in forum MGL Tournament 12
    Replies: 38
    Last Post: 24th January 2011, 11:56 AM
  2. LAI Berzerk cabaret - in the US
    By tnpshow in forum Arcade
    Replies: 4
    Last Post: 4th August 2010, 04:48 PM
  3. MGL - T8 Game 10: Berzerk
    By Amy in forum MGL Tournament 8
    Replies: 11
    Last Post: 11th May 2009, 08:32 PM
  4. LAI Berzerk
    By Retro71 in forum Arcade
    Replies: 5
    Last Post: 24th March 2009, 07:58 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •