Self introduction / My Famicom Family Basic setup

Started by Nakazoto, December 20, 2019, 09:31:03 am

Previous topic - Next topic

Nakazoto

Hello, my name is David!
Nice to meet y'all!

Being in my mid 30's, I grew up with the NES/SNES. However, about 10 years ago I moved to Japan and stayed for about 7 years. During that time, I picked up my first proper Famicom, which had an AV mod done to it. Even though I live in the US now, I still go back to Japan about 4 times a year for work, and I always carve out a little time to wander around one of my favorite stores there - Super Potato.

On my last trip to Super Potato, I stumbled across a Famicom Keyboard sitting out by it's lonesome. I was instantly intrigued, but the keyboard itself had cracked plastic, so I asked them if they had another one. I also asked them about what kind of software was used with with the Keyboard (having never heard of Family Basic). The kind lady did some research and let me know all about it, and then went on the hunt through the store for a better condition Keyboard. What she came back with was a full Family Basic keyboard with software still in the box!

I was doing research on my phone while she was hunting for the Family Basic and found out that to save programs, there was also a Nintendo Data Recorder (essentially a Panasonic Tape Deck re-badged as Nintendo). So, I asked if they had one of those, and sure enough, they had one unused in the box!  Needless to say, I purchased the whole combo!



Upon closer inspection, the Keyboard had some slight yellowing, but looked largely unused. Digging into the Family Basic cartridge itself, I found that it still had the original AA batteries from 1984 in it!





Surprisingly, it all works really well!
I haven't had too much time to dive deeper into it, but it has sparked this desire to get some more Famicom peripherals. Next up, I'd love to get my hands on a Disk System!

Thanks for reading and nice to meet y'all!

Cheers,
David


P

Welcome to Famicom World David!

The keyboard is one of my favourite accessories for the Famicom (the Disk System is another)! And that's a nice looking data recorder, although they aren't strictly needed to save, they can be quite expensive so you were lucky to find one.

Is it really the original batteries since 1984 though? I think those would have leaked by now. You should probably test them if they still have a charge (Family BASIC still works without batteries, it's just that the memory will be cleared when turning it off), or they might leak and mess things up.

Be sure to check out the Family BASIC Super Thread sticky. If you don't have the manual you should be able to download it there as well (although in parts, only the V3 manual is in full). It tells you all about the backup switch, batteries and how to program in NS-HuBASIC.

Nakazoto

Thank you!

I actually ended up ordering another Famicom keyboard that was in a bit rougher shape off of eBay with the intentions of cracking it open and seeing how it all works on the inside. Then, maybe either restore it to working order, or modify it so it can work as a USB keyboard for my PC.  There is some fantastic information about how it communicates with the Famicom here that I've been enjoying reading as well here: https://wiki.nesdev.com/w/index.php/Family_BASIC_Keyboard

Thanks, the Data Recorder is in very good shape, I was definitely surprised and glad I picked one up. It seems that Family BASIC records programs by outputting an analog audio sound, like the old 56k modems. It seems totally plausible that you could just pipe that sound into a PC and save your programs as .wav files, then play them back the same way. Still, it's a cool accessory to have. I've actually put it back in it's box and set it aside for safe keeping. I have a Super Famicom in its place now.



As for the batteries, I was pretty shocked to see them, even my wife looked at them and started laughing, saying "Natsukashii" over and over again. If you look closely on the bottom of the batteries though there is a date stamped into it.





My cell phone through a magnifying lens isn't exactly the best way to photograph them, but you can just barely see that it says "84-04". Given that Family BASIC was launched in June, 1984, it's totally plausible that these are the batteries the cartridge shipped with. They are definitely completely devoid of any charge, but I went ahead and popped a new set into the cartridge.

I've spent most of my day today perusing the Family BASIC Super Thread sticky, although I probably should have been doing actual work, haha.
I'm definitely stoked that I stumbled across this awesome resource, especially as my Family BASIC bundle didn't come with the original manual, so that's going to be a massive help.

Thanks!
David

P

Quote from: Nakazoto on December 20, 2019, 02:28:53 pm
I actually ended up ordering another Famicom keyboard that was in a bit rougher shape off of eBay with the intentions of cracking it open and seeing how it all works on the inside. Then, maybe either restore it to working order, or modify it so it can work as a USB keyboard for my PC.  There is some fantastic information about how it communicates with the Famicom here that I've been enjoying reading as well here: https://wiki.nesdev.com/w/index.php/Family_BASIC_Keyboard

I guess you could put a cheap USB-keyboard PCB in there and see if you can connect the key matrix to something that the USB keyboard expects.
Otherwise, if you can program you may be able to make an adapter by using a microcontroller or something that is fast enough at reading it and translating it to the USB protocol, I imagine.
Yeah Nesdev wiki is great, I started making a homebrew program that reads the keyboard myself. For now it's just aiming to be a simple text editor to learn how to use the keyboard in my games, but who knows, one day it might become something more sophisticated.

Quotethe Data Recorder is in very good shape, I was definitely surprised and glad I picked one up. It seems that Family BASIC records programs by outputting an analog audio sound, like the old 56k modems. It seems totally plausible that you could just pipe that sound into a PC and save your programs as .wav files, then play them back the same way. Still, it's a cool accessory to have. I've actually put it back in it's box and set it aside for safe keeping. I have a Super Famicom in its place now.

Yes that's how computers usually worked at this time, by modulating the data to analogue so it could be saved to a cassette tape (and yes you can use any device with a line-in port to record the data with). When floppy drives first came they were very expensive so tapes remained the most common way to save data to for computers for a long time. USA started using floppies much earlier than Europe where floppy drives was much more expensive for a longer time though, that's probably why cassette tapes and cartridges are the most common formats for computer games in Europe.

QuoteAs for the batteries, I was pretty shocked to see them, even my wife looked at them and started laughing, saying "Natsukashii" over and over again. If you look closely on the bottom of the batteries though there is a date stamped into it.

I see, yeah I guess you were just lucky that they didn't leak. They do look a bit corroded though.


BTW I read somewhere that Koji Kondo actually used Family BASIC (MML not the Music Board) for composing music for games with, so it's not only a toy but was actually used by developers for making commercial games with. I guess it was a fast way to try out non-audio-related new ideas with as well (now we have emulators and stuff making things easier). Personally I like to use it to demonstrate various features and obscurities of the Famicom hardware.

Nakazoto

Quote from: P on December 21, 2019, 08:56:20 am
Otherwise, if you can program you may be able to make an adapter by using a microcontroller or something that is fast enough at reading it and translating it to the USB protocol, I imagine.

My thinking with the keyboard was to use an Arudino or something to convert the data. The Arduino even already has a function that sends keystrokes to the PC, so it's just a matter of deciphering what the Famicom keyboard outputs and then sending the appropriate keystroke via USB. An Arduino Nano should be small enough to stuff inside the case as well, so all that's coming out is a simple USB cable.

Quote from: P on December 21, 2019, 08:56:20 am
Yeah Nesdev wiki is great, I started making a homebrew program that reads the keyboard myself. For now it's just aiming to be a simple text editor to learn how to use the keyboard in my games, but who knows, one day it might become something more sophisticated.

Making Homebrew programs that can utilize the Family BASIC keyboard is one of my ultimate goals, so I'll definitely be spending a lot of time browsing here as well as the Nesdev Wiki to get it all figured out. I've done plenty of programming in QB, VB as well as Javascript, but I've never ventured into the world of Assembly. So, it'll definitely be an interesting learning experience.

Quote from: P on December 21, 2019, 08:56:20 am
USA started using floppies much earlier than Europe where floppy drives was much more expensive for a longer time though, that's probably why cassette tapes and cartridges are the most common formats for computer games in Europe.

You now, I never realized that other parts of the world were slower to adopt floppies than the we were here in the US. I grew up with all manner of floppy disk drives, so that just seemed the norm to me. It totally makes sense, different countries had different availability and different things were popular, but when you're a kid you tend to think the whole World uses one standard, haha.

Quote from: P on December 21, 2019, 08:56:20 am
I see, yeah I guess you were just lucky that they didn't leak. They do look a bit corroded though.

There was a bit of corrosion on the batteries themselves, but not so bad that it got on the cartridge, so I totally lucked out there. Even more so when you look at the seam on the battery; it's split apart a bit as the batteries have actually expanded in size!

Quote from: P on December 21, 2019, 08:56:20 am
BTW I read somewhere that Koji Kondo actually used Family BASIC (MML not the Music Board) for composing music for games with, so it's not only a toy but was actually used by developers for making commercial games with. I guess it was a fast way to try out non-audio-related new ideas with as well (now we have emulators and stuff making things easier). Personally I like to use it to demonstrate various features and obscurities of the Famicom hardware.

It seems Koji Kondo was actually the one who wrote the instructions in the manual for how to program music on the Family BASIC. But he also states that programming music in BASIC was how he got into the whole video game music industry. He definitely proved that it's possible to do some pretty amazing stuff with Family BASIC though!

I'm definitely keeping my eyes peeled for Family BASIC v3 as it seems like a much more powerful version of the software.
Thanks for all the insight and information!

P

Quote from: Nakazoto on December 21, 2019, 05:29:41 pm
Quote from: P on December 21, 2019, 08:56:20 am
Otherwise, if you can program you may be able to make an adapter by using a microcontroller or something that is fast enough at reading it and translating it to the USB protocol, I imagine.

My thinking with the keyboard was to use an Arudino or something to convert the data. The Arduino even already has a function that sends keystrokes to the PC, so it's just a matter of deciphering what the Famicom keyboard outputs and then sending the appropriate keystroke via USB. An Arduino Nano should be small enough to stuff inside the case as well, so all that's coming out is a simple USB cable.

It's worth a try. If the C++ environment that Arduino provides is to slow for this you might have to do it in assembly.

Quote from: Nakazoto on December 21, 2019, 05:29:41 pm
Quote from: P on December 21, 2019, 08:56:20 am
Yeah Nesdev wiki is great, I started making a homebrew program that reads the keyboard myself. For now it's just aiming to be a simple text editor to learn how to use the keyboard in my games, but who knows, one day it might become something more sophisticated.

Making Homebrew programs that can utilize the Family BASIC keyboard is one of my ultimate goals, so I'll definitely be spending a lot of time browsing here as well as the Nesdev Wiki to get it all figured out. I've done plenty of programming in QB, VB as well as Javascript, but I've never ventured into the world of Assembly. So, it'll definitely be an interesting learning experience.

It sounds like you have a good base to build on, learning assembly shouldn't be too hard for you. You might probably need to learn binary, hexadecimal, two's complement and some boolean logic a bit better than when just doing high-level programming, but otherwise the basics are quite similar. Of course these things are very useful to know at high-level too, so learning low-level programming makes you a better high-level programmer as well.

6502 (the CPU core used in Famicom) is a classic, simple and widely known microprocessor and is perfect for getting into assembly programming with (Zilog Z80 is the other big-name classic microcontroller). Once you learned one type of assembly, learning another is quite easy, much like learning a second high-level programming language is quite easy.
Although nowdays ARM, AVR and PIC are more commonly used, the 65x architecture is not dead, the MOS-derived company that own the rights actually still makes 65816 (the CPU core used in Super Famicom and backwards-compatible with 6502) microprocessors among a few other variants. As an aside, Zilog also still makes new versions of the Z80 as well.

To get started with Famicom programming I highly recommends the Nerdy Nights tutorials. It does teach you some bad things*, but it gets most things right and is probably the best tutorial for beginners there are out there. It teaches you everything you need to know to make your first ROM that works on real hardware. If you just want to learn or get better at 6502 assembly I also recommend Easy 6502 where you can program directly in the browser.
The Nesdev forum is also very friendly and a good place to turn to if you get stuck.


*Corrections for the three main things that Nerdy Nights teaches you incorrectly:
1) The Famicom/NES resolution is always 256x240 pixels for both NTSC and PAL, never 256x224. Anything cropped off depends on the TV and varies. This is an old misconception that still lingers in some tutorials.
2) $2003 doesn't set low byte of the RAM address used as shadow OAM. It sets the full OAM address used for all OAM writes including OAM-DMA start address (OAM is only 256 byte large so one byte is enough for the full address). $4014 do sets the high byte of the RAM address used as shadow OAM though (low byte is implied to be 00). This is another old misconception coming from the old GBAGuy tutorial I believe.
3) Although Nerdy Nights teaches you how to read controllers it begrudgingly never teaches you to read both bit 0 and bit 1 of $4016 and $4017 and merge them. Which means that homebrew seldom supports expansion port controllers for us Famicom owners. This is an old problem even with many commercial games, especially those made by non-Japanese developers, but also with some Japanese-made games. The Nesdev wiki has examples that reads expansion controllers though.

-N2

Quote from: Nakazoto on December 20, 2019, 02:28:53 pmThank you!

I actually ended up ordering another Famicom keyboard that was in a bit rougher shape off of eBay with the intentions of cracking it open and seeing how it all works on the inside. Then, maybe either restore it to working order, or modify it so it can work as a USB keyboard for my PC.  There is some fantastic information about how it communicates with the Famicom here that I've been enjoying reading as well here: https://wiki.nesdev.com/w/index.php/Family_BASIC_Keyboard

Thanks, the Data Recorder is in very good shape, I was definitely surprised and glad I picked one up. It seems that Family BASIC records programs by outputting an analog audio sound, like the old 56k modems. It seems totally plausible that you could just pipe that sound into a PC and save your programs as .wav files, then play them back the same way. Still, it's a cool accessory to have. I've actually put it back in it's box and set it aside for safe keeping. I have a Super Famicom in its place now.



As for the batteries, I was pretty shocked to see them, even my wife looked at them and started laughing, saying "Natsukashii" over and over again. If you look closely on the bottom of the batteries though there is a date stamped into it.





My cell phone through a magnifying lens isn't exactly the best way to photograph them, but you can just barely see that it says "84-04". Given that Family BASIC was launched in June, 1984, it's totally plausible that these are the batteries the cartridge shipped with. They are definitely completely devoid of any charge, but I went ahead and popped a new set into the cartridge.

I've spent most of my day today perusing the Family BASIC Super Thread sticky, although I probably should have been doing actual work, haha.
I'm definitely stoked that I stumbled across this awesome resource, especially as my Family BASIC bundle didn't come with the original manual, so that's going to be a massive help.

Thanks!
David

Hi David, those AA cells likely have mercury in them. it was an additive years ago included to prevent the cells from leaking their electrolyte.

-N2

Quote from: Nakazoto on December 20, 2019, 09:31:03 amHello, my name is David!
Nice to meet y'all!

Being in my mid 30's, I grew up with the NES/SNES. However, about 10 years ago I moved to Japan and stayed for about 7 years. During that time, I picked up my first proper Famicom, which had an AV mod done to it. Even though I live in the US now, I still go back to Japan about 4 times a year for work, and I always carve out a little time to wander around one of my favorite stores there - Super Potato.

On my last trip to Super Potato, I stumbled across a Famicom Keyboard sitting out by it's lonesome. I was instantly intrigued, but the keyboard itself had cracked plastic, so I asked them if they had another one. I also asked them about what kind of software was used with with the Keyboard (having never heard of Family Basic). The kind lady did some research and let me know all about it, and then went on the hunt through the store for a better condition Keyboard. What she came back with was a full Family Basic keyboard with software still in the box!

I was doing research on my phone while she was hunting for the Family Basic and found out that to save programs, there was also a Nintendo Data Recorder (essentially a Panasonic Tape Deck re-badged as Nintendo). So, I asked if they had one of those, and sure enough, they had one unused in the box!  Needless to say, I purchased the whole combo!



Upon closer inspection, the Keyboard had some slight yellowing, but looked largely unused. Digging into the Family Basic cartridge itself, I found that it still had the original AA batteries from 1984 in it!





Surprisingly, it all works really well!
I haven't had too much time to dive deeper into it, but it has sparked this desire to get some more Famicom peripherals. Next up, I'd love to get my hands on a Disk System!

Thanks for reading and nice to meet y'all!

Cheers,
David



Hi David,

I also purchased a Keyboard for my Famicom with the intent of setting it up for use as an IRC terminal. another project I am thinking about is porting GeckOS running on an EverDrive N8 cart for it's additional memory. https://en.wikipedia.org/wiki/GeckOS https://en.wikipedia.org/wiki/GeckOS

for connectivity a shim device will need to be placed inline with the keyboard, perhaps using an ESP32 for use as a WiFi modem.