BRAM upgrade hack

Started by wilykat, 01/08/2016, 04:19 AM

Previous topic - Next topic

0 Members and 4 Guests are viewing this topic.

wilykat

First the quick summary:
the original BRAM is only 2k which is not a lot.  Sega CD also had similar limitation but they did have RAM cart that can be used. Us poor people in USA never got easy to use English version like Tennokoe Bank card or something (plus we need converter) so we need to rely on guide and modded system.

Or one could replace the original 2K with something bigger.  Tennokoe2, TurboBooster Plus, CD system, and Duo all have standard SRAM which makes it easy to work with. No weird propriety shit.

However the systems were never designed to work with more than 2K of RAM so you need to manually control what "pages" the system is on to get around the 2k limit.

I have choosen 32k because: 16 pages is more than enough for many good games, because the DIP package used on Tennokoe2 and Turbobooster Plus is the narrow 300mill package, and SRAM over 32k is 600mil wide, which would require DIP adapter or a whole lot of wiring.  Duo and CD system used SOIC package which can go up to 1 megabit in same physical width.

The pinout are different though.  Just slightly different.  For 32k, you would need to lift 2 pins and reroute /WE pin and /VCC pin from the pad to the new chip. You will also need a way to control each of the added address pins that are not on the original system pad.

There are 3 ways you can control memory banks, or pages:

The easy way:
Dip switch with pullup resistors
IMG
Pro: cheapest, quickest, 4 address switch can be controlled by a hexidecimal rotary switch
Con: need to read *tiny* switch, larger switch does not appear to exist.

Add more switches for more address (ie 5 switch for 64k SRAM, 6 switch for 128k, etc)

Medium way
DIP switch plus LED readout
IMG
added with the DIP switch diagram above.
Pro: easy to read current page
con: more wiring, displays in hexidecimal only (0-9, A-F)

Add second 7447 with more switch for 64k, 128k, 256k, and 512k SRAM

Medium-hard:
there is a binary counter with up and down count pin, use it along with 7447 above for 2 buttons counter with display.  I did not look in this because it seems a lot more wiring than the Arduino method below.

Hard way:
2 push buttons and LED readout
IMG
Pro: display pages in decimal (starts at 1, 1 to 9, 10-19, etc)
Con: a LOT more work than above mods. Requires a mean to program ATMega328 (such as Arduino UNO board)

With 5 pins left, I can do 3 displays and up to 512k SRAM before I run out. 

Source code for those of you doing the Arduino way:
// unused pin: 0 and 1, 4, 13, and by removing DP pin, A3
// digital pin 0 and 1 are not used, these are usually used for communication
// with host and can be repurposed if more pins are needed.

#include "SevSeg.h"
int buttonup = 2;                 // pin to connect the button
int buttondn = 3; // pin to connect the button
int presses = 0;         // variable to store number of presses
long time = 0;         // used for debounce
long debounce = 200;                 // how many ms to "debounce"
const byte numPins = 4;                 // how many address, 5 for 64k and 6 for 128k
int state; // used for HIGH or LOW
   // pins to connect leds
byte pins[] = {5, 6, 7, 8};             
int leddisplay = 1;                     // start LED display at 1
SevSeg sevseg;                          //Instantiate a seven segment controller object

void setup()
{
/* we setup all pins as OUTPUT and start at LOW */
for(int i = 0; i < numPins; i++) {
pinMode(pins[i], OUTPUT);
                digitalWrite (pins[i], LOW);
}
pinMode(buttonup, INPUT);
pinMode(buttondn, INPUT);
/* use pin 2 and 3 which has interrupt 0 and 1 on Arduino UNO */
attachInterrupt(0, countup, FALLING);
attachInterrupt(1, countdn, FALLING);

      // setting up LED display
         byte numDigits = 2; // 2 digits for 16, 32, and 64 pages.
         byte digitPins[] = {A1, 11}; // equals to number of digits used,
         byte segmentPins[] = {10, 9, A0, A2, A3, 12, 13, A5}; // pin a, b, c, d, e, f, g, and DP
         // can probably leave out A3 DP and free a pin for one more LED display
         sevseg.begin(COMMON_ANODE, numDigits, digitPins, segmentPins); // change to cathode if used
         sevseg.setBrightness(70); // change to be brighter or dimmer
}
 
void loop()
{
/* convert presses to binary and store it as a string */
String binNumber = String(presses, BIN);
       
if((0 <= presses)&&(presses <= 15)) { // change to 31 or 63 for 64k and 128k

digitalWrite(pins[0], (presses &        B1));
digitalWrite(pins[1], (presses &       B10));
digitalWrite(pins[2], (presses &      B100));
digitalWrite(pins[3], (presses &     B1000));

} else {
                if (presses > 15) presses = 15;
                if (presses < 0) presses = 0; // change both lines from 15 to 31 for 64K, 63 for 128k
}

    // display current page
    leddisplay = presses + 1 ;
    sevseg.setNumber(leddisplay, 0);
    sevseg.refreshDisplay(); // Must run repeatedly
}
 
/* function to count the presses */
void countup() {
// we debounce the button and increase the presses
if(millis() - time > debounce) presses++;
time = millis();
}

void countdn() {
// we debounce the button and decrease  the presses
if(millis() - time > debounce) presses--;
time = millis();
}
You will need to add sevseg library to your Arduino IDE to make this work.

Lastly, replacing the backup RAM cap would help.  On my Duo it's a tiny 0.047uF wich won't last long. I am getting 1 farad cap which should last me many months even with the larger SRAM chip.

Before jumping into this project, be aware that:
SOIC chip are small and can be hard to remove if you don't have a proper SMD work station.  The chip in my Duo-R was glued on underneath so I had to use dentist pick to desolder and lift individual pins before I could pop it out.

If you are going to get DIP package for Turbobooster Plus or Tennokoe2 and going to get a 300mil to 600 mil adapter for larger SRAM, watch the clearance or you may have trouble reassembling the shells.  Alternative is DIP to SOIC adapter as it'd be a few mm thinner.

What size SRAM you want depends on  how much work you want, and don't go overboard. 1megabit SRAM (128kx8) exists but that would be 64 pages, a lot of flipping switches or pushing buttons.  Also be aware that SRAM comes in even smaller TSOP package which will be hard to work with, and some SRAM are serial or 16 bits parallel, not 8 bits which is not useful for this mod, and some SRAM requires lower voltage rather than 5v the system puts out.  Make sure the SRAM you get are:
5v normal
low power standby would be nice
has 8 bit data
and is not from disreputable source like eBay where you may end up with nonworking counterfeit.
Bonus: if you consider the pricey ferroelectric ram (FRAM for short), you won't need to bother with replacement cap. FRAM can retain data for 151 years!!!

And above all, work carefully!  If you have limited soldering experience, it is best to ask someone to do the work for you.  Same thing with case modding for the switch or display.

Original work log below:

Been itching to do this for a few years but I finally got started.

IMG

The chip was a pain to remove, it used some strong glue to hold it down.  I have on hand new chip to install. I need to double check the pinout, lift the extra pins, wire VCC from the pad spot 24 to the new chip 28, and 4 wires to switch for toggling address.

I had to take a break.  A marathon soldering session 4 hours isn't good for anyone's health.  Fixed Atari Lynx (no power), worked on C64 board (bad RAM) and then Duo-R.  Plus it was past 4 AM here and I am expected up before 9 AM.  :? Time flies when you're high on solder fume.

wilykat

I worked on this to finish up.  Originally I was going to use hexadecimal thumb wheel (0-9 and A-F) but I can't find it at the moment and they aren't typically carried in most electronics store.  So I had to use backup plan:

IMG

old 8 position DIP switch with SIP resistors.  I was originally going to use this to build an Atari 2600 256-in-1 EPROM game (just about all of 2k and 4k games, no extra chip) many, many years ago but then someone made Harmony that could play more.  The switch assembly got left in spare parts drawer for oh about 10 years.

IMG
Finished work.  I used the 5v and ground pins of the nearby vreg chip since it was most convenient.

The BRAM seems to be working but I think I missed a solder because some of the pages doesn't work right.  It does save on working page setting so I'll have to take the board out and flip it to find out where I went wrong.

Still need to replace the stock cap.

Vimtoman

You need pull up resistors on all address pins and then pull down with the switch.

SegaSonic91

Now THAT is what I call a useful upgrade!  It's so stupid that NEC and/or Hudson did not come up with a better save system for the DUO.  Especially seeing as thete was no option for a save-straight-to-RAM-card option like the MEGA-CD and everything afterwards had.

wilykat

Quote from: Vimtoman on 01/10/2016, 11:29 AMYou need pull up resistors on all address pins and then pull down with the switch.
The black thing next to the DIP switch is the resistor packs, 10kx9 with common pin.  Currently it is wired as pull down with switch to 5v pull up.  I'll try reversing that to see if my mod behaves better.  I did find a loose wire on A11, it seemed to have come off when I put the board back in the bottom shell.

EDIT: it was 9, not 8 I forgot the extra unused pin.

SignOfZeta

Quote from: SegaSonic91 on 01/11/2016, 10:31 PMNow THAT is what I call a useful upgrade!  It's so stupid that NEC and/or Hudson did not come up with a better save system for the DUO.  Especially seeing as thete was no option for a save-straight-to-RAM-card option like the MEGA-CD and everything afterwards had.
Man, what's with the 21st century bitch fest?

Can you name another console from the same era with a better save system? No, you can't. I know you can't because it was the very first CD-ROM thing ever, and therefore the first system to allow you to save to the machine AT ALL.

Sorry it isn't perfect.

The PCE came out the same year as US Legend of Zelda, most Americans first experience with being to save on a console period. All of these carts have either had their batteries replaced or you can't save on them. But look, my PCE still saves, never replaced anything.

I agree there is a lot of room for improvement, but I've had way more issues with corrupted saves on Saturn and PlayStation because flash sucks, early flash is twice as bad.

I think many of the modern complaints come from people who want to hoard saves the way they hoard games, something that nobody at Hudson/NEC thought of when they designed the system 30 years ago. They didn't know people would acquire complete libraries and try to keep the same dumb Neutopia II save for 18 fucking years. If the PCE (which is a SUPREMELY well designed system, btw) had a system that could keep unplayed saves for decades on end it would have outlasted every NES cart, most SNES carts, a lot of Laserdiscs, VHS tapes, audio cassettes, Zip Disks, Famicom Discs, and pretty much every single flash thing from its invention until at least the late 90s. It would be kinda weird for NEC to design a game machine than cost $600 in the 80s so that people could not use it for months. Why did they buy it then?

Please get real. These people weren't being "stupid" they were genius. And while I can see the use of a better memory manager or something, the system as it exists works pretty much perfectly for me. I play the game every couple of days until I'm either bored of it or I finished it. If I don't turn my PCE on for two months...well I guess I don't play all that much PCE do I? The save disappears after my interst in the game has disappeared. I have no use for a year old RPG save because I'll never be able to tell where the fuck I am or what I was doing. Most early RPGs have very few reminders that say "this is what you were doing" so I'll just wander around in circles until I realize how much time I could save by just starting the game over.
IMG

wilykat

Sega CD had RAM cart. That one held 16 times the original save RAM.  NEC never released something of a pure memory card that could be used with Duo, or a System 3.x variant card with built in save memory for use on non-Duo CD system that don't have built in 3.0.

SNES never had CD system (2 different protos were planned then canned) and the next major popular CD system, Playstation was the first CD console with external save memory.

NecroPhile

And the Sega CD never had a peripheral that allowed for 64 times as much save storage or increased its system RAM, but who gives a fuck?  I'm with Zeta: you gotta be daft to think the PCE's save system is poorly designed and unusable.  So you had to swap saves onto a Tennokoe Bank card....  oh, the humanity!
Ultimate Forum Bully/Thief/Saboteur/Clone Warrior! BURN IN HELL NECROPHUCK!!!

SignOfZeta

Quote from: wilykat on 01/12/2016, 02:14 PMSega CD had RAM cart. That one held 16 times the original save RAM.  NEC never released something of a pure memory card that could be used with Duo, or a System 3.x variant card with built in save memory for use on non-Duo CD system that don't have built in 3.0.

SNES never had CD system (2 different protos were planned then canned) and the next major popular CD system, Playstation was the first CD console with external save memory.
Maybe they didn't release a RAM cart because THERE IS NOWHERE TO PUT ONE.
IMG

wilykat

Solved, the upgrade hack works now.  On a hunch, I took the first SRAM chip out and put in another one (glad I ordered 3 in case of this) and it now works 100%.  The first chip was faulty somehow.

Now I need to clean up, get a proper switch, install it in the case, and close it.  I see a couple possibilities for the final switch design:
1: thumbswitch like this one:
IMG
2: wire up something like ATMega with 2 push button, LED display, and have it control address.  Like this memory card:
IMG

Advantage of one: smaller, neater, quicker, easier. Also cheap like this one: http://www.allspectrum.com/store/bcd-switch-hex-15-pushwheel-pen-push-type-plaimae-corporation-p-1320.html    Disadvantage, octal switch limited to 3 address (16k) and hexadecimal switch to 4 (32k). 

Advantage of two: can control single address up to however the size of ATMega I use (20 available pins on AT328p for example, -2 for button and -7 for LED = 11 controlled address pins to a multi-mega SRAM (if one beast exists)  Disadvantage: need to know how to program Arduino or other microcontroller or get someone to make code with specified number of address, need to cut out opening for LED readout and button.  More work, more bling, easier to read display.

SegaSonic91

Quote from: SignOfZeta on 01/12/2016, 01:48 PM
Quote from: SegaSonic91 on 01/11/2016, 10:31 PMNow THAT is what I call a useful upgrade!  It's so stupid that NEC and/or Hudson did not come up with a better save system for the DUO.  Especially seeing as thete was no option for a save-straight-to-RAM-card option like the MEGA-CD and everything afterwards had.
Man, what's with the 21st century bitch fest?

Can you name another console from the same era with a better save system? No, you can't. I know you can't because it was the very first CD-ROM thing ever, and therefore the first system to allow you to save to the machine AT ALL.

Sorry it isn't perfect.

The PCE came out the same year as US Legend of Zelda, most Americans first experience with being to save on a console period. All of these carts have either had their batteries replaced or you can't save on them. But look, my PCE still saves, never replaced anything.

I agree there is a lot of room for improvement, but I've had way more issues with corrupted saves on Saturn and PlayStation because flash sucks, early flash is twice as bad.

I think many of the modern complaints come from people who want to hoard saves the way they hoard games, something that nobody at Hudson/NEC thought of when they designed the system 30 years ago. They didn't know people would acquire complete libraries and try to keep the same dumb Neutopia II save for 18 fucking years. If the PCE (which is a SUPREMELY well designed system, btw) had a system that could keep unplayed saves for decades on end it would have outlasted every NES cart, most SNES carts, a lot of Laserdiscs, VHS tapes, audio cassettes, Zip Disks, Famicom Discs, and pretty much every single flash thing from its invention until at least the late 90s. It would be kinda weird for NEC to design a game machine than cost $600 in the 80s so that people could not use it for months. Why did they buy it then?

Please get real. These people weren't being "stupid" they were genius. And while I can see the use of a better memory manager or something, the system as it exists works pretty much perfectly for me. I play the game every couple of days until I'm either bored of it or I finished it. If I don't turn my PCE on for two months...well I guess I don't play all that much PCE do I? The save disappears after my interst in the game has disappeared. I have no use for a year old RPG save because I'll never be able to tell where the fuck I am or what I was doing. Most early RPGs have very few reminders that say "this is what you were doing" so I'll just wander around in circles until I realize how much time I could save by just starting the game over.
Jesus fucking christ, calm the fuck down, your fanboy panties are starting to show.  It WAS a stupid system and still is.  I am not complaining because an "18 year old save is no longer on the system", exactly when did I say that?  I lost many saves over the years simply because I didnt turn the system on for a fortnight or so.  THAT is a stupid fucking system!  Yes, let's all hail the geniuses at NEC!!  I also could not give a damn about "Americans first experience saving to a console", FULL STOP.  What the hell does that have to do with anything?  If NEC were in "geniuses", explain the Super Grafx and PC-FX.  The geniuses were the ones that created games.  Suzuki Yu is a genius.  NEC were not.

And yes, the MEGA-CD's save system was superior in every way possible.  I already said that  onviously a RAM cart could not be used, which made it worse. I KNOW there was nowhere to put it! Duh!  As for the Ten no Koe, I have one but I did not get one until 2001.  I got my original PCE IFU system in 1995.  Where exactly was I supposed to buy a Ten no Koe from?   It was by complete chance I came across one of my game shops selling the PCE, there was nowhere to buy anything PCE related in my country.  I did not even get a SSC3 until 2001 when I got a computer and discovered eBay!   The thing was useless to me until that time. There was not even a similar device released in the US, correct? 

My original PAL MEGA-CD bought on 31 March, 1993 still has saves from back then.  It still has SNATCHER and both LUNARs so that makes it saves from at least 1994.  I never had/do not have a single corrupted PS1 or PS2 card.  Same goes for the Saturn.  The Saturn was the best save cart ever.  You bought one and you never had to worry about running out of memory.  Unlike the tiny PS1 cards.  SONY must have made a fortune from those things.

Vimtoman

#11
Well done WilyKat good work.

You got me browsing for another route and I found this IC.

Cypress FM18W08

It's a Fram with a similar pinout.

I think there is a possibility that we could disconnect and gnd the CE pin and use the WE pin in replacement.
The WE pin would need to be pulled high with resistor to prevent power up corruption.

No battery backup :)

What do you think?

NecroPhile

Is this genius seriously blaming NEC because the system wasn't sold in his country and he wasn't savvy enough to import?!?  :lol:



Anyways, well done wilykat.  The mod ain't for me, but it's always neat to see guys tinkering around to make stuff work they way they want.
Ultimate Forum Bully/Thief/Saboteur/Clone Warrior! BURN IN HELL NECROPHUCK!!!

ToyMachine78

Quote from: SignOfZeta on 01/12/2016, 01:48 PM
Quote from: SegaSonic91 on 01/11/2016, 10:31 PMNow THAT is what I call a useful upgrade!  It's so stupid that NEC and/or Hudson did not come up with a better save system for the DUO.  Especially seeing as thete was no option for a save-straight-to-RAM-card option like the MEGA-CD and everything afterwards had.
Man, what's with the 21st century bitch fest?

Can you name another console from the same era with a better save system? No, you can't. I know you can't because it was the very first CD-ROM thing ever, and therefore the first system to allow you to save to the machine AT ALL.

Sorry it isn't perfect.

The PCE came out the same year as US Legend of Zelda, most Americans first experience with being to save on a console period. All of these carts have either had their batteries replaced or you can't save on them. But look, my PCE still saves, never replaced anything.

I agree there is a lot of room for improvement, but I've had way more issues with corrupted saves on Saturn and PlayStation because flash sucks, early flash is twice as bad.

I think many of the modern complaints come from people who want to hoard saves the way they hoard games, something that nobody at Hudson/NEC thought of when they designed the system 30 years ago. They didn't know people would acquire complete libraries and try to keep the same dumb Neutopia II save for 18 fucking years. If the PCE (which is a SUPREMELY well designed system, btw) had a system that could keep unplayed saves for decades on end it would have outlasted every NES cart, most SNES carts, a lot of Laserdiscs, VHS tapes, audio cassettes, Zip Disks, Famicom Discs, and pretty much every single flash thing from its invention until at least the late 90s. It would be kinda weird for NEC to design a game machine than cost $600 in the 80s so that people could not use it for months. Why did they buy it then?

Please get real. These people weren't being "stupid" they were genius. And while I can see the use of a better memory manager or something, the system as it exists works pretty much perfectly for me. I play the game every couple of days until I'm either bored of it or I finished it. If I don't turn my PCE on for two months...well I guess I don't play all that much PCE do I? The save disappears after my interst in the game has disappeared. I have no use for a year old RPG save because I'll never be able to tell where the fuck I am or what I was doing. Most early RPGs have very few reminders that say "this is what you were doing" so I'll just wander around in circles until I realize how much time I could save by just starting the game over.
My Zelda cart still has my childhood saves from when the game was released. Now thats pretty damn amazing!

synbiosfan

Quote from: guest on 01/12/2016, 07:19 PMIs this genius seriously blaming NEC because the system wasn't sold in his country and he wasn't savvy enough to import?!?  :lol:



Anyways, well done wilykat.  The mod ain't for me, but it's always neat to see guys tinkering around to make stuff work they way they want.
A couple decades of hindsight makes it easy to complain sadly.

Very nice work wilykat!

wilykat

#15
Quote from: Vimtoman on 01/12/2016, 06:40 PMWell done WilyKat good work.

You got me browsing for another route and I found this IC.

Cypress FM18W08

It's a Fram with a similar pinout.

I think there is a possibility that we could disconnect and gnd the CE pin and use the WE pin in replacement.
The WE pin would need to be pulled high with resistor to prevent power up corruption.

No battery backup :)

What do you think?
Dang 151 years retention. Your great-great-great grandkids could appreciate that 100% fast run save on some of the games. :D

I would leave the /CE as it is, it's what makes the chip (the normal SRAM) go in low power mode, basically "turning it off".  If you tied it to GND, it would always remain on and I am not sure how the "always on" FRAM would affect the system.  You could experiment if you wished.

From the datasheet:
QuoteNote that if /CE is tied to ground, the user must be sure /WE is not
LOW at power-up or power-down events. If the chip is enabled
and /WE is LOW during power cycles, data will be corrupted.
Check if the /WE has a pullup resistor onboard, and add it if there isn't any to disable writing during power on/off

/WE is needed because it toggles data as input or output. And /OE is needed to tristate the data pins so it won't interfere with the data bus.  Just wire them all as normal, taking in account you will need to reroute /WE and VCC from the board to the 2 pins, and wire the uppermost 4 address lines to switches.

SegaSonic91

Quote from: guest on 01/12/2016, 07:19 PMIs this genius seriously blaming NEC because the system wasn't sold in his country and he wasn't savvy enough to import?!?  :lol:


And here I thought fanboys could never be as stupid, ignorant and blind as the nintendorks.  PC Engine fanfucktards are just as bad it seems.  Importing was not an option, "genius".  See where I said I bought one "AS SOON AS I DISCOVERED EBAY"???  Not everywhere in the world had a thriving import scene!  If I could have bought one before that, I would have!  I'll say it again, the system SHOULD HAVE BEEN IMPROVED WITH THE DUO!  At the very least they could have increased the size!  It is the stupidest back up system I have ever seen.  Unlike the MEGA-CD, there is no indication of how much space you have or how much space each game takes up.  It is not until you boot a game that you discover you cannot save.  The Ten no Koe is rather shit as well.  You cannot transfer files back and forth, you can only transfer the entire block of data.

I bet you are one of those types that thinks PCE Popfulmail is superior to the MEGA-CD version (LMFAO!!!) while defending Strider Hiryu as being a good game.  You're a rude, ignorant  joke.

Vimtoman

#17
Wilykat what was the original Sram IC number?

I have ordered a Fram IC. Only a few in stock.

I think we need to add the pull up on WE.

Also I thought that as you were looking for an alternative to a switch a TTL counter like a 74HC393 would do with a de bounced push button. It could be enabled to switch only when the CE was high preventing corruption when switching.

esteban

#18
Note: this thread would be better if split into two distinct conversations (that is, two separate threads)...

(1) BRAM upgrade hack
(2) the virtues and/or flaws of PCE backup

ALSO NOTE:

It has come to my attention that agents of FEKA are in our midst. Be wary, comrades.

Be wary.
IMGIMG IMG  |  IMG  |  IMG IMG

wilykat

Quote from: Vimtoman on 01/13/2016, 06:43 AMWilykat what was the original Sram IC number?
LC3517B

QuoteI have ordered a Fram IC. Only a few in stock.

I think we need to add the pull up on WE.
Check to see if there's already a resistor on the original /WE line

QuoteAlso I thought that as you were looking for an alternative to a switch a TTL counter like a 74HC393 would do with a de bounced push button. It could be enabled to switch only when the CE was high preventing corruption when switching.
That one only counts up.  There's a CMOS chip that can do binary count up and down.

Here's a few images to help:
original chip
IMG
/WE and VCC on original pad did not line up with new SRAM chip

IMG
A11 and A13 on the new chip is where /WE and VCC was so that's why I lifted those pins and added wire from the pad to the 2 pins.  Also I lifted the 4 topmost pins so they weren't touching the PCB to prevent accidental contact with something on PCB.

The pin for address A11, A12, A13, and A14 are then wired to switch or something that can hold high and low to select the pages.

I also found hi-res image of black Duo and the SRAM location is easier to access with a lot more room:
IMG
Yellow arrows point the location of SRAM (exact same chip size and type as Duo-R) and the backup cap.

NecroPhile

Quote from: SegaSonic91 on 01/13/2016, 05:57 AMAnd here I thought fanboys could never be as stupid, ignorant and blind as the nintendorks.  PC Engine fanfucktards are just as bad it seems.  Importing was not an option, "genius".  See where I said I bought one "AS SOON AS I DISCOVERED EBAY"???  Not everywhere in the world had a thriving import scene!  If I could have bought one before that, I would have! 
Don't blame NEC (or me) because you were too dumb/lazy/ignorant to search out your import options.  You claim that importing wasn't a possibility, yet somehow you managed to buy an imported briefcase?  Obviously importing was an option for people with more brains than mouth, however difficult and expensive the process may have been.

I find it quite humorous that the sole poster going on and on about 'fanboys' and saying we should all 'calm down' is the only guy making sweeping generalizations, name calling, and cursing like a sailor.  Such delicious irony.



If you put in that FRAM stuff, does that mean the big cap is unneeded, maybe even necessarily removed?
Ultimate Forum Bully/Thief/Saboteur/Clone Warrior! BURN IN HELL NECROPHUCK!!!

ToyMachine78

I find this one works the best for this application. It has 3X the memory capacity of the OEM Duo hardware

IMG

Vimtoman

Thanks Wilykat.

I guess it would be helpful polling up and down.
4bits is 16 extra banks.
It may be cheaper and easier to source an appropriate switch.
I quite like a rotary.
It would also be easier for everyone else to mod themselves this way.

I should have the Fram soon. I will look for a switch solution first.

NightWolve

cdn .meme .am/instances/500x/43384326.jpg

And all wilykat was trying to do was upgrade his BRAM... Man... ;)

SignOfZeta

#24
You know what sucks? The Ford Model T. Two forward gears and only 20HP!? Trying to enter highway traffic is terrifying!

My VW Golf fixes all these issues, and it has an ashtray. Better luck next time, Ford, ya fucking 'tards.

EDIT: My apologies to the Kat, who has done something really cool. I hope it leads to a kit of some sort. I overreacted to a small stupid thing and it exploded into a bigger stupid thing. I didn't honestly think he'd run so far with what is clearly a logically, historically, and technologically flawed stance. Most people just give up, but he doubled down. I did not expect that.
IMG

CrackTiger

Quote from: SegaSonic91 on 01/13/2016, 05:57 AM
Quote from: NecroPhile on 01/12/2016, 07:19 PMIs this genius seriously blaming NEC because the system wasn't sold in his country and he wasn't savvy enough to import?!?  :lol:


And here I thought fanboys could never be as stupid, ignorant and blind as the nintendorks.  PC Engine fanfucktards are just as bad it seems.  Importing was not an option, "genius".  See where I said I bought one "AS SOON AS I DISCOVERED EBAY"???  Not everywhere in the world had a thriving import scene!  If I could have bought one before that, I would have!  I'll say it again, the system SHOULD HAVE BEEN IMPROVED WITH THE DUO!  At the very least they could have increased the size!  It is the stupidest back up system I have ever seen.  Unlike the MEGA-CD, there is no indication of how much space you have or how much space each game takes up.  It is not until you boot a game that you discover you cannot save.  The Ten no Koe is rather shit as well.  You cannot transfer files back and forth, you can only transfer the entire block of data.

I bet you are one of those types that thinks PCE Popfulmail is superior to the MEGA-CD version (LMFAO!!!) while defending Strider Hiryu as being a good game.  You're a rude, ignorant  joke.
You are dismissing entire console fan-bases except the one you prefer, yet are declaring those who disagree with you as being irrational. I take it you are somehow unfamiliar with Sonic fan-fiction, or are the type of Sega/Sonic fan who hates non Sonic sex stuff?

I started mail-ordering games, including Japanese games, in 1989 and have continued to till this day. I also bought European game mags through the 90's and also know from game forums how importing was much bigger in Europe than in North America. Your ignorance doesn't change history or reality.

I'm not going to bother describing the subtleties of PCE save management or point out the many flaws in other systems during the time period you describe (dying Saturn cart slots, slow PSX save/loading, etc), because you're obviously aren't open to discussion or learning. The fact that you are obliviously critical of "NEC hardware" while championing the PAL Mega-CD for keeping saves for a library of games looking, sounding and playing broken shows who the "rude, ignorant  joke" really is.

I take it that you judge games solely by the superficial aspects of their graphics and selective technical aspects? Did you really play all the way through PCE Popful Mail and one of the Sega versions?

I agree that Strider isn't a good game, I thought as much the first time I played through it when it was released for Genesis. That's why I don't care much about the unfinished PCE version.
Justin the Not-So-Cheery Black/Hack/CrackTiger helped Joshua Jackass, Andrew/Arkhan Dildovich and the DildoPhiles destroy 2 PC Engine groups: one by Aaron Lambert on Facebook, then the other by Aaron Nanto!!! Him and PCE Aarons don't have a good track record together! Both times he blamed the Aarons and their staff in a "Look-what-you-made-us-do?!" manner, never himself nor his deranged/destructive/doxxing toxic turbo troll gang which he covers up for under the "community" euphemism!

Vimtoman

#26
WilyKat Fram arrived today.
Just put it in and it works!!!! No Sram no Cap not loss of data for years and years and years....

IMG

Formatted Ram OK.
Have just tried Soldier blade and save is in the bank.

IMG

Just ordered some switches which are Hartman PT65503 16way hex.

Just want to Thank you WilyKat starting all this.
I wouldn't have attempted it otherwise.

Will wire up the switch when it arrives and post to all.

wilykat

Great!!  So the FRAM means no need to replace that tiny cap.  I mean 151 years is a fucking long time, someone would have cooked up something better like optical crystal that is pin compatible with legacy SRAM and has data retention in million years.

I ordered the 7 segment LED display and worked on Arduino to come up with something that can use 2 buttons for up and down, display current page, and control address lines.  It has enough pins to control up to 64 pages (6 address lines, 128kx8 SRAM)

ATMega328p costs around the same as getting a few chips like binary counter with up/down and 7 segment display driver but should take less wiring in the end. Plus the binary counter is only 4 bits, you'd need to cascade to get more address, and you'd need a lot of work to make the display show decimal (0-9) rather than hexidecimal (0-9 and A-F)

I am very much tempted to get 2x this:

IMG

It may be "more work" than a simple DIP switch or hexadecimal rotary/thumb switch but it'd look more elegant than a bunch of switches, and also a bit friendly with people who can't read or understand switch binary. Not to mention no one makes DIP switch big enough for the visually impaired.

wilykat

// unused pin: 0 and 1, 4, 13, and by removing DP pin, A3
// digital pin 0 and 1 are not used, these are usually used for communication
// with host and can be repurposed if more pins are needed.

#include "SevSeg.h"
int buttonup = 2;                    // pin to connect the button
int buttondn = 3;            // pin to connect the button
int presses = 0;                // variable to store number of presses
long time = 0;                    // used for debounce
long debounce = 200;                    // how many ms to "debounce"
const byte numPins = 4;                 // how many address, 5 for 64k and 6 for 128k
int state;                // used for HIGH or LOW
   // pins to connect leds
byte pins[] = {5, 6, 7, 8};             
int leddisplay = 1;                     // start LED display at 1
SevSeg sevseg;                          //Instantiate a seven segment controller object

void setup()
{
    /* we setup all pins as OUTPUT and start at LOW */
    for(int i = 0; i < numPins; i++) {
        pinMode(pins[i], OUTPUT);
                digitalWrite (pins[i], LOW);
    }
    pinMode(buttonup, INPUT);
    pinMode(buttondn, INPUT);
    /* use pin 2 and 3 which has interrupt 0 and 1 on Arduino UNO */
    attachInterrupt(0, countup, FALLING);
    attachInterrupt(1, countdn, FALLING);

      // setting up LED display
         byte numDigits = 2; // 2 digits for 16, 32, and 64 pages.
         byte digitPins[] = {A5, A4}; // equals to number of digits used,
         byte segmentPins[] = {9, 10, 11, 12, A0, A1, A2, A3}; // pin a, b, c, d, e, f, g, and DP
         // can probably leave out A3 DP and free a pin for one more LED display
         sevseg.begin(COMMON_ANODE, numDigits, digitPins, segmentPins); // change to cathode if used
         sevseg.setBrightness(90); // change to be brighter or dimmer
}
void loop()
{
    /* convert presses to binary and store it as a string */
    String binNumber = String(presses, BIN);
       
    if((0 <= presses)&&(presses <= 15)) {    // change to 31 or 63 for 64k and 128k
       
            digitalWrite(pins[0], (presses &        B1));
            digitalWrite(pins[1], (presses &       B10));
            digitalWrite(pins[2], (presses &      B100));
            digitalWrite(pins[3], (presses &     B1000));           
           
    } else {
                if (presses > 15) presses = 15;
                if (presses < 0) presses = 0; // change both lines from 15 to 31 for 64K, 63 for 128k
    }

    // display current page
    leddisplay = presses + 1 ;
    sevseg.setNumber(leddisplay, 0);
    sevseg.refreshDisplay(); // Must run repeatedly
}
/* function to count the presses */
void countup() {
    // we debounce the button and increase the presses
    if(millis() - time > debounce)    presses++;
    time = millis();
}

void countdn() {
    // we debounce the button and decrease  the presses
    if(millis() - time > debounce)    presses--;
    time = millis();
}

I went ahead and did a quick prototype and with a ghetto -seg LED made from regular LED, I can tell it is working.  5 pins left means I can do 3 display for 128, 256, and 512 pages.  Still it'd be overkill.

Pic:
IMG

(could be better but best I can do in 10 minutes :P plus my keyboard tray is about 20 years old so it is beyond ugly but still working)

The blue LED represents the individual element of the 7 segment LED (plus 2 for second digit). It is set to start at page one and end at 16. I could set it to roll over instead of stopping but I liked this way better.
The red LED represents the binary output for the SRAM address.

Video of it in operation:

Vimtoman

That looks really good.
Where you thinking of mounting this?

What about including a /CE check so that the memory is not changed when being accessed by the system.

wilykat

I could code in /ce check but I'm just going to not change page while it is in use.  Set the desired page at the start of the game or at CD BIOS screen then leave it.  The games were all designed around the assumption of fixed 2k RAM and I don't know what the effect is if I changed after the game started using the BRAM.  Just easier to remember to set it in the beginning and leave the page selector alone.

Quote from: guest on 01/14/2016, 04:30 PMI want one!
Got a good soldering skill? You can do it yourself.  I don't know what a kit may be worth since this is still WIP.  Not counting time spent, I figure I spent maybe $10 getting materials I didn't have and I do have a number of spare ATMega328 plus switches and wires.  Maybe $25 in materials alone?  Removing old SRAM and wiring in new SRAM without damaging the PCB or ripping trace is probably the hardest part.

Vimtoman

Quote from: wilykat on 01/14/2016, 04:37 PMI could code in /ce check but I'm just going to not change page while it is in use.  Set the desired page at the start of the game or at CD BIOS screen then leave it.  The games were all designed around the assumption of fixed 2k RAM and I don't know what the effect is if I changed after the game started using the BRAM.  Just easier to remember to set it in the beginning and leave the page selector alone.
That's pretty much what I meant ;)

Noticed they sell some arduino i2c 7segment displays on #bay from china could be a route?

wilykat

Don't have much experience with I2C stuff and trying to figure that and making it work in my mod would have taken me longer than just driving the display directly.  The display is multiplexed, 7 common lines for each segment plus each individual common, I am using 9 pins for 2 display. 3rd display can be added for just 10 pins.

Vimtoman

There's probably a module supplied with it and just a one line cmd.
It has four 7 segment digits.

wilykat

4 digits? That mean I could have it display up to 8192 pages but where the heck would I find a 16MBx8 SRAM?    :D 

2 is enough for me for now.  AFAIK I2C display comes only in 4 digits

NightWolve

Eh, I'll stick with just replacing the super capacitor for improved memory saves... :/ Resoldering a whole chip is way above my pay grade as an electronics hobbyist hack on occasion. Heh.

incrediblehark

This is really interesting work you 2 have been doing, and I'm looking forward to seeing finished witht the switches to toggle save pages. I could see this being a good thing to have installed in an ifu-30 with the switch on the top.

wilykat

Also been working on improving mine. Originally I was going with the hexidecimal switch but I decided to be a show off and have it display the current page on 7 segment LED and using  push buttons.  I am about half done.

Bottom with the new SRAM:
IMG

Ignore the extra yellow wire, I ripped up A6 line when I replaced the faulty SRAM with a new one. Tiny pads are not meant to be reheated so many times.
IMG

The heart of the new system.  I used an older PCB from a project I did about 3 years ago, I had about a dozen left and it was just fine for this project.  Green, blue, purple, and white on bottom right goes to the SRAM's address.  Brown, red, orange, and yellow is for the 2 buttons plus 5v to go with pullup resistor and ground for switch contact. The rest of wires on top left goes to dual 7-segment display.  The color code is for other project and didn't apply to this one.

2 corners are held by hot glue to keep it secure, easy removal if needed. On Duo-R the top side on this area is virtually empty so this would be fine.  On Black Duo, the original SRAM would be right under and this will also work with much shorter address wires.

IMG
Since I planned to mount the button switch and LED display on the top, I needed for a way to disconnect so I could remove the Duo-R's top completely.  I have a bunch of connectors laying around that I just used.

And the switch board I am going to run through OSH Park later:
IMG

IMG

This board is expecting a typical 0.56" LED display with horizontal pinout and the push button with about 0.4" by 0.3" spacing, about the size of larger PCB mounted push button that can have snap on button top.  Plus pin headers, the 6th pin of the 10 pin connector is not used and was intended to function as key with a filled in 6th hole on the connector.  I only had 9 pins cable connector, I thought I had 10 so I'll need to get a female socket (Dupont style), the pins are easily transferred.

wilykat

Still don't have the final PCB but the proto I made shows it all works:

IMG

I put Neutopia in page 1, restarted, changed to page 2, played Neutopia 2 and put a save there. Then restarted, switched back to page 1 and loaded Neutopia, it loaded fine.  Next loaded bram checking program I downloaded to my turbo ED and it shows saves on both page 1 and 2.

My mod is working along with the LED display and buttons.  I'm going to wait for a neater looking board from OSH Park before I cut in my case for permanent install.

johnnykonami

Wow, that is a really awesome hack.  Interested to see how you mount it in the case.

NightWolve

Huh, so you're adding paging and that board allows up/down traversal with a LED to tell you what page you're on ? That's pretty damn sophisticated... Good luck.

wilykat

Yeah it is but I've had a few years with Arduino so it was "easy".

I am updating the first post with 3 different ways to control addresses.

Vimtoman

Epic mod Wilykat well done.

wilykat

I put an order on OSHPark for the board, a few new pushbutton switches and some more LED display. The proto board I made can still be used for anything being modular and not oddly wired or such.

wilykat

New boards came in today and I got it done

IMG

The button top are only temporary as the ones I wanted to use hasn't shown up. It looks so much neater than my proto board :P

Vimtoman

Looking good WilyKat.
Where are you going to place it on the Duo-r?

wilykat

On top somewhere. Somehow I lost the file I was going to use to make for clean square opening and the local store only carries round in small size range.

Vimtoman

Maybe browse around for a bezel for the dual displays.
Could be a 3D printing job.

wilykat

Installed.  All that's left is to get a cover bezel with transparent smoked cover to make it look neat but I don't think 3D printer does polycarbonite plastic and most other plastic aren't transparent.  I may need to look for a smoked transparent sheet of acylic or something, and cut it out, bevel the edge, and cut an opening for the buttons.

Also to replace the stock backup cap.  The saves on the new chip survived about 2 weeks without external power.

esteban

Quote from: wilykat on 02/21/2016, 04:24 PM
Installed.  All that's left is to get a cover bezel with transparent smoked cover to make it look neat but I don't think 3D printer does polycarbonite plastic and most other plastic aren't transparent.  I may need to look for a smoked transparent sheet of acylic or something, and cut it out, bevel the edge, and cut an opening for the buttons.

Also to replace the stock backup cap.  The saves on the new chip survived about 2 weeks without external power.
That is L'Awesome.

:)
IMGIMG IMG  |  IMG  |  IMG IMG