Non-SNES W65C816S Questions

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Non-SNES W65C816S Questions
by on (#117685)
I was dabbling around the idea of recreating my SNES flasher electronics to get rid of all the bloatware and use dedicated Microprocessor, I/O Expander, Transparent Latch, USB Controller, to better understand electronics and get away from the integrated bloatware of microcontrollers.

Granted, it's a more expensive approach, at least for a one-time attempt, not sure about mass producing.

So, as a call of duty, I assumed let's check out the 65816 as an honor or tribute to the SNES. Maybe I could also have my Flasher running on a 65816 :idea:

So I started checking the processor out. Boy did I get confused when I began reading about Phase clock signals. I think I may have found a circuit that is a solution. I'll post that circuit as an attachment. I'm not sure if I would need anything else other than the PI2 signal for my purposes. However, I am interested in reading how the other phases are used in a computing system.

Furthermore, I read somewhere (link TBA), that the way the phase clock works, and somehow relating to how traditional 65816 throws out the bank address on the data bus before actual data, that memory peripherals have to operate at twice the CPU Clock speed. Is that true?

Is a traditional 65816 (non-snes version), like the SNES with regards that the SNES one receives clock at 21.xx Mhz, although somehow operates at 2.xx 3.xx Mhz speeds? I know the currently available 65816 has a 14 Mhz MAX limit. What does that mean for actual operation speeds, or considerations for peripheral speeds.

Am I losing all performance in considering a 65816 for a SNES Cartridge flasher design? Could I still be able to flash a ROM considerably fast? Since I have no accurate assesment of clocking and operating speed of the 65816, I really cannot assess this without your help.

Thanks in all advance,
Re: Non-SNES W65C816S Questions
by on (#117688)
bazz wrote:
integrated bloatware of microcontrollers.


What do you mean exactly?

If you want to use the 65816 and pay tribute to the SNES, why not just use the 65816 that everyone has inside their SNES? There are a number of ways you can provide data input to the SNES to allow it to write to a flash cart itself. Controllers, expansion port, gamegenie style, etc.

Making a programmer using the 65816 as a microprocessor (outside of the SNES) to flash carts just seems silly, unless you're taking more of the 'do it because I can' attitude I suppose. But perhaps my misunderstanding is based on not knowing what you mean about bloatware of current day micro-controllers.

EDIT: to answer your question, the speed of your programmer has a lot more todo with your transfer mechanism. Meaning how you're getting you rom image to the CPU. The other big concern is your flash programming algorithm. The processor's clock speed really has negligible impact compared to those things. You could have the fastest CPU in the world but if you feed it the rom image uber-slow, a 1MHz CPU could still blow it out of the water. Basically you're focusing on the wrong aspect, your processor's speed is the last speed leg to consider.
Re: Non-SNES W65C816S Questions
by on (#117695)
infiniteneslives wrote:
bazz wrote:
integrated bloatware of microcontrollers.


What do you mean exactly?


I mean sometimes when I'm looking for a specific tailored function, I go, I see this micro-controller that can do what I want, about 10% of its on-chip properties is what I need, I end up not using 90% of its other functionalities. I'm at the point where I feel better creating a more dedicated system than something that needs to disable 80% of the system, also adds to my needless (debate-able) scrounging on how to handle all the systems I don't want anything to do with (disable analog comparators for instance).

Also, I am learning about these systems, and it was not until I learned more about creating my own system in a modular format outside a micro-controller (choose my own CPU, i/o peripheral), that I started to understand the charts in the micro controller datasheets that have the data bus, address bus and all the jazz integrated inside of it.

Furthermore, this all stemmed from the fact that I wanted a UART to be addressable to the SNES purely. Rather than deal with the complications of managing the internal micro controller data/address bus to interface with the external SNES bus, I learned it's far easier to mount a UART into the SNES address/data bus. That kind of stuff.

Quote:
If you want to use the 65816 and pay tribute to the SNES, why not just use the 65816 that everyone has inside their SNES? There are a number of ways you can provide data input to the SNES to allow it to write to a flash cart itself. Controllers, expansion port, gamegenie style, etc.

I am so, leaning away from this. Pain in the ass to necessitate my SNES be in arms length of my computer just to flash the ROM. Good idea though, otherwise.

Quote:
Making a programmer using the 65816 as a microprocessor (outside of the SNES) to flash carts just seems silly, unless you're taking more of the 'do it because I can' attitude I suppose. But perhaps my misunderstanding is based on not knowing what you mean about bloatware of current day micro-controllers.


You probably understand now how I feel towards the "Bloat" from my previous explanation. My desire to use a 65816 as a CPU stemmed mainly from my escape of the integrated micro controller setup to actually learn how those peripherals get connected in the first place. This natural love with 65816 SNES led me to use that processor as my first victim in understanding this.

Quote:
EDIT: to answer your question, the speed of your programmer has a lot more todo with your transfer mechanism. Meaning how you're getting you rom image to the CPU. The other big concern is your flash programming algorithm. The processor's clock speed really has negligible impact compared to those things. You could have the fastest CPU in the world but if you feed it the rom image uber-slow, a 1MHz CPU could still blow it out of the water. Basically you're focusing on the wrong aspect, your processor's speed is the last speed leg to consider.


I would love to hear more about the greatest speed legs to consider.
Re: Non-SNES W65C816S Questions
by on (#117699)
HDTVs have PC inputs. All HDTVs except early adopter CRT models have an HDMI input that takes an HDMI or DVI-D signal from a PC. And the majority that I've seen also have a VGA input that takes VGA or the analog signal from a DVI-I port. So you could plug both your home theater PC and your Super NES into the same HDTV and then use that PC for flashing. Worse comes to worst, Sewell Direct sells VGA to composite scan converters.
Re: Non-SNES W65C816S Questions
by on (#117713)
If you're looking to build a new microcomputer (i.e. without integrated peripherals) from scratch, it's a little harder to get some of the old cores. 8051s and Z80s are still very easy to encounter, but 68k, 8086, and 65816s are a little less widespread.

Also, while "learning how to EE" is a fantastically good reason, "don't like having unused peripherals" isn't: microcontrollers are cheaper with integrated peripherals because of economies of scale.
Re: Non-SNES W65C816S Questions
by on (#117715)
lidnariq wrote:
If you're looking to build a new microcomputer (i.e. without integrated peripherals) from scratch, it's a little harder to get some of the old cores. 8051s and Z80s are still very easy to encounter, but 68k, 8086, and 65816s are a little less widespread.

Also, while "learning how to EE" is a fantastically good reason, "don't like having unused peripherals" isn't: microcontrollers are cheaper with integrated peripherals because of economies of scale.


Actually, the 65816 and accompanying WDC peripheral IC's are readily available from Jameco.