Writing on Disk with non FDS games

Started by Dan_Greene, July 25, 2019, 12:53:37 pm

Previous topic - Next topic

Dan_Greene

 ??? Is it possible to use write a normal Famicom or NES game onto a FDS disk? Is there someway to convert the file or do some coding wizardry. I've had a FC and FDS for years now but only recently bought a FDS Stick.
Anything helps !
Let's keep writin' disks !

P

No it's not trivial to make a game into an FDS game. It's a manual process.

Maybe you could make a tool that turns NROM games into one-sided disk games, but probably not for anything using a mapper.

Dan_Greene

Quote from: P on July 25, 2019, 02:55:26 pm
No it's not trivial to make a game into an FDS game. It's a manual process.

Maybe you could make a tool that turns NROM games into one-sided disk games, but probably not for anything using a mapper.


What would be an example of a game using a mapper, and where would I start with such a project, I'm genuinely interested in developing that.
Let's keep writin' disks !

P

The Famicom can handle up to 32 kB PRG-ROM (program and data) and 8 kB CHR-ROM (graphics). Anything needing more than that needs to use a mapper to "bank switch" in bigger ROM (or RAM) as needed. All the launch games like Donkey Kong, Popeye, Tennis and Mario Bros are all NROM games. Super Mario Bros is the biggest and most advanced NROM game. Other examples here.

Since an NROM game may fit on one side of an FDS disk, I thought it might be possible to automate the process of converting it. There is no such tool however and making it isn't trivial in itself.


As for getting into ROM hacking I suggest starting at ROMhacking.net, and for developing games from scratch Nesdev is your place. The Nesdev forum and wiki is a great source of information of how the Famicom works. Also I highly recommend the Nerdy Nights tutorials if you want to learn how to make a working Famicom ROM from scratch. That's where I started.

Dan_Greene

July 25, 2019, 07:28:00 pm #4 Last Edit: July 25, 2019, 07:38:11 pm by Dan_Greene
Thank you for that all those resources that I will absolutely do research on. However....

Quote from: P on July 25, 2019, 04:03:42 pm
Since an NROM game may fit on one side of an FDS disk, I thought it might be possible to automate the process of converting it. There is no such tool however and making it isn't trivial in itself.


My coding friend mentioned that without the source code of a game itself, it would be difficult to write the game into an .fds from a .nes and that since .fds uses a different architecture due to it being loaded from disk it would also prove difficult? I was more or less hoping to find a software I could just decompile an .nes so that I can rewrite the architecture and compile it as an .fds. I'm not very skilled at coding and I'm not certain what software I would use for putting together a game in .fds format.

Let's keep writin' disks !

P

Yes your friend probably isn't wrong. My naive thought though, is that it maybe could be automated unless you really need to disassemble it first. Disassembling code so that it can be reassembled again isn't trivial in itself, and fully automating it isn't always possible. I'm not good at making tools though so this is outside my ability, or at least it requires to much work and time for me to try it.

As for decompiling (we call it "disassembling" because it's about reverting machine code back to assembly), there are a few tools like Disasm6 which works quite well. Dissasembled code requires tons of work to read through it and making comments and such. The original comments and label names and such that the original programmer wrote are lost in the assembling process, so it is much harder to work with than the original source code, but we usually don't have that.

If you are lucky, someone else have already done the work for you and disasembled and commented a game and uploaded it on the internet. In some rare cases the original developers have dug up the original source code from their old files and shared it on the internet. ROM hacking has some dissasembled and original source code.

As for making an FDS image from scratch, first learn to make an NROM game from scratch (Nerdy Nights) then you can look at an example. That example is using the ca65 assembler which might be a little daunting for a beginner. This program here which I made, comes in both NROM and FDS version and is using asm6 which is much easier to use.

Could I ask what your goal is? Is there a particular game you want to see on disk?

Dan_Greene

Thank you so much! You've been more helpful then I could ever imagine and I'll be sure to use your resources for this project.

Quote from: P on July 26, 2019, 02:21:10 pm
Could I ask what your goal is? Is there a particular game you want to see on disk?

I wanted to impress morphcat games and put micro mages onto a FC Disk, but I started a conversation in their discord server and two devs seemed interested so maybe it might be a reality? However my end goal is to create more games for the FDS to populate its use, as I think it's so fun to load games via disk.
Let's keep writin' disks !

P

I see. The reason I made an FDS version of that controller test program was so that it can be loaded easily with an FDSStick (or similar device), but also as a bit of an excuse to make an FDS application and to populate its use.

FDS versions of homebrew are really rare, and not too hard to make so I plan to make FDS versions of things I make as much as possible. :) Besides more people are able to run it. If someone doesn't have a flashcart but do have an FDSStick (which is much cheaper) they would be able to run it.

Dan_Greene

I am glad you're looking to make things for it too! I have had a FC and a FDS for years but recently bought and FDS Stick and have another another modded wrote capable FDS on the way, as well as a QDC on the way however I put that into works prior to the FDS Stick. So let's just say my main focus is the FDS and I'm passionate about populating it.
Let's keep writin' disks !

Tomy

July 28, 2019, 03:25:48 am #9 Last Edit: July 28, 2019, 03:32:38 am by Tomy
Long time ago, it is a product call magic protector. It don't have any memory in it. It just map fds memory from $6000-$DFFF to $8000-$FFFF. It will disable fds bios too. So, it can run 32K Rom + 8K Chr games. Another device call mini doctor, it has 32k chr ram. So, it can run 32K Rom + 32K Chr games. So, it can use to develop small game (64K) with fdsstick.

Post Merge: July 28, 2019, 03:31:37 am

This is magic protector

Post Merge: July 28, 2019, 03:32:38 am

This is mini doctor


Tomy

This is PLD chip. It can be programmable once. It is protected. So, you can not read out the data inside it. What is inside it is :

1) I/O address $42FF, $43FF use to  set CHR bank and set game mode
2) Map $6000-$7FFF to $E000-$FFFF and disable FDS Bios

Dan_Greene

Where might one acquire these products...
Let's keep writin' disks !