Posts

Connecting my homebrew GPU to Ben's 6502 computer

Image
  Last time  I had 'completed' my design for a supremely powerful GPU featuring a resolution of 400x300 with 256 beautiful colours - as I said at the end of that post, the next step would be to ditch the raspberry pi which was currently driving it, and attach it directly to  Ben's  6502 computer. The plan Since last time I left off with the latest GPU board bodged together with my old counter board, I needed to recreate it with the best of both worlds, as well as attach it to the computer. Rather than making a gigantic PCB like last time (or even bigger in order to fit all the counter logic on it!), I decided to make a "stack" of PCBs which would be connected by pin headers in order to pass the necessary shared connections between boards. A 3 board sandwich was what I landed on: bottom board handles the counting, scrolling, vsync & hsync, middle board handles the vram and gpu interface, and the top board is the 6502 computer. The 6502 computer First thing'...

BenEater Inspired GPU - Final Design

Image
The final specs For those of you who want to jump to the details of what it does, here is a summary of the final card Screen resolution: 400x300 Colours: 256 (RRRGGGBB) Tile memory: 256 tiles, 16x16 pixels per tile Map memory: 256x128 tiles (4096x2048 total pixels) Clock frequency: 20Mhz VGA mode: 800x600 @60hz Recap from last time Last time I had combined the counter board from my first post  with a new board responsible for colour output. The new board includes an interface for writing to memory, and also a new memory map. The new memory map contained 2 chips; a tile set and a tile map. The tile set defined an 8 bit colour for each pixel in each tile, and the map defines which tile appears in each "grid space". The GPU as I left it had enough memory to define a huge map of tiles, but since the screen only outputs 400x300, most of them are useless. The idea is to add hardware scrolling to allow us to "move" the viewport. Hardware scrolling design The hardware scro...

Upgrading my BenEater inspired video card

Image
 Making the card useful Last time  I wrote about my video card, which was mostly the same as the one BenEater  built in his excellent video series. Over the holiday break in 2020, I wrote a little Nintendo Gameboy emulator for fun. Now seeing how the Gameboy worked, I was amazed by was how much they could do graphically with such restrictive hardware limitations - and it got me thinking: could I apply some of the same principles to make my video card actually useful? The plan The main problems with the existing card lie with the memory. There isn't enough, and it isn't fast enough. Switching out the EEPROM for RAM would not only fix the black lines caused by slow access time, but would also allow me to go for a larger amount of memory, since parallel access EEPROM is only available (as far as I know) up to 32kb (256k-bit). I would also be able to eliminate the repetition on the y-axis, and increase the colour depth to 8 bit (256 colours), with next to no changes in the ov...