All right then.... I just bought a Gameboy COLOR GBA and taking a look at it, I noticed something...
The Gameboy has a USB port.... that just happens to be almost the exact same as my C(S)E's.
Immediately, the idea popped into my head that I could possibly link it to my CSE.
What do you guys think? Is it possible to link my calc to a Gameboy Nintendo DS lite GBA?
I just noticed that the port doesn't fit a regular USB. But I can mod a cable to go in between the calc and Gameboy. After all, a cable only costs $2-$3.
EDIT: I will be using the I/O port on my CSE for this.
EDIT #2: Since I can't find my CSE, I'll guess that I'll have a lot of fun writing USB protocols to do it with my CE. ._.
You probably could link it to a CSE, but programming it to recognize each other and perform actions is something different. And also, what would you even do with a GBC linked to a CSE ???
You might also want to check out KermMartian's Gameboy camera connected to a CSE.
Quote from: kegwaan on January 19, 2016, 09:16:10 PM
You probably could link it to a CSE, but programming it to recognize each other and perform actions is something different. And also, what would you even do with a GBC linked to a CSE ???
You might also want to check out KermMartian's Gameboy camera connected to a CSE.
I want to be able to play calculator games on the GBC. Or, to be more specific, make the screen of the CSE go on the GBC. And yes, I've seen the camera hooked up to the calc.
Ah I see ;) So when/if you do this, are you going to map the A/B buttons to 2ndAlpha respectively, and so on for the other buttons?
Yes, I will. Should be interesting :)
Absolutely. You could also try and condense a CSE into the housing of a GBC, but then you have the problem of all of the buttons not being able to fit onto the thing.
Quote from: kegwaan on January 19, 2016, 09:25:22 PM
Absolutely. You could also try and condense a CSE into the housing of a GBC, but then you have the problem of all of the buttons not being able to fit onto the thing.
Rather than cram a CSE into a Gameboy, how about I put the Gameboy into a CSE?
But that's later. Much, much later. I just want to link the two together.
Quote from: caleb1997 on January 19, 2016, 09:26:40 PM
Rather than cram a CSE into a Gameboy, how about I put the Gameboy into a CSE?
In Soviet Russia...Maybe I'll find a GBC I can cram into a CSE...
if I had money.
Quote from: caleb1997 on January 19, 2016, 09:17:58 PM
Quote from: kegwaan on January 19, 2016, 09:16:10 PM
You probably could link it to a CSE, but programming it to recognize each other and perform actions is something different. And also, what would you even do with a GBC linked to a CSE ???
You might also want to check out KermMartian's Gameboy camera connected to a CSE.
I want to be able to play calculator games on the GBC. Or, to be more specific, make the screen of the CSE go on the GBC. And yes, I've seen the camera hooked up to the calc.
The only way for this to work would be to request screenshots periodically using the ti link protocol, and that would only work when a pure basic program is running.
I am curious about if game data (eg saves) could be transfered between the calculator and GBC and be modified on-calc by another program?
Quote from: DJ Omnimaga on January 25, 2016, 05:26:40 PM
I am curious about if game data (eg saves) could be transfered between the calculator and GBC and be modified on-calc by another program?
To be honest, I doubt it. Because the two systems weren't made to work together, it's like trying to modify a eZ80 ASM program with Python. I would have loved to do that, though.... (starts wishing he could do this so he could hack GBC save files)
Quote from: Ivoah on January 19, 2016, 09:39:01 PM
Quote from: caleb1997 on January 19, 2016, 09:17:58 PM
Quote from: kegwaan on January 19, 2016, 09:16:10 PM
You probably could link it to a CSE, but programming it to recognize each other and perform actions is something different. And also, what would you even do with a GBC linked to a CSE ???
You might also want to check out KermMartian's Gameboy camera connected to a CSE.
I want to be able to play calculator games on the GBC. Or, to be more specific, make the screen of the CSE go on the GBC. And yes, I've seen the camera hooked up to the calc.
The only way for this to work would be to request screenshots periodically using the ti link protocol, and that would only work when a pure basic program is running.
What if I use Assembly? Would it be fast enough to capture the screen and send it to the GBC, and still retain a decent amount of FPS? (idea: request it only when a event happens, like a keypress, to avoid lag)
I'm definitely not sure that port is USB. Last time I checked, USB usually have 4 or 5 pins and the GB link port have 6 of them (3 on each side) and looking at the wiring, it looks pretty incompatible. If you want to make your Game Boy believe your calc is a Pokémon game and trade hacked Pokémons, or act as a GameBoy Printer (I had one of those that was kinda fun), well, that would be an interesting thing to do, but you'd probably need custom wiring.
You can design the protocol however you want, the only real problem is to get code running on the GameBoy. For that you can use a flashcart.
For transferring save files, you would need a game that is able to transfer its save file over the GBC's link port. I don't think such a game exists, however you should be able to make a program that can trade with Pokemon on the calc.
Also Juju is right, though that connector uses a serial bus that is similar to the N64 and the GameCube's JoyBus (half duplex serial protocol, using pulse duration to differentiate between 0 and 1).
http://www.int03.co.uk/crema/hardware/gamecube/gc-control.html
https://web.archive.org/web/20150817140850/http://www.mixdown.ca/n64dev/
These documents won't be relevant in terms of binary protocol but the electrical protocol should be helpful. Also you should look up documentation on how the GameBoy itself works, I just happened to have these bookmarked.
Quote from: Juju on January 25, 2016, 07:45:26 PM
I'm definitely not sure that port is USB. Last time I checked, USB usually have 4 or 5 pins and the GB link port have 6 of them (3 on each side) and looking at the wiring, it looks pretty incompatible. If you want to make your Game Boy believe your calc is a Pokémon game and trade hacked Pokémons, well, that would be an interesting thing to do, but you'd probably need custom wiring.
I guess all of those years spent messing around with wires
did help..... Creating a custom wiring connection shouldn't be too hard. But that depends on what the GBC port needs, and doesn't need. It may be (I've encountered this), that not every single contact on the GBC port is vital to receiving/interpreting info. And there are 6-pin USB links.
Forget about USB, the GameBoy came out long before that was a thing.
You probably could use 6-pin USB cables, but you'd violate the USB protocol and you wouldn't be able to plug it to anything USB.
Quote from: Streetwalrus on January 25, 2016, 07:58:02 PM
Forget about USB, the GameBoy came out long before that was a thing.
Erm, actually the Game Boy Color came out after USB. Unless Wikipedia is wrong, USB became a thing in the mid 90's and the Game Boy Color came out in 1998.
Anyway I don't think the port is USB either. It has to be the link port for multiplayer/file transfer (Pokémon, for instance) or infrared port.
UPDATE: I now have a Gameboy ΛDVΛПᄃΣ .
Quote from: KermMartianIt appears that the Gameboy Advance has a similar serial link port that is also not a USB port, but you should definitely explore interfacing it with a calculator!
This I will definitely look into.
Something even more interesting to do would be to link the two wirelessly, as the GBA is wireless-capable. (It would need at wireless adapter though, and I'd have to mod one of the adapters to fit a micro USB port.... but boy, that would be interesting.)
But I'm not ΛDVΛПᄃΣD enough to do that (yet), so it'll have to wait.
In the meanwhile, one question: Since the GBA is different from the GBC, I'm guessing that I would have to write the communication protocol (to communicate between the C(S)E and the GBA) differently?
I'm willing to bet this new topic title will mess up on IRC <_<
As for the GBA, I don't know much about it, but perhaps
@Ivoah could help you, since he got into GBA homebrew at one point (unless he quit?)
Quote from: DJ Omnimaga on January 27, 2016, 08:03:06 PM
I'm willing to bet this new topic title will mess up on IRC <_<
As for the GBA, I don't know much about it, but perhaps @Ivoah could help you, since he got into GBA homebrew at one point (unless he quit?)
I'm pretty sure that he could, if he was willing.
He's still into it, I stalk #gbadev where he seems pretty active. :P He also used the link port for GPIO so he does know how it works. Programming the GBA is going to be pretty different from the GBC though.
Quote from: Streetwalrus on January 27, 2016, 08:33:27 PM
Programming the GBA is going to be pretty different from the GBC though.
Indeed.
Idea: Should I program for the GBC, and use that program with the GBA, or would the programming protocols not be compatible?
If you make a GBC program it will work on the GBA since it has backwards compatibility.
Quote from: Streetwalrus on January 27, 2016, 08:36:17 PM
If you make a GBC program it will work on the GBA since it has backwards compatibility.
So I should program for the original Gameboy, since that would ensure compatibility with the GB, GBC, and the GBA.
The original Gameboy and Super Gameboy will only run Gameboy games
The GBC will only run Gameboy and GBC games
The GBA and Game Boy Player will only run Gameboy, GBC and GBA games
The Gameboy Micro will only run GBA games.
The Nintendo DS and DS Lite will only run GBA and DS games (it has two cartridge slots)
The Nintendo DSi will only run DS games
The Nintendo 3DS will only run DS and 3DS games
The New 3DS will only run DS, 3DS and Xenoblade Chronicles.
But yeah, for full compatibility, making an original GB game would be the best. But then you don't have colors.
Quote from: DJ Omnimaga on January 27, 2016, 10:10:58 PM
...
The Nintendo DS Lite and DSi will only run DS games
...
The DS Lite still has the GBA slot and it still runs GBA games. Iirc it basically has an internal GBA connected to that slot, so it will only be able to run GBA games inserted in the GBA cartridge slot though.
Quote from: kegwaan on January 19, 2016, 09:25:22 PM
Absolutely. You could also try and condense a CSE into the housing of a GBC, but then you have the problem of all of the buttons not being able to fit onto the thing.
Why not put the Game Boy into the CSE?
What about a game boy micro?
Quote from: ben_g on January 27, 2016, 11:02:41 PM
Quote from: DJ Omnimaga on January 27, 2016, 10:10:58 PM
...
The Nintendo DS Lite and DSi will only run DS games
...
The DS Lite still has the GBA slot and it still runs GBA games. Iirc it basically has an internal GBA connected to that slot, so it will only be able to run GBA games inserted in the GBA cartridge slot though.
Wait, I thought that the DS Lite was the one that dropped the GBA slot, not the DSi?
Quote from: Kid_Quasar_Gaming . on January 28, 2016, 02:40:14 AM
What about a game boy micro?
This one only runs GBA games.
Quote from: DJ Omnimaga on January 28, 2016, 03:11:11 AM
Quote from: ben_g on January 27, 2016, 11:02:41 PM
Quote from: DJ Omnimaga on January 27, 2016, 10:10:58 PM
...
The Nintendo DS Lite and DSi will only run DS games
...
The DS Lite still has the GBA slot and it still runs GBA games. Iirc it basically has an internal GBA connected to that slot, so it will only be able to run GBA games inserted in the GBA cartridge slot though.
Wait, I thought that the DS Lite was the one that dropped the GBA slot, not the DSi?
No, the DS Lite has a GBA slot just like the DS. The only difference is that the GBA slot in the DS Lite is smaller than a regular GBA slot, so any GBA games you put in it are going to stick out a bit from the console.
Quote from: DJ Omnimaga on January 27, 2016, 10:10:58 PM
The original Gameboy and Super Gameboy will only run Gameboy games
The GBC will only run Gameboy and GBC games
The GBA and Game Boy Player will only run Gameboy, GBC and GBA games
The Gameboy Micro will only run GBA games.
The Nintendo DS and DS Lite will only run GBA and DS games (it has two cartridge slots)
The Nintendo DSi will only run DS games
The Nintendo 3DS will only run DS and 3DS games
The New 3DS will only run DS, 3DS and Xenoblade Chronicles.
But yeah, for full compatibility, making an original GB game would be the best. But then you don't have colors.
It's possible to modifiy a DS or a gameboy micro to play GB/C games, I'm not sure if anyone has ever done it but the GBA SoC contains the entire hardware of the console, including GBC hardware, on a single chip.
They couldn't remove it because GBA games have access to the GBC hardware and some actually use it. Also, making a new chip is expensive (though it was probably a cheap chip).
Quote from: Streetwalrus on January 30, 2016, 03:55:16 PM
They couldn't remove it because GBA games have access to the GBC hardware and some actually use it.
Are you sure about this? I've read numerous places that the GB(C) hardware was unaccessible to the GBA (or at least the z80 was)
I think that's possible, GBC carts run at 5V so I think the (not a z80 by the way) CPU runs at 5V too while the gba runs at 3.3V. All games use the audio hardware though, it's pretty much an upgraded version with extra channels including 12 or 16 bit PCM. You probably know this better than I do. :P
So...... Should I do the good news first or the bad news first?
Let's just do the good news first.
Good news: I have a DS. :w00t:
Bad news: I have a feeling that I just made this project a lot harder for me. :banghead:
Sigh.
[spoiler]But that doesn't mean that I'll give up.
But I might.... Depends on how I feel.[/spoiler]
I wouldn't use the DS if I were you, the console uses wifi for linking, nothing wired. You'd be better off sticking to the GBA or the GBC.
Quote from: caleb1997 on February 02, 2016, 01:52:40 PM
So...... Should I do the good news first or the bad news first?
Let's just do the good news first.
Good news: I have a DS. :w00t:
Bad news: I have a feeling that I just made this project a lot harder for me. :banghead:
Sigh.
[spoiler]But that doesn't mean that I'll give up.
But I might.... Depends on how I feel.[/spoiler]
What'd you do with the GBC and GBA?
Quote from: Ivoah on February 02, 2016, 03:49:03 PM
Quote from: caleb1997 on February 02, 2016, 01:52:40 PM
So...... Should I do the good news first or the bad news first?
Let's just do the good news first.
Good news: I have a DS. :w00t:
Bad news: I have a feeling that I just made this project a lot harder for me. :banghead:
Sigh.
[spoiler]But that doesn't mean that I'll give up.
But I might.... Depends on how I feel.[/spoiler]
What'd you do with the GBC and GBA?
Traded them so I could upgrade. I traded my GBC for a GBA, and the GBA for a DS.
I'm pretty sure you could run gameboy game on the 3DS/New3DS since there are some gameboy games on the nintendo eshop. You could get some gameboy games if you had a 3ds flashcart(whether they exist or not, I don't know)
Quote from: Araidia on February 02, 2016, 03:59:28 PM
I'm pretty sure you could run gameboy game on the 3DS/New3DS since there are some gameboy games on the nintendo eshop. You could get some gameboy games if you had a 3ds flashcart(whether they exist or not, I don't know)
Those are running on the VirtualConsole emulators I believe.
What he wants to do relies on hardware. The DS and the 3DS can't deliver.
Quote from: Ivoah on February 02, 2016, 04:00:08 PM
Quote from: Araidia on February 02, 2016, 03:59:28 PM
I'm pretty sure you could run gameboy game on the 3DS/New3DS since there are some gameboy games on the nintendo eshop. You could get some gameboy games if you had a 3ds flashcart(whether they exist or not, I don't know)
Those are running on the VirtualConsole emulators I believe.
Yeah they do use emulators. The 3DS has DS hardware for backwards compatibility but nothing older.
The DS uses wifi? Well, in that case, maybe I could get my CSE and the DS to interface. Complicated, but doable..... I think.
Or I could possibly use the DS's "Download & Play" feature here a little.... But I'd have to look at the code... Not something I want to do right now.
So I'll see if I can get a GBA again. And we'll go from there.
I'd love to see how this would work. Would the CSE have the DS process for it or something?
Quote from: gogogoluke on February 02, 2016, 06:56:36 PM
I'd love to see how this would work. Would the CSE have the DS process for it or something?
As a matter of fact, when I looked it up, the DS lite (the one I have) has two processors: A 32 bit ARM946E-S main CPU; 67 MHz clock speed that processes gameplay mechanisms and video rendering, and a 32 bit ARM7TDMI coprocessor; 33 MHz clock speed that processes sound output, Wi-Fi support and takes on second-processor duties in Game Boy Advance mode. Whereas the CSE has a singular 6/15 MHz processor. So yes, I would have the DS do most, if not all, the needed processing. All the CSE would do is send the game over to the DS.
But while I'm saving up, I can start working on the protocols for communication. Does anyone (
@Ivoah) know where I should start?
*bump*
I've finally saved up the money for a GBA again. ;D So once I get that (should be today), I'll start anew.
But does anyone know how to get started? I still have no idea on how to actually start writing code that would even begin to run on a GBA, much less communicate between a GBA and a CE.
Wouldn't it be better to wait until you move out before buying new stuff?
Quote from: caleb1997 on February 26, 2016, 04:51:40 PM
*bump*
I've finally saved up the money for a GBA again. ;D So once I get that (should be today), I'll start anew.
But does anyone know how to get started? I still have no idea on how to actually start writing code that would even begin to run on a GBA, much less communicate between a GBA and a CE.
You can't link a GBA to a CE, because TI removed the link port.
Doesn't the mini-USB of the CE have a proper controller now? It might work.
Quote from: caleb1997 on February 26, 2016, 09:14:06 PM
Doesn't the mini-USB of the CE have a proper controller now? It might work.
Yes, but there's no USB on a GBA. Unless you can toggle and read the data pins on the CE directly, it won't work.
Are there converters?
For the cables. For example, there are serial to USB converters and vice-versa (eg if someone has no serial port on his PC). So I was wondering if there was one for GBA <> USB.
Quote from: DJ Omnimaga on February 26, 2016, 11:20:18 PM
For the cables. For example, there are serial to USB converters and vice-versa (eg if someone has no serial port on his PC). So I was wondering if there was one for GBA <> USB.
Actually, if you got a USB to Serial adaptor that might work, as (I think?) the latest CE OS has USB serial stuff.
So I'd have to get a converter, and connect it that way. Hmph.
/me starts brainstorming
I think the best thing to do it make a converter yourself, because I doubt that there will be GBA <> USB adapters readily available. I bet that the best thing to do would be having an usb interface in e.g. an arduino and interface with the gba over serial. So an active converter (more like an interface in that case)
How would I get started building a converter? After all, it's 6-pin (GBA) to 5(or4)-pin(CE) (if I remember correctly)
The way I'd go about that is have an active interface between the two sides. So CE (5 pin) -> microcontroller over GPIO-> GBA
So it'd be like this:
CE(5 pin)-> Raspberry Pi->GBA. Am I right?
Or any compatible microcontroller, yes.