8T-ROM - new NES board prototyped

The Membler Industries, Strangulation Games, and Strangulation Records forum.

Moderator: Moderators

User avatar
Memblers
Site Admin
Posts: 3760
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

Post by Memblers » Mon Oct 24, 2011 7:37 pm

The problem I had (with the initial failed test) was just an intermittent solder joint, the hardware works! I'll do a board revision though since I've made a couple mistakes (so far), some minor stuff, just a CHR bus conflict :P, but I have jumpers to select 4-screen mode, which circumvents that problem. So I'm going on to test the Verilog code now.

And I forgot to mention earlier about saving on this cart, it is intended that PRG-ROM is used for save data. Battery-backed SRAM may be faster to write, but the bad part is how easily the data gets corrupted, without using a real NVRAM controller. I've only found one cheap IC that is simply an NVRAM controller, but it's long out of production - most newer ICs that handle it cost too much because they include a lot of other features (like real time clock, CPU reset generator, watchdog timer). First time I made it to Chaos in Final Fantasy, my dog's tail hit the NES which erased my save (real life watchdog reset?), I think using FlashROM can put a stop to crap like that. Just don't bump it WHILE it's saving, but in practice you would probably want to keep 2 copies in memory, to revert to a backup if the first has failed.

Since the sector size for the Flash is 4kB, that means you can program individual bytes in whatever order you want (you could leave $FF "blank" bytes in your data and fill them in later, for example), but when you erase, it is done in 4kB-sized blocks. On the original Squeedo design it was 64kB sectors, that was a little inconvenient for NES, heheh. But, in theory a game saving to flash could be 128kB, and have 384kB of saved data! Who knows what for, but it may be a good way to write a live level editor on the NES or other stuff.

Since the flash endurance question usually comes up too, here is the calculation for that - 100k erase cycles - a player could save 10 times a day, every day, for 27 years straight. Use 2 sectors for saving and it's 54 years, and so on.

Good to hear about the famicom thingy. I forgot about the attached controllers so you cannot use it for debugging (except with an AV famicom) and the expansion port is different.

Yeah Famicom exp port is really close to be being a normal DA15 connector, but I don't think they can be bought without the metal flange. At least it's not something totally alien like the NES exp port.

tepples
Posts: 21710
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples » Mon Oct 24, 2011 8:23 pm

Memblers wrote:But, in theory a game saving to flash could be 128kB, and have 384kB of saved data! Who knows what for, but it may be a good way to write a live level editor on the NES or other stuff.

That or a Mario Paint clone that can use the new adapter from SNES Mouse to NES that infiniteneslives recently figured out to make. Or an animation maker (who needs Flash?). Or RPG Maker.

Yeah Famicom exp port is really close to be being a normal DA15 connector, but I don't think they can be bought without the metal flange.

I have an old Y-adapter for the Sound Blaster game port, which also uses a DA15 connector, and it has no flange.

User avatar
infiniteneslives
Posts: 2097
Joined: Mon Apr 04, 2011 11:49 am
Location: WhereverIparkIt, USA
Contact:

Post by infiniteneslives » Mon Oct 24, 2011 8:36 pm

tepples wrote:That or a Mario Paint clone that can use the new adapter from SNES Mouse to NES that infiniteneslives recently figured out to make. Or an animation maker (who needs Flash?). Or RPG Maker.

I'd like to see the NES mario paint! or at least I know my daughter would ;)

User avatar
miau
Posts: 175
Joined: Mon Nov 06, 2006 9:34 am
Location: Potsdam, Germany
Contact:

Post by miau » Tue Oct 25, 2011 5:43 am

Exciting news!
This has almost everything I could wish for. FlashROM save game functionality is particularly amazing, seems to be superior to the conventional method on many levels: price, size, data retention and being prone to save corruption, as you mentioned.

To me, the lack/unaffordability of save game functionality has always been one of the most inhibiting factors to creating more complex homebrew games. Having to restrict myself to a password system = headaches.

I'd happily use this board for the full version of Super Bat Puncher if it has any chance to see mass production and be affordable.

Consider me a supporter.

Denine
Posts: 394
Joined: Wed Feb 17, 2010 5:42 pm

Post by Denine » Thu Oct 27, 2011 4:23 am

Woooow! A new, custom made board\mapper?
You really are good at technology!
Some noobish things that I don't get.
32kB CHR-RAM - 1kB CHR page (smaller CPLD can use 2 * 2kB paged, 2 * 2kb fixed)

Not sure what it means...Umm...I can write 32kb of grafics with $2007 like CH RAM, and later use them in same way as CHR ROM by switching 32kb around?If yes, then it would be AWESOME!
Automated CHR bankswitching, also a CPU IRQ function (that comes with some side-effects, though)

Automated?
4-screen mirroring, nametable bankswitching

Ability to switch name tables?! I mean, just like CHR ROM?!
:shock: I Like it :D
Flash memory - 4kB sectors.

Not sure...you mean battery backup?(for game saves)
2: I'd like a DMA Mode for CHR-RAM, much like Gameboy

I'v read about DMA mode for GB, but I don't understand anything.Can someone say it in human language? What effect it would give using it with NES?

About board:Do you have any plans on releasing it? Any price for it in mind?Any idea for mouse support?
This project is really interesting, hope you can finish it.

User avatar
tokumaru
Posts: 11439
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru » Thu Oct 27, 2011 6:06 am

Denine wrote:Not sure what it means...Umm...I can write 32kb of grafics with $2007 like CH RAM, and later use them in same way as CHR ROM by switching 32kb around?If yes, then it would be AWESOME!

Yup, that's what it means. This is nice because you get the advantages of CHR-RAM (updating a small number of patterns and also create them in real time) and CHR-ROM (quickly changing a large number of patterns).

Automated?

When a certain tile is rendered, it triggers a bankswitch.

Ability to switch name tables?! I mean, just like CHR ROM?!

I believe that name table bankswitching is the ability to arrange the available name tables in any way you want, instead of being restricted to vertical or horizontal mirroring.

User avatar
Hamtaro126
Posts: 763
Joined: Thu Jan 19, 2006 5:08 pm

Post by Hamtaro126 » Thu Oct 27, 2011 10:32 am

2: I'd like a DMA Mode for CHR-RAM, much like Gameboy

I'v read about DMA mode for GB, but I don't understand anything.Can someone say it in human language? What effect it would give using it with NES?


I was thinking of enhancing SMB1 or demaking SMW if I needed to, as DMA is used for Characters, Palettes and Nametabes, Sprites still have thier own DMA,

Somehow, I will plan to make a new mapper myself, just for the heck of it.

DMA can upload any type of data via RAM easy via external regs, without using too much of RAM, and does not take a hassle for both the user and CPU

tepples
Posts: 21710
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples » Thu Oct 27, 2011 11:00 am

Denine wrote:
Flash memory - 4kB sectors.

Not sure...you mean battery backup?(for game saves)

It's like battery backup, except it doesn't need a battery, and the whole chip isn't corrupted by an unclean power cut. You can erase a sector of flash and copy data from PRG RAM to that sector.

2: I'd like a DMA Mode for CHR-RAM, much like Gameboy

I'v read about DMA mode for GB, but I don't understand anything.Can someone say it in human language? What effect it would give using it with NES?

"DMA to CHR RAM" means hardware-assisted data copying from the CPU bus to the PPU bus. The Genesis has it (Sega used to call it "blast processing"), and so do the Super NES and Game Boy Advance. It'd be like OAM DMA (which copies a 256-byte page of data on the CPU side to $2004), except targeting $2007 instead. But on the NES, any way I know of to do this would require the CPLD to take control of the CHR RAM's entire address and data bus, and that's MMC5 territory.

User avatar
Hamtaro126
Posts: 763
Joined: Thu Jan 19, 2006 5:08 pm

Post by Hamtaro126 » Thu Oct 27, 2011 11:27 am

That is why I'm doing my own mappings for a new WIP, DIY Famiclone computer, But that is another story, Memblers is doing ok so far.

(it may use an actual 6502)

EDIT: I'll stop and actually do stuff now...
AKA SmilyMZX/AtariHacker.

User avatar
Memblers
Site Admin
Posts: 3760
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

Post by Memblers » Fri Oct 28, 2011 1:44 am

Denine wrote:About board:Do you have any plans on releasing it? Any price for it in mind?Any idea for mouse support?
This project is really interesting, hope you can finish it.


After I get the mapper design stabilized and tested, then I'll send some around to interested developers (with a USB cable). I've got 10 prototype boards, when I do the revision I'll order maybe another 10 or 20 and solder those by hand also. I'll be (once again) enhancing my Garage Cart #2 project to use this board, once that is ready (or any other project) then I can put it into mass production.

My price target for the board was to sell it for around $15 (that includes the board with all the parts soldered on, programmed and tested). Component cost by itself may be close to $10, then there's the cost of having it assembled, and me testing/repairing them and all that, so $15 might be more like a quantity discount type of price.. we'll see. The hand-soldered initial batches may cost a little extra.

Maybe a dev kit including a cart + case + USB adapter would cost something like $35 - $45. Not sure yet, I'm definitely wanting to keep things cheap though.

As for mouse support, that depends on the software. I guess the SNES mouse adapter being discussed would work, but since the NES only has 2 control ports you'd have to either disconnect a controller, or disconnect the USB. But for the PC software, one of the functions I've wanted to add later was the ability to poll the PC keyboard/mouse from the NES. Though that may be awkward to use depending on where your PC and NES/TV are located.

maiu: Thanks for the support, your game project will definitely further the cause. The more boards I can order, the cheaper it will be overall. Between just Super Bat Puncher and Garage Cart #2, I believe this could be successful with at least one decent production run.

User avatar
NESHomebrew
Formerly WhatULive4
Posts: 393
Joined: Fri Oct 30, 2009 4:43 am
Contact:

Post by NESHomebrew » Sun Oct 30, 2011 9:30 am

Memblers wrote: Between just Super Bat Puncher and Garage Cart #2, I believe this could be successful with at least one decent production run.


Would these be used for the compo cart as well?

User avatar
tokumaru
Posts: 11439
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru » Sun Oct 30, 2011 9:38 am

WhatULive4 wrote:Would these be used for the compo cart as well?

You mean "underused", right? :lol:

tepples
Posts: 21710
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples » Sun Oct 30, 2011 10:23 am

The nesdevcompo cart uses the Deadly Towers mapper.

User avatar
NESHomebrew
Formerly WhatULive4
Posts: 393
Joined: Fri Oct 30, 2009 4:43 am
Contact:

Post by NESHomebrew » Tue Nov 01, 2011 5:54 pm

tepples wrote:The nesdevcompo cart uses the Deadly Towers mapper.


Yea, but there was some talk about including a couple of the other games as well. I believe memblers ordered the boards, but I haven't heard any updates.

tepples
Posts: 21710
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples » Wed Nov 02, 2011 3:13 pm

Memblers wrote:Maybe a dev kit including a cart + case + USB adapter would cost something like $35 - $45. Not sure yet, I'm definitely wanting to keep things cheap though.

Now that I've got my kazzo working, sign me up.

As for mouse support, that depends on the software. I guess the SNES mouse adapter being discussed would work, but since the NES only has 2 control ports you'd have to either disconnect a controller, or disconnect the USB.

That or put a switch on the adapter between controller 2 and the USB.

Post Reply