Arcade System First Look!

Go To Last Post
18 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

Hello my fellow Freaks!

 

There's some final design work yet that needs to be done before I send the boards off for production but I wanted to show a first look at what the boards for my video game arcade system will look like!

I used the EagleCAD files and created some basic 3D designs to see how things would look. This image does not include the game controller.

 

 

You can see I've labeled each of the major ICs. What do you guys think?

My digital portfolio: www.jamisonjerving.com

My game company: www.polygonbyte.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Why so many chips? 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Kartman wrote:

Why so many chips? 


Frees up the main game CPU to do as little work as possible for audio and video and allows it to maximize the amount of free time for game logic, rendering effects, etc.

 

All of the unlabeled SOP chips on the larger board are logic transceivers for the VRAM addressing and video output. The one that's unlabeled on the cartridge board is just a level shifter for the Flash memory.

My digital portfolio: www.jamisonjerving.com

My game company: www.polygonbyte.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Naa.. Do it Atomic Zombie style with a Tiny45, 2 resistors and a safety pin

If you don't know my whole story, keep your mouth shut.

If you know my whole story, you're an accomplice. Keep your mouth shut. 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Is the CPU on the game card?

Bob. Engineer and trainee Rocket Scientist.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

That looks a lot like this one!

 

 

 

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

donotdespisethesnake wrote:
Is the CPU on the game card?
Isn't it the chip marked "System" above then? (though it's true that "Game" having more pins than "System" seems curious).

 

When we designed/sold a games console (GX4000 - anyone remember?) the "cartridges" were nothing more than an EEPROM (later masked ROMs) and an "unlock" chip to do with protection that meant others could not easily duplicate our cartridges. Everything else lived in the console itself (basically a CPC464+ in a small box).

 

EDIT: Hey I just read the Wikipedia page I linked to. I am officially famous!!

 

(I wasn't the designer though - wonder who made that mistake?)

 

EDIT2: OK so this is a fun new game. Search for references to your own name on Wikipedia. Sadly of the 9 pages that mention "Cliff Lawson" only 3 are really me.

Last Edited: Mon. Jan 9, 2017 - 02:45 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yes, I would expect game cartridge to be quite simple, unless the idea so to have an upgradeable "CPU card". It's a bit hard to tell just from the picture.

 

clawson wrote:
Isn't it the chip marked "System" above then? (though it's true that "Game" having more pins than "System" seems curious).

 

Judging by the package and placement of crystals, there appear to be 4 CPUs - Game, System, Audio, Video, although some could be FPGA I suppose.

Bob. Engineer and trainee Rocket Scientist.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

donotdespisethesnake wrote:
Is the CPU on the game card?

Yes, the game cartridge has it's own dedicated CPU.

 

clawson wrote:
When we designed/sold a games console (GX4000 - anyone remember?) the "cartridges" were nothing more than an EEPROM (later masked ROMs) and an "unlock" chip to do with protection that meant others could not easily duplicate our cartridges. Everything else lived in the console itself (basically a CPC464+ in a small box).

As you guys know since the ATmega chips do not execute code from ROMs, this was the reason I decided to put a CPU chip on the cartridge. It also has it's own dedicated external RAM (1 MB) and Flash memory (8 MB) for audio, graphics, levels, etc. The dedicated video chip on the system board handles the VGA video generation and renders the front buffer from one VRAM buffer while the game cartridge pumps sprites to the second VRAM buffer and signals the video system to flip the buffers (only a single clock cycle bit flip).

 

The system chip right now actually does not handle very much. The name is actually very inaccurate because I haven't really figured out what to call it. It handles system boot up (showing the custom launch screen, ala "S-E-G-A!" on the Genesis) and then passes control to the game cartridge CPU.

 

clawson wrote:
EDIT: Hey I just read the Wikipedia page I linked to. I am officially famous!! (I wasn't the designer though - wonder who made that mistake?)

That is so cool that you worked on that! Can you talk about what all you were involved with on the project?

My digital portfolio: www.jamisonjerving.com

My game company: www.polygonbyte.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

donotdespisethesnake wrote:
Yes, I would expect game cartridge to be quite simple, unless the idea so to have an upgradeable "CPU card". It's a bit hard to tell just from the picture.

The intent was originally to be able to have a beefier processor such as an ARM processor but that requires some extra care due to the lower voltage than the rest of the system. It can still happen but has not been a large focus as of late because I want to get things in production. I've spent a lot of time designing and prototyping all of the major pieces and it's time to put the pen down and finalize things.

 

donotdespisethesnake wrote:
Judging by the package and placement of crystals, there appear to be 4 CPUs - Game, System, Audio, Video, although some could be FPGA I suppose.

That is correct. No FPGAs on the board. The 3 main CPUs on the driver board are all ATmega644 and the larger CPU on the game cartridge is an ATmega6450.

My digital portfolio: www.jamisonjerving.com

My game company: www.polygonbyte.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

clawson wrote:
EDIT2: OK so this is a fun new game. Search for references to your own name on Wikipedia.

 

OK - I'll start: https://www.avrfreaks.net/forum/f...

 

 

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Jamison wrote:
As you guys know since the ATmega chips do not execute code from ROMs

 

Well you see, you may know it is ATMega, but since you didn't say, how could we have known? :)

 

I suppose ATMega is cheap enough to use as a Flash memory, but I guess most designers would put CPU on baseboard (one that supports external bus), so I would say the design choice is "unusual".

Bob. Engineer and trainee Rocket Scientist.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Jamison wrote:
That is so cool that you worked on that! Can you talk about what all you were involved with on the project?
I worked for Amstrad for 25 years and in that time I was heavily involved (at first anyway) in the CPC range of home computers. These were 4MHz Z80 based home computers running BASIC. The original models had 3 graphics modes but as they were generated by a plain 6845 video controller (fed by our own ASIC design) the pixel/colour resolution was not great. As the home computer market moved on from 8 bit to 16 bit and the likes of Atari ST and Amiga appeared we tried to play a bit of "catch up". So we came out with a new gate array design that took the 6845 functionality on-board and extended it to have higher dot/colour resolution and to provide hardware sprites (something that had already made the Commodore 64 a success). This allowed us to create CPC464+ and CPC6128+. As things like SNES were also taking off at that time we saw a potential market for a "console" machine and games cartridges so we took the guts of a CPC464+ and threw away most of it to leave just the basics interfacing to a simple game pad and with a UHF Tv output (our CPC computers previously came with their own monitors rather than using UHF for TV). That console was the GX4000 but as that (very fair I thought) Wikipedia article points out it was really a bit of a case of "too little, too late". ST, Amiga and then Archimedes (and we all know where that went!!) were just offering too much functionality for us to really compete at that stage.

 

While I had a hand in a lot of the software and wrote a lot of the acceptance and factory tests for all the new features it would not be true to say that I was the designer as that Wikipedia page suggests. I was just one of a team. The majority of the "clever stuff" was done by Steve Gane in hardware in fact - he designed the ASIC.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Cliff, thanks for the wonderful explanation! That's very cool! :)

 

donotdespisethesnake wrote:

Jamison wrote:
As you guys know since the ATmega chips do not execute code from ROMs

 

Well you see, you may know it is ATMega, but since you didn't say, how could we have known? :)

 

I suppose ATMega is cheap enough to use as a Flash memory, but I guess most designers would put CPU on baseboard (one that supports external bus), so I would say the design choice is "unusual".

Well, that's definitely a point! Haha

 

As for the Flash memory, the CPU is not acting as the Flash memory. It's got an external Serial 8 MB Flash memory chip. The Game CPU will load graphics or audio from the SPI and dump them into the RAM chip on the game cart which also has a direct data bus to the back buffer VRAM, making sprite/pixel plotting fairly fast.

 

Can this be better designed to simplify the game cartridge and move the CPU and RAM to the driver board? Absolutely. There's a couple reasons why I made the design decision to do it the way I am: It allows the games to be "upgradeable" in a way by allowing faster CPUs or more RAM or Flash memory, and the second is I am physically limited to 160mm by 100mm in the board size because I only own the personal edition of EagleCAD. Routing the main system board was already fairly tough in some areas even at that size. The professional edition being almost $800, I'm not at that point yet.

My digital portfolio: www.jamisonjerving.com

My game company: www.polygonbyte.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Jamison wrote:
I am physically limited to 160mm by 100mm in the board size because I only own the personal edition of EagleCAD. Routing the main system board was already fairly tough in some areas even at that size. The professional edition being almost $800

 

You wouldn't have that problem if you used KiCad, I would really recommend giving it a go on the next board you design. Sure, there is a bit of learning curve, but there are no limits.

Bob. Engineer and trainee Rocket Scientist.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

donotdespisethesnake wrote:
You wouldn't have that problem if you used KiCad, I would really recommend giving it a go on the next board you design. Sure, there is a bit of learning curve, but there are no limits.

Thanks for the recommendation. I will definitely give KiCad a shot on a new board design and see how I fair with it.

My digital portfolio: www.jamisonjerving.com

My game company: www.polygonbyte.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You need to put some of these babies on that thing:

Greg Muth

Portland, OR, US

Xplained/Pro/Mini Boards mostly

 

Make Xmega Great Again!

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Greg_Muth wrote:

You need to put some of these babies on that thing: