Neon6502 - Compact Replica of Acolyte

For discussing the 65xx hardware itself or electronics projects.
sburrow
Posts: 833
Joined: 09 Oct 2021
Location: Texas

Neon6502 - Compact Replica of Acolyte

Post by sburrow »

Hello everyone!

Here I am, back in 6502 land for a bit. And its fun :) Introducing the Work-In-Progress "Neon6502" project. (Thank you HansO for pointing out the need for a name change.)

https://github.com/stevenchadburrow/Neon6502

The 6502 runs at 3.14 MHz, capable of 320x240 VGA with 4-colors, and 8x built-in buttons. No VIA, no UART, no audio, no keyboard, no external memory, nothing fancy at all. Going for a very minimalist design using only 74' logic chips and the Flash ROM to produce VGA (as usual for me). It is similar to my previous 6502 projects, such as this one: viewtopic.php?f=4&t=7096, or even this one: https://github.com/stevenchadburrow/AcolyteCompute. Apparently I was making new revisions to these so fast back in the day that I get confused about which came first or second now.

I plan on programming Tetris and Space Invaders for it, just standard games that I've already done before back in the day. As of now I already wrote a simulator for it, so I can start coding right away. I was getting back into 6502 assembly a bit this afternoon, and that is also very fun! It feels like home. I'll soon hit 'print' on the PCB once auto-router is done and I check everything a million times. Hoping for a bodge-less board, especially since I'm using SMT chips. I'll be giving full results in the next few weeks.

However, this is only a temporary project. I'm currently waiting on a new PIC32 microcontroller to be launched in a more hobbyist-friendly package, which was promised to me in Q4 of 2025. That's right now! So I'm just waiting for the day the chips arrive at the Mouser warehouse essentially. Then I go back to doing other projects. Until then, 6502 land it is. This place really was the spring-board that launched me to do other things. And although 6502 land might be slower MHz, it certainly isn't less complex. It is challenging, just in different ways. And I love the challenge! :)

Thank you everyone! Good to be back, even for a little bit.

Chad
Attachments
Neon6502-Schematics.pdf
(224.65 KiB) Downloaded 66 times
Neon6502-PCB.png
Neon6502-Mandelbrot.png
Last edited by sburrow on Sat Nov 08, 2025 11:42 am, edited 2 times in total.
User avatar
HansO
Posts: 206
Joined: 31 Oct 2003

Re: Neo6502 - Compact Replica of Acolyte

Post by HansO »

Not the best name tbh.

Neo6502 is the name of a succesfull Olimex product.

https://neo6502.com/
GlennSmith
Posts: 162
Joined: 26 Dec 2002
Location: Occitanie, France

Re: Neon6502 - Compact Replica of Acolyte

Post by GlennSmith »

Welcome back ! Even if it's for a short while. I've always loved following your latest projects; even if they tend to leave me breathless - they all develop so fast !
Thanks for this latest update.
Glenn-in-France
gfoot
Posts: 871
Joined: 09 Jul 2021

Re: Neon6502 - Compact Replica of Acolyte

Post by gfoot »

It's good to see you back Chad! I'd be interested to hear what these "other projects" are of course! I think you said in the past you were using projects to help with education, is that still the case?

I've always liked the orange/blue palette, I used it at one point too and it's a very pleasing yet simple way to get two distinct but not garish colours that "add up" to white.

I'll look forward to hearing how things go when your hardware arrives.
User avatar
BigEd
Posts: 11463
Joined: 11 Dec 2008
Location: England
Contact:

Re: Neon6502 - Compact Replica of Acolyte

Post by BigEd »

Mandelbrot looks very good! Nice project.
barnacle
Posts: 1831
Joined: 19 Jan 2004
Location: Potsdam, DE
Contact:

Re: Neon6502 - Compact Replica of Acolyte

Post by barnacle »

HansO wrote:
Not the best name tbh.

Neo6502 is the name of a succesfull Olimex product.

https://neo6502.com/
Waitaminnit! Did the title of this thread just change? :mrgreen:

Neil
sburrow
Posts: 833
Joined: 09 Oct 2021
Location: Texas

Re: Neo6502 - Compact Replica of Acolyte

Post by sburrow »

Thanks for the replies everyone :)
HansO wrote:
Neo6502 is the name of a succesfull Olimex product.
And thank you again HansO. Yep, I should have done a quick search before naming everything. I actually like "Neon" better anyways because whenever I was typing "Neo" I always wanted to type "New".
GlennSmith wrote:
they all develop so fast !
Thank you. Because you mentioned this, I decided to do a little personal history research on myself and my projects. Starting from literally zero in Oct '21 until now I have certainly seen a LOT of projects come and go. I think my personal milestones are when I learn new techniques like bodge wires or how to use a scope. It also seems if I consider anything a 'masterpiece' then it will either not work or it will disappoint me somehow. Thank you for spurring me to research myself! My project timeline is in the README on the GitHub page for Neon6502 in case anyone is interested.
gfoot wrote:
I'd be interested to hear what these "other projects" are of course!
I put new ones on GitHub often. At this point I'm a pretty dedicated PIC32 person. I tried the Raspberry Pi and was severely disappointed in the lack of control I had. And though PIC32 gives me most control, 6502 gives me ALL control ;) There are only a very few projects I don't put on GitHub, and I was considering not putting this one on there honestly. Glad I did though.
gfoot wrote:
I think you said in the past you were using projects to help with education, is that still the case?
At this point it is only my own personal education. There are a lot of kits out there, but I find there is little interest to do it my way. Most kits would include a Raspberry Pi or some such to deliver graphics and audio, or not utilize it at all and stick to UART. A perfect example is the Neo6502 from Olimex, using a RP2040 for everything besides the 6502 itself. Hm. If someone does want to be crazy like me and do things the hard way, I think they aught to learn the hard way and do it for themselves, much like you did George!
gfoot wrote:
I'll look forward to hearing how things go when your hardware arrives.
I just hit 'buy' from JLCPCB and Mouser. We'll see in a week! Thank you for being an early inspiration, George.
BigEd wrote:
Mandelbrot looks very good! Nice project.
Thank you Ed. It was pre-generated, then converted into hex code. And I suppose it doesn't have copyright, haha :)
barnacle wrote:
Waitaminnit! Did the title of this thread just change? :mrgreen:
Just when you think you thought of everything, the darned name gets you! Arg... :)

Thank you everyone. I'll be around!

Chad
User avatar
BigDumbDinosaur
Posts: 9425
Joined: 28 May 2009
Location: Midwestern USA (JB Pritzker’s dystopia)
Contact:

Re: Neo6502 - Compact Replica of Acolyte

Post by BigDumbDinosaur »

sburrow wrote:
At this point I'm a pretty dedicated PIC32 person.

Shame, shame!  :D

Quote:
I tried the Raspberry Pi and was severely disappointed in the lack of control I had. And though PIC32 gives me most control, 6502 gives me ALL control ;)

That is why I never got into µcontrollers.  I want detailed control.
x86?  We ain't got no x86.  We don't NEED no stinking x86!
sburrow
Posts: 833
Joined: 09 Oct 2021
Location: Texas

Re: Neo6502 - Compact Replica of Acolyte

Post by sburrow »

BigDumbDinosaur wrote:
That is why I never got into µcontrollers. I want detailed control.
Honestly I found that I *had* a lot of control over the earlier PICs. With the PIC16, PIC18, and even the PIC24 I could tell you how many cycles each assembly instruction would give you, how many cycles an interrupt took, etc. But the PIC32 has none of that unfortunately. At this point I have to rely on timers and DMA to do what I need to do. Though, that is enough for what I do :)

Thanks BDD. Thank you for your guidance throughout my years here. I look up to you a lot.

Chad
sburrow
Posts: 833
Joined: 09 Oct 2021
Location: Texas

Re: Neon6502 - Compact Replica of Acolyte

Post by sburrow »

Hahaha... haha... ha... hmmm...

Whelp, I got the boards in this evening, and I soldered everything together. Some footprints were wrong, some chips packages were wrong, but I was able to bend the pins and get them in the right places.

And it... kind of works? Let me be concise: My logic requires the W65C02 to drive PHI1 (inverted output) and PHI2 (noninverted output). It is only doing this while I hold it in reset! WHA?! It almost feels like I'm turning PHI1 and PHI2 off in software somehow, but how the heck is that possible? By the way, I get a stable video signal when I hold it in reset, so everything else is fine.

You might say, "Chad, why the heck are you using those signals? The datasheet says... " Yes I know what it says, but all of my previous builds relied on it and each of them worked fine. So what gives now suddenly? I could replace that with a little dead-bug single-gate logic thingy, but really I want to know why the W65C02 is not doing what it should/could be doing.

Here is my code, in case I'm totally missing something, it just loads an image from ROM into RAM, nothing fancy:

Code: Select all

	.65C02

video .EQU $0800

	.ORG $8000
reset
	SEI
	LDA #$AD ; LDAa
	STA $00
	LDA #<image
	STA $01
	LDA #>image
	STA $02
	LDA #$8D ; STAa
	STA $03
	LDA #<video
	STA $04
	LDA #>video
	STA $05
	LDA #$60 ; RTS
	STA $06

loop1
	JSR $0000
	INC $01
	LDA $01
	BNE next1
	INC $02
next1
	INC $04
	LDA $04
	SBC #$4F
	BNE loop1

	LDA #$80
	STA $04

loop2
	JSR $0000
	INC $01
	LDA $01
	BNE next2
	INC $02
next2
	INC $04
	LDA $04
	SBC #$CF
	BNE loop2

	LDA #$00
	STA $04
	INC $05
	LDA $05
	BNE loop1

inf
	CLC
	BCC inf	

nmi
	RTI

irq
	RTI

; image and reset/interrupt vectors below, etc
Any ideas?

Thank you everyone!

Chad
Attachments
Neon6502-Soldered.jpg
leepivonka
Posts: 167
Joined: 15 Apr 2016

Re: Neon6502 - Compact Replica of Acolyte

Post by leepivonka »

How does phase 0 (clock input) of the 6502 look like when the clock outputs are not switching?
How do signals around the 74HC161 that generates PHI2 look?
My guess is an inadvertently disconnected CMOS input around the clock generator circuitry.
User avatar
BigDumbDinosaur
Posts: 9425
Joined: 28 May 2009
Location: Midwestern USA (JB Pritzker’s dystopia)
Contact:

Re: Neon6502 - Compact Replica of Acolyte

Post by BigDumbDinosaur »

Seeing a schematic might be useful.
x86?  We ain't got no x86.  We don't NEED no stinking x86!
sburrow
Posts: 833
Joined: 09 Oct 2021
Location: Texas

Re: Neon6502 - Compact Replica of Acolyte

Post by sburrow »

leepivonka wrote:
How does phase 0 (clock input) of the 6502 look like when the clock outputs are not switching?
How do signals around the 74HC161 that generates PHI2 look?
My guess is an inadvertently disconnected CMOS input around the clock generator circuitry.
PHI0 (PHI2 input) looks the same all the time, very consistent, very beautiful 3.14 MHz square wave. I don't see a lot of ringing either. I've looked at the other clock signals that it's divided down from and those look good too.
BigDumbDinosaur wrote:
Seeing a schematic might be useful.
See attached! :)

Small updates:

I believe my code is not running at all. My code copies ROM to RAM pretty quickly, and I see no sign of that happening at all. I've put the scope to the address and data lines, and everything looks consistent there, I don't see any mixups or contention. The video signal is not what I expected, I'm getting different colors and almost blurriness? Also, sometimes I get a full-screen of randomness from RAM, and sometimes I get a flickering half-screen of randomness from RAM. So something else is going on, but my main question right now is:

Why is PHI1-out and PHI2-out not working after reset???

That's what I got for now. Thank you!

Chad
Attachments
HalfScreen.jpg
FullScreen.jpg
Neon6502-Schematics.pdf
(224.65 KiB) Downloaded 47 times
sburrow
Posts: 833
Joined: 09 Oct 2021
Location: Texas

Re: Neon6502 - Compact Replica of Acolyte

Post by sburrow »

Two more things that just came up. First:

viewtopic.php?t=7352&view=next

Years ago I was playing around with PHI1, and it seemed to work, but y'all cautioned me to not use them anyways. Funny how full-circle these things are.

Second:

http://www.6502.org/tutorials/65c02opcodes.html
Quote:
STP - STop the Processor

Flags affected: none

OP LEN CYC MODE FLAGS SYNTAX
-- --- --- ---- ------ ------
DB 1 3 imp ........ STP

STP stops the clock input of the 65C02, effectively shutting down the 65C02 until a hardware reset occurs (i.e. the RES pin goes low). This puts the 65C02 into a low power state. This is useful for applications (circuits) that require low power consumption, but STP is rarely seen otherwise.
If the STP command stops the clock input, then PHI1-out and PHI2-out would definitely stop working too, right? I mean, that makes some sense at least.

EDIT: I looked at the scope and I still see address lines doing their thing even when PHI1-out and PHI2-out have stopped. So it doesn't appear to be a STP command?

So my guess right now is that it's not reading my code for some reason, it found a STP command somewhere, and then it shuts itself down. I think I'll try some experiments with the 'scope, however I need to go to work in a few minutes. I'll keep y'all updated, thank you.

Chad
User avatar
BigEd
Posts: 11463
Joined: 11 Dec 2008
Location: England
Contact:

Re: Neon6502 - Compact Replica of Acolyte

Post by BigEd »

Are you absolutely sure of the pinout, both for the circuit and for your probing? It makes no sense to me that the clock is stopped but the address lines are still changing. Something is afoot!
Post Reply