Williams WPC info needed

63 views
Skip to first unread message

Jan Christiaan van Winkel

unread,
Apr 29, 1995, 3:00:00 AM4/29/95
to

Hello Netters,

One of the things I like to do (next to playing pinball of course), is
disassembling pinball code.

I have the Rom of my Highspeed II (Getaway) and I have written a 6809
disassembler.

I order to be able to understand the machine itself, I have some questions.

1) Since the 6809 only has 16 address lines, it can only address 64KB.
However, with RAM up to 32KB and 512KB ROM, it *must* need bank-switching.
Getaway uses the Williams WPC CPU board.

In the schematic for the WPC CPU, I can see that from the big custom chip,
a couple of page select lines go to the ROM. What address does the CPU
have to trigger to change to what ROM pages? Same for RAM (if needed).

2) The big custom chip replaces a lot of standard logic for address decoding
and stuff like that. Does anyone know at what addresses the different
lamp/switch/flasher/solenoid drivers are at?


I have disassembled pinball ROMs before. Those (Williams F14 Tomcat and
Gottlieb/Premier BoneBusters) were easier to do because the addressing logic
in the schematic helped me understand the ROM code. Now however, I only
know *that* some addresses are for lamps, switches and so on, but not
*what* the exact addresses are, since I cannot look inside the big chip...

Thanks for any help!

Are there any other people as foolish as me as to try and disassemble pinbal
ROMs for fun?

JC
--
___ __ ____________________________________________________________________
|/ \ Jan Christiaan van Winkel Tel: +31 80 527252 j...@atcmp.nl
| AT Computing P.O. Box 1428 6501 BK Nijmegen The Netherlands
__/ \__/ __________ http://www.nl.net/~atcmp/staf/jc.gif ____________________

Jonathan N. Deitch

unread,
Apr 29, 1995, 3:00:00 AM4/29/95
to
j...@atcmp.nl (Jan Christiaan van Winkel) writes:


>1) Since the 6809 only has 16 address lines, it can only address 64KB.
> However, with RAM up to 32KB and 512KB ROM, it *must* need bank-switching.
> Getaway uses the Williams WPC CPU board.

The WPC uses address $3FFC to bank switch. Disassemble the ROM check code
(first thing it does upon powerup) and you'll see how it works.

Banked ROM is at $4000-$7FFF, system ROM (top 32k of the ROM) is at
$8000-$FFFF

>2) The big custom chip replaces a lot of standard logic for address decoding
> and stuff like that. Does anyone know at what addresses the different
> lamp/switch/flasher/solenoid drivers are at?

Nope. Believe me, I've been trying to figure it out ...

>Are there any other people as foolish as me as to try and disassemble pinbal
>ROMs for fun?

Oh yes ...

- Jonathan
--
mus...@gsusgi2.gsu.edu | "I Hate it when I can't trust | Atlanta 1996 !!
jde...@aol.com | my own technology!" - LaForge | Play Pinball !!
jde...@gisatl.fidonet.org |--------------------------------------------------
--------------------------- "Thrills! Chills! Magic! Prizes!" -- Hurricane

Gene Roddenberry, Isaac Asimov, Jim Henson, Dr. Seuss, Mel Blanc ... Sigh ...

Dirk Wriedt

unread,
May 3, 1995, 3:00:00 AM5/3/95
to
j...@atcmp.nl (Jan Christiaan van Winkel) writes:


>1) Since the 6809 only has 16 address lines, it can only address 64KB.
> However, with RAM up to 32KB and 512KB ROM, it *must* need bank-switching.
> Getaway uses the Williams WPC CPU board.

It seems to use 16k banks, as the ROM does only get 14 address lines
directly from the CPU.

>JC

Ciao
Dirk
--
Traum ist in der kleinsten Huette.

Bill Ung

unread,
May 5, 1995, 3:00:00 AM5/5/95
to
di...@sunnyki.toppoint.de (Dirk Wriedt) writes:
|
|j...@atcmp.nl (Jan Christiaan van Winkel) writes:
|
|
|>1) Since the 6809 only has 16 address lines, it can only address 64KB.
|> However, with RAM up to 32KB and 512KB ROM, it *must* need bank-switching.
|> Getaway uses the Williams WPC CPU board.
|
|It seems to use 16k banks, as the ROM does only get 14 address lines
|directly from the CPU.

I don't know THAT much about the WPC, but 16K banks sounds about
right, especially for the System 11x games. Every System 11 game
I've found has 32K on the first game ROM and 16K or less on the
second game ROM. In most cases, the second game ROM is a 27256
ROM (ie: 32K) that is simply a doubled 16K ROM. In other words,
the same 16K image is used in both halves of the ROM. The game
seems to read from the second half (this makes sense too since
the reset vector for the 6802/6808 is at $FFFE,$FFFF), which would
imply that $8000 - $BFFF is the switched 16K bank.

If Williams kept to this idea in the WPC system, then the main
system could still use $0000-$7FFF, $C000-$FFFF and continue to
use the $8000-$BFFF window for bank switching of the rest of the
game ROM(s) and sound ROMs. Just my speculation...

In case you're wondering, I've tested about 10 System 11x ROM sets
and only one failed to have 16K or less on the second ROM ... though
that may just be a bad ROM image too...

--
Bill Ung
u...@filenet.com
HIGH SPEED: "Dispatch this is 504, suspect got away."
EARTHSHAKER: "Ooohhh, bitchin!!"
WHITEWATER: "Dang, lost another one!"


Jonathan N. Deitch

unread,
May 6, 1995, 3:00:00 AM5/6/95
to
u...@filenet.com (Bill Ung) writes:

>The game seems to read from the second half (this makes sense too since
>the reset vector for the 6802/6808 is at $FFFE,$FFFF), which would
>imply that $8000 - $BFFF is the switched 16K bank.

Close ... System 11 has no bank switching, but puts the 16k image at
4000-7fff, and the 32k image at 8000-ffff.

WPC puts 32k of system ROM (the top two 16k pages of the ROM) at 8000-ffff.

The bank switch bank is at 4000-7fff and is 16k in length. The page itself
is selected by writing a byte to location $3FFC.

Reply all
Reply to author
Forward
0 new messages