Felix

Super Glob (sprglbpg)

11 posts in this topic

Super Glob sort of works, but has slight graphics glitches.

MAME Set : sprglbpg

Anyone have any idea?

This is the same problem that I am seeing on Jumpshot, JumpshotP and Pac-Plus.

I thought it may be a dipswitch problem, but i don't have the /dev environment

set up to test.

:: Arcade Blaster XML Entries for Super Glob ::


<!-- wip has slight graphics glitches -->
<game name="Super Glob (German Bootleg)" id="sprglbpg">
<hardware>pacman</hardware>
<category>maze</category>
<publisher>Midway Mfg Co</publisher>
<year>1980</year>
<description>Super Glob (German Bootleg)</description>
<fileset primary="true">
<group name="maincpu" size="4000">
<rom file="ic8.1" offset="0" size="1000" crc="a2df2073" sha1="14c55186053b080de06cc3691111ede8b2ead231" />
<rom file="ic7.2" offset="1000" size="1000" crc="3d2c22d9" sha1="2f1d27e49850f904d1f2256bfcf00557ed88bb16" />
<rom file="ic15.3" offset="2000" size="1000" crc="a252047f" sha1="9fadbb098b86ee98e1a81da938316b833fc26912" />
<rom file="ic14.4" offset="3000" size="1000" crc="7efa81f1" sha1="583999280623f02dcc318a6c7af5ee6fc46144b8" />
</group>
<group name="gfx1" size="2000">
<rom file="ic92.5" offset="0" size="1000" crc="E54F484D" sha1="4FEB9EC917C2467A5AC531283CB00FE308BE7775" />
</group>
<group name="82s1261m" size="100">
<rom file="ic51.prm" offset="0" size="100" crc="c29dea27" sha1="563c9770028fe39188e62630711589d6ed242a66" />
</group>
<group name="82s1263m" size="100">
<rom file="ic70.prm" offset="100" size="100" crc="77245b66" sha1="0c4d0bee858b97632411c440bea6948a74759746" />
</group>
<group name="82s1237f" size="20">
<rom file="ic78.prm" offset="0" size="20" crc="1f617527" sha1="448845cab63800a05fcb106897503d994377f78f" />
</group>
<group name="82s1264a" size="100">
<rom file="ic88.prm" offset="20" size="100" crc="28faa769" sha1="7588889f3102d4e0ca7918f536556209b2490ea1" />
</group>
</fileset>
<!-- Uses groups as input and creates intermediate mem files by name specified in file atribute-->
<generate src="82s1261m" file="prom1_dst" parameters="entity=PROM1_DST;addrbits=9" />
<generate src="82s1264a" file="prom4_dst" parameters="entity=PROM4_DST;addrbits=8" />
<generate src="82s1237f" file="prom7_dst" parameters="entity=PROM7_DST;addrbits=4" />
<generate src="gfx1" file="gfx1" parameters="entity=GFX1;addrbits=13" />
<generate src="maincpu" file="rom0" parameters="entity=ROM_PGM_0;addrbits=14" />
<generate src="gfx1" file="rom1" parameters="entity=ROM_PGM_1;addrbits=13" />
<!-- Uses output of (file attribute) from generate tag. Sequence is important! -->
<assembly name="pacman_merged">
<piece file="prom1_dst" tag="rom_audio1m" />
<piece file="prom4_dst" tag="rom_col4a" />
<piece file="prom7_dst" tag="rom_col7f" />
<piece file="gfx1" tag="rom_gfx1" />
<piece file="rom0" tag="rom_code" />
<!--piece file="rom1" tag="rom_wiz" /-->
</assembly>
</game>

Share this post


Link to post
Share on other sites

Hmmm,

Yeah, it could be dip switches or the reset button, or joystick buttons. I'll have to take a look and see if it reminds me of anything I saw while trying to get everything to work in the beginning.

Share this post


Link to post
Share on other sites

The place I've noticed that is in Pacman during the cutscene. It doesn't appear to happen anywhere else in the game. For what it's worth, I ported the original code from fpgaarcade.com to my Spartan3E starter kit and the problem does not occur, so it's something specific to the Papilio implementation. Does it occur on the Papilio Pro as well?

 

I figured there would be speed issues in attempting to use a serial EEPROM but I wasn't sure about the actual numbers. My thought with using a parallel flash, given sufficient IO, is that one could use it only to store the program ROMs or whatever is the largest ROM memory block. This eliminates the speed issues caused by trying to double dip into the same ROM to use it for different parts of the circuit. That way you still use some of the BRAM, but you offload some of the ROM to an external chip, saving enough space to allow bigger games to run. I like that better than using a gigantic FPGA just to get enough BRAMs.

Share this post


Link to post
Share on other sites

*nod*

 

its very noticeable on "Pac-Man Plus" and "Jumpshot"

 

I am not sure if it occurs on the ppro as i haven't updated my scripts to work with the latest and greatest on jack's github.

Share this post


Link to post
Share on other sites

What is the script to make the jumpshot roms? I cant make that game start with the pacmam driver....

I fixed some games gliches removing the clk and ena signals in the prom roms... If you say me how to run junpshot in the pacman driver i can try to fix gliches too. 

 

Share this post


Link to post
Share on other sites

i used my romvault papilio edition to do it.

but it wont work on base pacman driver because either the address lines or the data lines are swapped in the jumpshot cpu.

easiest way is to get RV Papilio Edition

and modify the xml file hashes for the roms for jumpshot and replace your hardware file (or add a new type) in the same xml file

OR

try to figure out how my pscript (between the <papilio> tags works from the xml file and run the command line manually

https://github.com/FelixV/ROMVault-PapilioEdition/tree/master/ROMVault2

https://github.com/FelixV/ROMVault-PapilioEdition/tree/master/ROMVault2/Stage/papilio/patches/Arcade

the version on the gadgetfactory download and gadgetfactory github site of romvault-papilio edition still uses a separate romgen (modified) which is able to read the ini files from the patches/Arcade/ directory

so you can go that route

no time to dig into it further at the moment, but if you cant figure it out, let me know and i see what i can do.

 

 

 

 

Share this post


Link to post
Share on other sites

At last i will make it work.

First you need to uncompres the mame set jumpshot.zip or jumpshotp and extract in in ./roms/jumpshot or roms/jumpshotp directory

Then execute the ./scripts/build_roms_jumpshot.bat or build_roms_jumpshotp.bat and créate the files in the ./build dir.

Then edit the pacman_video.vhd and go to line 316 and comment the clk and ena lines (This modification fixes the gliches of super blob too, remaking the PROM4_DST.VHD and PROM7_DST.VHD with the "c" token instead the "r l e" one...)

  col_rom_4a : entity work.PROM4_DST
    port map (
      --CLK         => CLK,
      --ENA         => ENA_6, 
      ADDR        => col_rom_addr,
      DATA        => lut_4a
      );

make the same in the 424 line

  col_rom_7f : entity work.PROM7_DST
    port map (
      --CLK         => CLK,
      --ENA         => ENA_6, 
      ADDR        => final_col,
      DATA        => lut_7f
      );
 

edit pacman.vhd and go to he end to set the controls you like.

 p_input_registers : process
  begin
    wait until rising_edge(clk);
    if (ena_6 = '1') then
  -- on is low
      in0_reg(7) <= '1';                   -- ?
      in0_reg(6) <= '1';       -- coin2   
      in0_reg(5) <= button_debounced(8);  -- coin1  
      in0_reg(4) <= '1';                     -- ?Reset
      in0_reg(3) <= button_debounced(1);   -- p1 down
      in0_reg(2) <= button_debounced(3);   -- p1 right
      in0_reg(1) <= button_debounced(2);   -- p1 left
      in0_reg(0) <= button_debounced(0);   -- p1 up
      in1_reg(7) <= '1';                     -- ? Table 1=Up / 0=Coskctail
      in1_reg(6) <= button_debounced(7) and button_debounced(13);  -- start2 y fire p2
      in1_reg(5) <= button_debounced(6) and button_debounced(4);   -- start1 y fire p1
      in1_reg(4) <= '1';          -- Board Test
      in1_reg(3) <= button_debounced(10);  -- p2 down
      in1_reg(2) <= button_debounced(12);  -- p2 right
      in1_reg(1) <= button_debounced(11);  -- p2 left
      in1_reg(0) <= button_debounced(9);   -- p2 up  
      -- on is 1
      freeze <= '0';
      dipsw_reg(7) <= '1'; -- ?
      dipsw_reg(6) <= '1'; -- ?
      dipsw_reg(5) <= '0'; -- 1 Credit 1 Play (0)
      dipsw_reg(4) <= '1'; -- Free Play (0)
  dipsw_reg(3) <= '1'; -- ?
  dipsw_reg(2) <= '1'; -- VGA hz? con 0 la VGA se ve mal.
  dipsw_reg(1 downto 0) <= "11"; -- Play Duration 01=2:30 11=2:00 / 10=1:30 / 00=1:00

    end if;
  end process;

Resintetize.... and play.

If someone need help i will make my best. I dont have a papillo but have the same fpga.

 

 

jumpshot.7z

Share this post


Link to post
Share on other sites

thanks :)

will see if i can get @vlait or  @Jack Gassett to regenerate the base hardware with those changes and will modify RV to use the new file,

and maybe make a base hardware file for superglob that has all 3 buttons mapped somewhere,

as i dont have the ISE installed anymore

 

do me a favor and don't distribute the romgen version without linking back and a note that its "as is" meaning

i am not maintaining that fork as it does exactly what i needed it to.   i sent the changes to the original author but 

he didn't see fit to add them into his main branch.

 

i am glad you got it working.  it was driving me crazy.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now