6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Fri Nov 22, 2024 3:15 pm

All times are UTC




Post new topic Reply to topic  [ 23 posts ]  Go to page 1, 2  Next
Author Message
PostPosted: Wed Aug 18, 2021 1:51 am 
Offline
User avatar

Joined: Wed Aug 18, 2021 1:35 am
Posts: 72
Location: South Australia
Hi all,

I'm fairly new to the 6502 (and this group). Got interested in it following the CX16 project. Then got started in 6502 Assembly writing a couple of games for it.

I've previously built a Ben Eater inspired breadboard CPU and got it to the point I could run Snake on a 16x2 character LCD, but was still very limited. I decided to tackle my first PCB-based hardware project and have always wanted to do a backplane, so I did (both).

Designed and ordered a custom backplane and a bunch of custom proto-cards for it, then got to work building out the cards.

So far, I've built 6 cards:

  • 6502 CPU
  • Triple-mode clock
  • RAM/ROM (32KB of each)
  • LCD card (supports standard character LCDs and Graphics LCDs)
  • TMS9918A based video card
  • Dual AY-3-8910 sound card

I also have a NES controller board (currently on a breadboard). Enough hardware to start a simple game, so started work on an Invaders clone (6502 assembly).

Image

The 6502 is currently running at 4MHz. Seems fine. I haven't tried to go faster yet.

I have all the code and most of the schematics on github.

Created a project on Hackaday.

I do plan on creating a few more YT videos on the project (going into more detail) over the coming months.

Cheers
Troy

Here's what the backplane and custom cards look like:

Image

Image

_________________
Cheers
Troy

[My introduction]


Last edited by visrealm on Thu Aug 19, 2021 8:20 am, edited 2 times in total.

Top
 Profile  
Reply with quote  
PostPosted: Wed Aug 18, 2021 8:22 am 
Offline
User avatar

Joined: Wed Feb 14, 2018 2:33 pm
Posts: 1488
Location: Scotland
Brilliant! :-)

(But when will the invaders start to fire back ... ;-)

-Gordon

_________________
--
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/


Top
 Profile  
Reply with quote  
PostPosted: Wed Aug 18, 2021 8:33 am 
Offline
User avatar

Joined: Wed Aug 18, 2021 1:35 am
Posts: 72
Location: South Australia
drogon wrote:
Brilliant! :-)

(But when will the invaders start to fire back ... ;-)

-Gordon


Thanks!

Soon. :)

There are a few more changes to make. I also plan on supporting pixel-level collisions (currently tile-level). The invaders are just text glyphs since the TMS9918A doesn't support more than 4 sprites on a scanline, so I can't use the hardware sprites or hardware sprite collision detection. The ship and its bullets are sprites. Everything else is "text".

_________________
Cheers
Troy

[My introduction]


Top
 Profile  
Reply with quote  
PostPosted: Wed Aug 18, 2021 12:32 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10985
Location: England
Welcome, Troy - very impressive!


Top
 Profile  
Reply with quote  
PostPosted: Wed Aug 18, 2021 11:49 pm 
Offline
User avatar

Joined: Wed Aug 18, 2021 1:35 am
Posts: 72
Location: South Australia
Thanks, BigEd.

_________________
Cheers
Troy

[My introduction]


Top
 Profile  
Reply with quote  
PostPosted: Thu Aug 19, 2021 5:58 am 
Offline
User avatar

Joined: Sun Jun 30, 2013 10:26 pm
Posts: 1949
Location: Sacramento, CA, USA
You should know that the key to a good score in Invaders is to quickly get them trimmed down to a tight 3 X 3 group then hang around shooting flying saucers for as long as possible before finishing the group off at the last moment. :D

_________________
Got a kilobyte lying fallow in your 65xx's memory map? Sprinkle some VTL02C on it and see how it grows on you!

Mike B. (about me) (learning how to github)


Top
 Profile  
Reply with quote  
PostPosted: Thu Aug 19, 2021 6:39 am 
Offline
User avatar

Joined: Wed Aug 18, 2021 1:35 am
Posts: 72
Location: South Australia
barrym95838 wrote:
You should know that the key to a good score in Invaders is to quickly get them trimmed down to a tight 3 X 3 group then hang around shooting flying saucers for as long as possible before finishing the group off at the last moment. :D


Thanks for the tips, Mike.

First I need to add flying saucers. And invaders that shoot back. :)

_________________
Cheers
Troy

[My introduction]


Top
 Profile  
Reply with quote  
PostPosted: Thu Aug 19, 2021 4:43 pm 
Offline

Joined: Fri Apr 06, 2018 4:20 pm
Posts: 94
Did you have to do any tricks to get the TMS9918 to keep up with the 6502? Historically folks have had problems going over 2mhz with the TMS9918 as it cannot always keep up.


Top
 Profile  
Reply with quote  
PostPosted: Thu Aug 19, 2021 10:42 pm 
Offline
User avatar

Joined: Wed Aug 18, 2021 1:35 am
Posts: 72
Location: South Australia
rpiguy2 wrote:
Did you have to do any tricks to get the TMS9918 to keep up with the 6502? Historically folks have had problems going over 2mhz with the TMS9918 as it cannot always keep up.


I do have a "tmsWait" subroutine I call after each read/write. It's just a handful of NOPs. I haven't really tested how few NOPs I can get away with or if some operations require more than others.

Other than that, it seems to work fine.

_________________
Cheers
Troy

[My introduction]


Top
 Profile  
Reply with quote  
PostPosted: Sun Nov 28, 2021 12:22 am 
Offline

Joined: Wed Jan 08, 2014 3:31 pm
Posts: 578
Neat project!


Top
 Profile  
Reply with quote  
PostPosted: Sun Nov 28, 2021 12:48 pm 
Offline
User avatar

Joined: Sat Jul 24, 2021 1:37 pm
Posts: 282
Excited to see this project grow

_________________
BB816 Computer YouTube series


Top
 Profile  
Reply with quote  
PostPosted: Mon Nov 29, 2021 12:27 pm 
Offline
User avatar

Joined: Wed Aug 18, 2021 1:35 am
Posts: 72
Location: South Australia
akohlbecker wrote:
Excited to see this project grow


Thanks! As luck would have it, I've just added a keyboard to it using a PIC MCU. My first time playing with a PIC, using pic-as.

https://www.youtube.com/watch?v=D6upr-1-uuE&t=7s

Expect more changes soon :)

_________________
Cheers
Troy

[My introduction]


Top
 Profile  
Reply with quote  
PostPosted: Fri Jan 14, 2022 10:01 pm 
Offline

Joined: Tue Jan 11, 2022 5:56 pm
Posts: 17
Very cool, nice work! I've noticed that for every person who says "don't run the busses off the board!" there is a working project like this :)


Top
 Profile  
Reply with quote  
PostPosted: Sat Jan 15, 2022 12:27 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8505
Location: Midwestern USA
Greg816v2 wrote:
Very cool, nice work! I've noticed that for every person who says "don't run the busses off the board!" there is a working project like this :)

Running the buses off the board is okay as long as you understand the potential booby-traps that may be encountered. Depending on clock speed and other factors, signal slew and/or transmission line effects can sabotage timing and render the unit DOA. For a first build, it's better to keep the buses on the board. If the buses are to be extended off-board use of transceivers to drive to peripherals may be necessary to maintain stability.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Sat Jan 15, 2022 8:23 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10985
Location: England
Greg816v2 wrote:
Very cool, nice work! I've noticed that for every person who says "don't run the busses off the board!" there is a working project like this :)

Quite so! Actions speaking louder than words.

There's room, of course, for good advice, when a project is struggling, and in those conversations we can learn about debugging techniques and about specific electrical or timing problems.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 23 posts ]  Go to page 1, 2  Next

All times are UTC


Who is online

Users browsing this forum: Google [Bot] and 20 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: