April 22nd, 2009
Quite a long title that talk for itself …
It’s been now a few months that Scott is developing is snes devkit cart ( http://sneshack.blogspot.com/ ). He’s currently still playing with the hardware but since I’m willing to start coding the Bios for it I decided to modify bsnes to map a few memory registers that I might need for doing the SDCardReader code that will allow the snes to read the SD card and display the menu on the screen.
The registers are : status(r) $3100 ,data(r) $3103 and 2 for the offset(w) $3101 and $3102.
My code is based on a existing lib and if I continue at this rhythm i might have a basic demo going on by end of next week.
I keep you updated.
++ lint
Posted in Snes, Software dev | 2 Comments »
March 31st, 2009
This early morning I started to disassemble the original SPC.BIN that was in the demo released by memblers. It just happened that the faulty file was tasm07.tab. I just need to make 2 changes that I describe here :
BEFORE : ROR * 6C 3 NOP 1
AFTER : ROR !* 6C 3 NOP 1
Seems to be a typo …
BEFORE : MOV *,A C4 2 NOP 1
MOV !*,A C5 3 NOP 1
AFTER : MOV !*,A C5 3 NOP 1
MOV *,A C4 2 NOP 1
Look again like a typo, just need to swap to the lines…
So not really a big deal, but now I have a SPC source that compile correctly.
I did a bit of code cleanup yesterday and gave the new rom to Tomy and this time it seems to work. I will release a rom for everybody to test either this afternoon or tomorow morning.
++ Lint
Posted in Snes, Software dev | 2 Comments »
March 30th, 2009
On friday I finally got to make the NSF Replayer work. After various general code checking and made some minor corrections, the player wasn’t still working. From there the only thing that wasn’t checked was the SPC code itself (the only source that I got complete). I had then the idea to the SPC code directly from memblers code ( SNES NSF Player (32Mbit) ).
And … it worked totally fine. Then is various difference with the original SPC.BIN and the one I compiled. I will In a near future reverse the original SPC.BIN and rewrite the correct source code so it can be compiled by hand and can be used for any enhancement that might come one day.
My code is working right on most emu that handle the sound correctly. The Snes9x debug version is really awfull, but zsnes and bsnes are doing the job really fine.
Currently the code seems to not work on the SNES itself as reported Tomy from TOTOTEK. I have no real ideas on why the code isn’t working on the actual SNES for the moment. Tomy reported that he see nothing on the screen while running my proff of concept ROM. I need to assemble a new ROM to check on wich routine the SNES hang. I mainly have 3 functions : 2 init ones and 1 for playing the song that need to be called once per VBlank (not needed in VBlank).
I keep you all informed and will release full source as soon as it is working on the hardware.
See ya, Lint
Posted in Snes, Software dev | No Comments »
March 26th, 2009
Too long again without any post. I’m really sorry about this. Since I have buy our house in october my mind have been a bit somewhere else.
It’s been now 2 weeks that I’m working agin on the port and cleaning of the nsf player for the snes originally made by memblers. I have made good advancementlately and most of the code is stable now. Still got minor problems with the direct page register when comming back from nes code execution.
So at the moment no sound output yet but get me a couple of weeks and I’m sure everything will run smooth.I will try to keep you updated as soon as possible, and when project it’s I will release a packeged version of the source code so anyone will be able to use it.
See ya, Lint
Posted in Console, Snes, Software dev | No Comments »
February 4th, 2009
Every year since about 5 years now I attend the Fosdem. This year again there is no exception. So if you attend Fosdem and want to discuss about some Snes stuff, just let me a comment.
Last month I had a bit more than 1100 unique visitors for this blog. Thanks all for reading me.
++ Lint
Posted in PHP, Real life, Snes | No Comments »
January 28th, 2009
While reading the usual blogs and forums as every morning i just landed on Neviksti wiki. It mostly contains the usual docs. The most interesting part is the Schematic page, where you can find the Snes pcb schematics.
Enjoy,
++ Lint
Posted in Hardware hack, Snes, Software dev | No Comments »
January 26th, 2009
I got an email last week from someone that is deigning a Snes cart that will allow to load roms from an SD card.
Here is the blog abot the project : HACKING THE SUPER NINTENDO
The project is already well advanced and he’s talking about doing some USB communication to a PC possible. This will open the world of debugging on the real hardware too since the developper seems to be interested to integrate such facilities in the cart.
See ya, Lint
Posted in Hardware hack, Snes | 6 Comments »
January 21st, 2009
I just uploaded a Snes Basic Project to use with my Eclipse CDT tutorial. It’s mostly an empty project with a makefile and the basic to compile your code. In the main.c there is an example that setup the screen orange.
It’s been a few days that I’m configuring a SVN repository for my code. So to be sure to have the last version go check out : http://snesdev.antihero.org/svn/SNES_BaseProject/ . If any of you have project that he want to put on the SVN just post a comment and I will get in touch with you.This code repository is not only for SNES dev with a C compiler, I will also accept pure asm code.
See ya, Lint
Posted in Snes, Software dev | No Comments »
January 21st, 2009
Hi all … I have been working on various stuff lately. On of the thing I’m working on is speed optimisation. For doing that I decided to start to make inline assembler into my code. Take a sneak peek at what i’m doing :
#ifdef __C_MACROS__
#define v_20 #$20
#define v_80 #$80
#define VRAMByteWrite(value,vramdst) \
__VRAMByteWrite(value,vramdst,v_20,v_80)
#define __VRAMByteWrite(value,vramdst,v_20,v_80) asm { \
sep v_20; \
longa off; \
lda v_80; \
sta $2115; \
rep v_20; \
longa on; \
lda %%vramdst; \
sta $2116; \
sep v_20; \
longa off; \
lda %%value; \
sta $2118; \
rep v_20; \
longa on; \
}
#endif
This is an abstract of my new PPU.h include file. The usage of v_20 and v_80 is due to some limitation of the preprocessor comprared to what is possible with GCC by example. If you have an other syntax that work with WDC to include #$20 directly in the asm {} directive, shoot me a comment.
My 2k limit bug is still bugging me, the Eclipse howto might be finished this week since I’m almost done with the SNES_BaseProject. Something else is coming soon too.
++ Lint
Posted in Snes, Software dev | No Comments »
January 15th, 2009
And it’s totally bugging me …
My sprite control routine for the upcomming source release i finnaly got the 2k limit issue. The freesdk only allow you to compile object that are going to be less than 2k. And here my function alone is more than 2K so I need to refactor it. This will delay the source code release.
An other issue that I have been facing for a few week now was compiler warning about function that were not prototyped but they were. When you prototype a function with no arguments like :
void ennemyInit();
This will return a warning during compilation. The right syntax to use is :
void ennemyInit(void);
In parallel to the source release, I’m working on the Eclipse CDT Install tutorial. It’s still work in progress but should be finalized by next week.
See ya, Lint
Posted in Snes, Software dev | 2 Comments »