Skip to content

Category: Quickdev16

Dev Cart Block Diagramm

These two pictures show the different functional blocks of the prototype design. On the top side you have the MCU and next to it the connector for In-System-Programming and the MMC/SD daughter board. The yellow block marks the usb hardware for emulated software-usb on the mcu, the green block is the ram section. The orange block on top, right under the cart edge connector marks the bus transceivers to connect or disconnect the snes to the ram interface. The blue block overlays the transceiver for data access to the ram from the mcu side. The logic gates are for lo-/hiram switching and to disable write access to the ram section from the snes side.

On the bottom side you have a socket for the cic-lockout chip and the rest of the bus transceivers to connect or disconnect the snes. In the lower half you have shift registers to preset a certain adress to the adress counters. These counters are connected to the ram via bus transceivers, so you can access large memory with only a few io-pins on the mcu side. The red block is a demultiplexer to distribute the 22bit adresses to the 19 bit adresses of the ram ics.

Leave a Comment

The Eagle has landed – Assembled and powered up

Finally assembled and the pcb powers up. So iam posting a few more details photos.
The boards powers up and the FTDI can be accessed via usb. So tomorrow i gonna meet with max and we will port the old firmware from the mega16 to the mega644. Tomorrow we might have simple usb based uploader working.

Leave a Comment

The Eagle has landed

This monday morning the long awaited first prototype PCB arrived from pcb-pool. We had a little UPS problem on friday, so we had to wait till monday to get the PCB. Max just started to solder all the chips, looking forward to get a working usb uploader firmware running till the next weekend.

I think the PCB looks really good and iam looking forward to power it up soon…

1 Comment

The PCB is coming down

Got an mail from pcb-pool.de, our PCB is nearly done and will arrive this week. So the first prototype will be assembled over the weekend. Keep fingers crossed that everything is working as planed.

Quick Featuers list

  • ATMega 644
  • Software USB
  • FTDI USB Debug port
  • 4MB SRAM
  • LO/HI Rom Switch
  • SD Card Daughter Board
  • AVR Cart IRQ Trigger
  • AVR WR sniffer

Things not happping with this version

  • Save Game support by design
  • DSP Support
Leave a Comment

Snes SDK Toolchain

Yesterday i learnt from Lint that there is a new Snes toolchain coming down. The Project can be found herehttp://code.google.com/p/snes-sdk/. Right now i have it running under linux. Just working on a patch for os x. Thumbs up to Ulrich Hecht for his work on this project.

Features:

  • WLA DX Assembler Backend
  • 816-tcc C Compiler
  • 816-opt ASM Source Code optimizer
  • crt0_snes Startup code in asm
  • libc.asm Tiny libc in asm

Project layout

david@slap:[~/Devel/arch...h/snes/snes-sdk]$ ls -l
total 40
drwxr-xr-x  2 david david  4096 2009-04-27 13:52 bin/
drwxr-xr-x  3 david david  4096 2009-04-27 14:04 libs/
-rw-r--r--  1 david david  1387 2009-04-27 13:59 Makefile
drwxr-xr-x 11 david david  4096 2009-04-27 14:01 snes9x/
drwxr-xr-x  3 david david  4096 2009-04-28 09:29 snesc/
drwxr-xr-x  7 david david  4096 2009-04-27 14:14 tcc-65816/
-rw-r--r--  1 david david 11304 2009-04-27 13:24 TODO
drwxr-xr-x 16 david david  4096 2009-04-27 13:59 wla_dx/

Libc

-rw-r--r-- 1 david david  7946 2009-04-27 13:23 crt0_snes.asm
-rw-r--r-- 1 david david  6096 2009-04-27 13:59 crt0_snes.obj
-rw-r--r-- 1 david david  1755 2009-04-27 14:04 hdr.asm
-rw-r--r-- 1 david david  7108 2009-04-27 13:23 libc.asm
-rw-r--r-- 1 david david 12160 2009-04-27 13:59 libc.obj
-rw-r--r-- 1 david david 11087 2009-04-27 13:23 libm.asm
-rw-r--r-- 1 david david 14670 2009-04-27 13:59 libm.obj
-rw-r--r-- 1 david david  6051 2009-04-27 13:23 libtcc.asm
-rw-r--r-- 1 david david 10101 2009-04-27 13:59 libtcc.obj
-rw-r--r-- 1 david david   132 2009-04-27 13:46 Makefile
drwxr-xr-x 6 david david  4096 2009-04-27 13:24 .svn/

Compile run of the demo game

rm -f snesc.smc snesc.sym data.obj graph_asm.obj str.obj 
snesc.obj input.obj init.obj graph.obj *.s
/home/david/Devel/arch/snes/devkit/bin/wla-65816 -io data.asm data.obj
/home/david/Devel/arch/snes/devkit/bin/wla-65816 -io graph_asm.asm graph_asm.obj
/home/david/Devel/arch/snes/devkit/bin/wla-65816 -io str.asm str.obj
/home/david/Devel/arch/snes/devkit/bin/816-tcc -I. -o snesc.s.pre -c snesc.c
/home/david/Devel/arch/snes/devkit/bin/816-opt snesc.s.pre > snesc.s
optimization pass 1: 411 optimizations performed
optimization pass 2: 204 optimizations performed
optimization pass 3: 1 optimizations performed
optimization pass 4: 0 optimizations performed
616 optimizations performed in total
rm snesc.s.pre
/home/david/Devel/arch/snes/devkit/bin/wla-65816 -io snesc.s snesc.obj
/home/david/Devel/arch/snes/devkit/bin/816-tcc -I. -o input.s.pre -c input.c
/home/david/Devel/arch/snes/devkit/bin/816-opt input.s.pre > input.s
optimization pass 1: 5 optimizations performed
optimization pass 2: 2 optimizations performed
optimization pass 3: 0 optimizations performed
7 optimizations performed in total
rm input.s.pre
/home/david/Devel/arch/snes/devkit/bin/wla-65816 -io input.s input.obj
/home/david/Devel/arch/snes/devkit/bin/816-tcc -I. -o init.s.pre -c init.c
/home/david/Devel/arch/snes/devkit/bin/816-opt init.s.pre > init.s
optimization pass 1: 74 optimizations performed
optimization pass 2: 29 optimizations performed
optimization pass 3: 0 optimizations performed
103 optimizations performed in total
rm init.s.pre
/home/david/Devel/arch/snes/devkit/bin/wla-65816 -io init.s init.obj
/home/david/Devel/arch/snes/devkit/bin/816-tcc -I. -o graph.s.pre -c graph.c
/home/david/Devel/arch/snes/devkit/bin/816-opt graph.s.pre > graph.s
optimization pass 1: 7 optimizations performed
optimization pass 2: 4 optimizations performed
optimization pass 3: 0 optimizations performed
11 optimizations performed in total
rm graph.s.pre
/home/david/Devel/arch/snes/devkit/bin/wla-65816 -io graph.s graph.obj
/home/david/Devel/arch/snes/devkit/bin/wlalink -dvSo data.obj graph_asm.obj 
str.obj snesc.obj input.obj init.obj graph.obj snesc.smc
DISCARD: /home/david/Devel/arch/snes/devkit/lib/libc.obj:libc.asm: 
Section ".libc_misc" was discarded.
DISCARD: /home/david/Devel/arch/snes/devkit/lib/libc.obj:libc.asm: 
Section ".libc_cstd" was discarded.
Free space at $6833-$7fb1.
Free space at $7fb6-$7fbf.
Free space at $7fe0-$7fe3.
Free space at $7ff0-$7ff3.
Free space at $8000-$3ffff.
Bank 00 has 06033 bytes (18.41%) free.
Bank 01 has 32768 bytes (100.0%) free.
Bank 02 has 32768 bytes (100.0%) free.
Bank 03 has 32768 bytes (100.0%) free.
Bank 04 has 32768 bytes (100.0%) free.
Bank 05 has 32768 bytes (100.0%) free.
Bank 06 has 32768 bytes (100.0%) free.
Bank 07 has 32768 bytes (100.0%) free.
235409 unused bytes of total 262144.
../../tool/bsnes/bsnes snesc.smc || xset r on
SNES SDK running a demo game
SNES SDK running a demo game
1 Comment