hi everyone..
a short preface ...
for years I've been interested in console programming. Poked around
here and there on different platforms sometimes I didn't go much
further than just some silly text scrolly and sometimes i spent some more
time. The SNES however remains close to my heart hehe ;--)
Now while I can get along on the software side of things I just suck
with hardware and electronics. Nevertheless I've always wanted to
build my own snes devcart. Apparently a lot of people have gained
a lot of knowledge and understanding on this topic and I was hoping
to pick your guys brains for a bit on this matter ..
Warning : This posting could get pretty long :)
What I wish for ..
... is a snes flash cart that allows for quick test cycles and ..
1. does NOT use the parallel port but serial or ethernet or..
2. allows for communication with the PC at runtime (small overhead)
3. lets me reset the SNES from the PC
What I don't care about ..
1. I don't care about commercial game compatibility
2. It doesn't have to be massive in ROM size (no need for 64mbit)
3. I don't really care if it is LoROM or HiROM
My limited perspective ...
So as I said before I am not into hardware/electronics stuff, still
I am hoping to get a somewhat clearer understanding of how
a hardware solution with the aims I laid out above would/should be
approached/implemented.
First things first.. downloaded code needs to be stored somewhere.
So instead of the ROMs used on SNES carts one needs to use
EEPROMs. Furthermore I assume these have to be pin-compatible
in order to remain compatible to the snes addressing logic - right? OK.
As I understand it various such EEPROMs are available which are
suited for this.
So the code will be stored on and run from those EEPROMs but it
needs to get there somehow. As I mentioned in my wish list I really
want to stay away from using a parallel-port. Nowadays computers
just don't come with 'em anymore and especially my laptop which I
use most of the time lacks one. I would not mind serial because
serial<->USB adapters work just fine. (Considering that nowadays
there are chips doing all the TCP-mambo-jumbo in hardware for you
I wouldn't mind ethernet either... ;])
Through my job i've gathered some experience in programming
AVR micro-controllers from ATMEL. So I thought one of those 8bit
AVRs would be just fine to handle communication with the PC side
and writing of EEPROM data. Does that make any sense ?
So the dev-cart would have a serial port which is connected to the PC
and the on-board UART of the AVR. The AVR is connected to the
EEPROM -- I don't know how the EEPROMs in question would
be accessed from an AVR. Certainly not as comfortable as accessing
some i2C-interfacable-EEPROM but I am sure it can be managed (?).
Now as for communication between SNES and PC at runtime.. That's
somewhat beyond me. I think I'd have to fiddle with the snes memory
addressing scheme and map some memory area to .. say pins
on my AVR. How exactly would this be achieved? I have no idea...
Someone please enlighten me!
Being able to reset the SNES from PC prett much falls under the same
category and is just a matter of connecting an output pin of the AVR
to the RES signal of the cart I assume.
So that's it for now. It would be very nice to get some feedback
and help. Maybe there are others that are interested in building
a dev cart but don't quite know how. Maybe they could profit from
this thread as well. I wish there was something like "Everything
you always wanted to know about building a snes dev cart but
where afraid to ask" .. or "snes dev cart building for dummies" :)
thanks for reading this far..
-gilligan
a short preface ...
for years I've been interested in console programming. Poked around
here and there on different platforms sometimes I didn't go much
further than just some silly text scrolly and sometimes i spent some more
time. The SNES however remains close to my heart hehe ;--)
Now while I can get along on the software side of things I just suck
with hardware and electronics. Nevertheless I've always wanted to
build my own snes devcart. Apparently a lot of people have gained
a lot of knowledge and understanding on this topic and I was hoping
to pick your guys brains for a bit on this matter ..
Warning : This posting could get pretty long :)
What I wish for ..
... is a snes flash cart that allows for quick test cycles and ..
1. does NOT use the parallel port but serial or ethernet or..
2. allows for communication with the PC at runtime (small overhead)
3. lets me reset the SNES from the PC
What I don't care about ..
1. I don't care about commercial game compatibility
2. It doesn't have to be massive in ROM size (no need for 64mbit)
3. I don't really care if it is LoROM or HiROM
My limited perspective ...
So as I said before I am not into hardware/electronics stuff, still
I am hoping to get a somewhat clearer understanding of how
a hardware solution with the aims I laid out above would/should be
approached/implemented.
First things first.. downloaded code needs to be stored somewhere.
So instead of the ROMs used on SNES carts one needs to use
EEPROMs. Furthermore I assume these have to be pin-compatible
in order to remain compatible to the snes addressing logic - right? OK.
As I understand it various such EEPROMs are available which are
suited for this.
So the code will be stored on and run from those EEPROMs but it
needs to get there somehow. As I mentioned in my wish list I really
want to stay away from using a parallel-port. Nowadays computers
just don't come with 'em anymore and especially my laptop which I
use most of the time lacks one. I would not mind serial because
serial<->USB adapters work just fine. (Considering that nowadays
there are chips doing all the TCP-mambo-jumbo in hardware for you
I wouldn't mind ethernet either... ;])
Through my job i've gathered some experience in programming
AVR micro-controllers from ATMEL. So I thought one of those 8bit
AVRs would be just fine to handle communication with the PC side
and writing of EEPROM data. Does that make any sense ?
So the dev-cart would have a serial port which is connected to the PC
and the on-board UART of the AVR. The AVR is connected to the
EEPROM -- I don't know how the EEPROMs in question would
be accessed from an AVR. Certainly not as comfortable as accessing
some i2C-interfacable-EEPROM but I am sure it can be managed (?).
Now as for communication between SNES and PC at runtime.. That's
somewhat beyond me. I think I'd have to fiddle with the snes memory
addressing scheme and map some memory area to .. say pins
on my AVR. How exactly would this be achieved? I have no idea...
Someone please enlighten me!
Being able to reset the SNES from PC prett much falls under the same
category and is just a matter of connecting an output pin of the AVR
to the RES signal of the cart I assume.
So that's it for now. It would be very nice to get some feedback
and help. Maybe there are others that are interested in building
a dev cart but don't quite know how. Maybe they could profit from
this thread as well. I wish there was something like "Everything
you always wanted to know about building a snes dev cart but
where afraid to ask" .. or "snes dev cart building for dummies" :)
thanks for reading this far..
-gilligan