It is currently Mon Nov 20, 2017 2:43 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 20 posts ]  Go to page 1, 2  Next
Author Message
PostPosted: Sun Mar 31, 2013 12:42 pm 
Offline
User avatar

Joined: Sun Mar 19, 2006 3:06 am
Posts: 584
Location: Gothenburg/Sweden
I was annoyed, even since the 80's that I was not able to save my tracks on "Excitebike". Obviously the cartridge doesn't have SRAM and that explains that, but I've read somewhere that Excitebike was designed to work with some other kind of additional hardware (some kind of taperecorder a'la C64?) for saving/loading of tracks.
Would be interesting to know the facts concerning this matter. Anyone knows and actually tried it?
I've done some quick debugging and the game is obviously messing around with $4016 during saving. I can't recall I've ever seen an emulator support Excitebike-saves...(?)

_________________
http://nes.goondocks.se/


Top
 Profile  
 
PostPosted: Sun Mar 31, 2013 12:55 pm 
Offline
User avatar

Joined: Mon Sep 27, 2004 8:33 am
Posts: 3715
Location: Central Texas, USA
I'm guessing it uses some of the additional latched outputs on $4016 to generate the audio that's recorded to cassette.


Top
 Profile  
 
PostPosted: Sun Mar 31, 2013 2:28 pm 
Offline
User avatar

Joined: Sun Jan 02, 2011 11:50 am
Posts: 522
I would guess the easiest way to get it working in an emulator (or with the powerpak) would be to add SRAM and intercept the $4016 writes.


Top
 Profile  
 
PostPosted: Sun Mar 31, 2013 2:53 pm 
Offline
User avatar

Joined: Mon Sep 27, 2004 8:33 am
Posts: 3715
Location: Central Texas, USA
What would the SRAM store?


Top
 Profile  
 
PostPosted: Sun Mar 31, 2013 3:11 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6446
Location: UK (temporarily)
I remember some emulator actually supports the Family BASIC data recorder. I forget which.
Also:
http://wiki.nesdev.com/w/index.php/Fami ... a_Recorder
and
http://nesdev.com/tapedrv.PNG


Top
 Profile  
 
PostPosted: Sun Mar 31, 2013 3:29 pm 
Offline
User avatar

Joined: Mon Feb 07, 2011 12:46 pm
Posts: 932
lidnariq wrote:
I remember some emulator actually supports the Family BASIC data recorder. I forget which.
I think VirtuaNES does support it.

_________________
.


Top
 Profile  
 
PostPosted: Sun Mar 31, 2013 4:03 pm 
Offline
User avatar

Joined: Sun Jan 02, 2011 11:50 am
Posts: 522
blargg wrote:
What would the SRAM store?

I meant battery backed WRAM. Change the STA $4016 to JMP writeBitToRam


Top
 Profile  
 
PostPosted: Sun Mar 31, 2013 4:10 pm 
Offline
User avatar

Joined: Mon Sep 27, 2004 8:33 am
Posts: 3715
Location: Central Texas, USA
There's going to be a lot of bits, given the encoding scheme. You'd also need a timebase since the delay between writes is critical (without that you'd likely just see 0 1 0 1 0 1).


Top
 Profile  
 
PostPosted: Sun Mar 31, 2013 4:39 pm 
Offline
User avatar

Joined: Sun Jan 02, 2011 11:50 am
Posts: 522
The point was made here that intercepting the normal routine would only allow one save, and it would be better to write a new one with a menu for multiple saves. (And you would avoid all the tape protocol overhead.)


Top
 Profile  
 
PostPosted: Sun Mar 31, 2013 7:22 pm 
Offline
Site Admin
User avatar

Joined: Mon Sep 20, 2004 6:04 am
Posts: 3484
Location: Indianapolis
Here is a mod to get the tape drive audio I/O on the NES, sent in by sepi.

edit: Just noticed lidnariq already linked to this, n/m. :)


Attachments:
tapedrv.PNG
tapedrv.PNG [ 16.82 KiB | Viewed 2940 times ]
Top
 Profile  
 
PostPosted: Sun Mar 31, 2013 11:37 pm 
Offline

Joined: Mon Sep 27, 2004 2:57 pm
Posts: 1248
I remember poking around the load/save routines on Excitebike. If I recall correctly, the bits are encoded with frequency modulation. As in, a "1" bit is /¯\_/¯\_/, and a "0" bit is /¯¯¯\___/. (Or was it the other way around?)

So yes, it was indeed designed for a casette recorder, but we never got it in the US. :\


Top
 Profile  
 
PostPosted: Mon Apr 01, 2013 12:08 am 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6446
Location: UK (temporarily)
I don't suppose you happen to recall where in the ROM the code is? For curiosities' sake, I'm trying to collect which games use what protocol and record it in the wiki.


Top
 Profile  
 
PostPosted: Mon Apr 01, 2013 12:52 pm 
Offline
User avatar

Joined: Sun Mar 19, 2006 3:06 am
Posts: 584
Location: Gothenburg/Sweden
The saving/loading of Excitebike is pretty much a mess (for my eyes anyway) and it's very hard to debug in FCEUX since it doesn't emulate a taperecorder. Anyway, I've managed to create an SRAM patch instead. Available on my website..

_________________
http://nes.goondocks.se/


Top
 Profile  
 
PostPosted: Mon Apr 01, 2013 6:47 pm 
Offline
User avatar

Joined: Mon Sep 27, 2004 8:33 am
Posts: 3715
Location: Central Texas, USA
Surely there's some routine that SAVE calls. So patch that out to just copy the entire NES RAM, and have LOAD just reverse that. No need to only save/load what the game does, unless some things should be preserved (high score maybe?).


Top
 Profile  
 
PostPosted: Mon Apr 01, 2013 10:54 pm 
Offline

Joined: Sun Mar 19, 2006 9:44 pm
Posts: 919
Location: Japan
What I did during my investigations into Wrecking Crew & Castle Excellent was change the writes from $4016 to $4011 to record the saved signal as a WAV file in an emulator. Loading won't work, of course...

_________________
http://www.chrismcovell.com


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 20 posts ]  Go to page 1, 2  Next

All times are UTC - 7 hours


Who is online

Users browsing this forum: Majestic-12 [Bot] and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group