How to add resistors on board to increase brightness for LCD usage- http://seanriddle.com/wsfbrightness.html
—-Background info directly from James/JROK——
If you don’t know what this is… here’s the original project page http://jrok.com/hardware/wsf/ and the now very long original thread:http://forums.arcade-museum.com/showthread.php?t=61572
The current supported game list is: Defender, Defender White ROM, Stargate, Joust,
Robotron, Bubbles, Splat, Blaster, Sinistar, Sinistar AMOA. The boards are in
stock, the price is $195 + shipping. Insured shipping one board in the US
usually runs $8. Please PM to reserve and board and for payment
If you need an JAMMA to original harness adapter please PM
wldfire as he’s making adapters to plug into a stock williams cabinet
See this thread http://forums.arcade-museum.com/showthread.php?t=253810
latest version of the setup guide is available online at:
of the other pages:
Benchmarking the board to compare to an original
to JAMMA base wiring diagram
The JROK board can be modified for similar games or other Defender Rom versions, if you have the technical capacity to burn roms. This is not a novice process.
per James/JROK http://www.jrok.com
Regarding swapping the white label Defender with Green-
With your EPROM programmer set to 27C801 and read in the ROM from the board. Then load the defender green ROMs at the following offsets. Burn this to a blank EPROM and you’re good to go.
I’ve used the ROM names from mame v0.145
ROM name Loading Offset ————
per Sean Riddle:
The EPROM on JROK’s WSF board can be broken up into 16 64K blocks. The menu and most of the games take up 1 block, Blaster takes up 4, and the last 2 are empty. The order is Menu, Defender, Stargate, Robotron, Joust, Bubbles, Splat, Sinistar, Blaster, Blaster, Blaster, Blaster, Defender WR, Sinistar AMOA, empty, empty. For example with Robotron replacement, to read the original EPROM, overwrite the 4th block with the Robotron Tie-Die romset image and program another EPROM with the new file.
If you’ve got an EPROM programmer, you can read the EPROM and look through it
with a hex-editor (I like WinHex). The names in the Menu are in plain text, so
you can edit them easily. You also have to edit a byte that contains the
horizontal position if you want them centered.
James gave instructions on
replacing the White Defender image with Green. The same concept works for the
other games, with a couple of caveats. The hardware isn’t runtime configurable,
so you have to replace games with like games; you can’t replace a Defender ROM
image with Sinistar, since the actual game hardware (memory bank switching,
controls, etc) is different. Also, the sounds are created with a separate
processor, and you don’t have (easy) access to those. You can replace Defender
with Mayday, since they run on essentially the same hardware. You could also
replace Joust with the old “pterodactyl cheat” version. Note that after you
replace a game with another, the quick boot probably won’t work, and you’ll have
to see the boot diagnostic screen (rug RAM test on most games). That’s because
James jumps to the right memory location to skip the diagnostics in quick boot
mode, but that location is different for each game.
The 6809 CPU used in
these games has a 64K address space, so the 1MB 27C080 EPROM on JROK’s board is
broken up into 16 64K groups. Each game takes up one 64K slot except Blaster,
which takes up 4. The last 2 slots are empty.
The actual games use
several EPROMs of 2 or 4 KB. James was nice and combined those in the same order
as shown in the MAME source code. You have to use filler for the unused areas
(12K for most games, 36K for MayDay) to put everything in the right
In the MAME source code, the file \src\mame\drivers\williams.c http://mamedev.org/source/src/mame/d…lliams.c.html has a
section labelled ROM definitions. Look for ROM_START(defender) and the ROM_LOAD
lines below that. Those lines tell the ROM image file name, the address it’s
loaded into memory, the length of the file, and the CRC/SHA of the
You can use the DOS COPY command to combine the individual files
into one large one:
The plus signs tell copy to concatenate the files, and the
/b switch tells copy to use binary mode. The 36kff.bin file is a 36KB file
filled with FFs. You can create it with a hex editor. That space won’t get used,
so you can put anything there, but an erased EPROM is all FFs, and many EPROM
programmers are smart enough to skip those areas to save time.
resulting file needs to be patched in order to get it to run on Defender
hardware. That same MAME source file has some info about Mayday’s protection
scheme. I got it to work by patching addresses $0753-0754 from 2603 to 2108, and
addresses EEC5-EEC6 from 3502 to 2116.
Finally, you need to take the
original JROK EPROM file and replace one of the Defender images with the patched
Mayday image. The games are arranged in the following order: menu, Defender,
Stargate, Robotron, Joust, Bubbles, Splat, Sinistar, Blaster1, Blaster2,
Blaster3, Blaster4, Defender White, Sinistar AMOA, empty, empty. So to replace
Defender White with Mayday, take the first 768K of the original file, then
append the Mayday 64K file, then append the last 192K of the original
The method to run Mayday on a real Defender game is similar, except
that Defender has nine 2K EPROMs and two 4K EPROMs. Mayday uses seven 4K EPROMs,
so you have to split 5 of them in half: the top half of Mayday ROM 4 goes into
Defender socket 9 and the bottom half into Defender socket 12. MD 5 goes into
Def 8 and 11, MD 6 goes into Def 7 and 10, MD 7 goes into Def 6 and 5, MD 3 goes
into Def 1 and 4, MD 2 goes into Def 2 and MD 3 goes into Def 1.
Feb 2015 Info regarding the JROK rom update for Robotron Tie-Die:
JROK Multi-Williams FPGA ROM UPDATE
- DOWNLOAD image courtesy of WindDrake on KLOV
- Should work on any JROK WSF 1.x Board.
- This was made from the last revision of the WSF 1.x ROM (AFAIK), 1.11.
- You can write it to any standard 8Mbit EPROM. 27C801, 27C080, etc. Must be 100ns or faster.
Per James (Feb 2015)-
- Correct order is….
- Menu @$000000
- Defender (red) @$010000
- stargate @ $020000
- Robotron @$030000
- joust @ $040000
- bubbles @ $050000
- splat @$060000
- sinistar @$070000 ( Note: $7D000-$7E000 is also blank )
- blaster @$080000 -> $0B0000
- sinistar (AMOA) $0C0000 ( Note: $CD000-$CE000 is also blank )
- Defender(white ) $0D0000
CLICK to return to the Defender Technical page