Author Topic: Game Boy emulation reaches TI-84+CSE calculators  (Read 44058 times)

0 Members and 1 Guest are viewing this topic.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Game Boy emulation reaches TI-84+CSE calculators
« on: February 20, 2014, 01:21:05 am »
Three and an half years after calc84maniac released TI-Boy SE for the 15 MHz monochrome Z80 calculator models, he has now released TI-Boy CSE for the new TI-84 Plus C Silver Edition calculator!

So far, emulation is pretty good, with only a few minor glitches. Based on TI-Boy SE, this new Game Boy emulator tries to push the hardware to its limits and due to the 84+CSE limitations, it will run slower than its grayscale counterpart, which is one reason why sound will not be supported, but it is still an amazing achievement by Calc84maniac to have managed to get Game Boy emulation to run at playable speed on a 15 MHz calc that can barely support its 320x240 color LCD (for full-screen mode, TI-Boy CSE uses 160x240 mode to save speed).

Since the Game Boy lacked color support but the 84+CSE does, to get the most out of your calculator screen, TI-Boy CSE lets you change the color palette like you could do on the SNES Super Game Boy. However, keep in mind that for GBC games that can actually run on the regular Game Boy (Pokémon Gold/Silver, for example), the colors will still be quite limited and not like in the real game, since TI-Boy CSE doesn't support the GBC itself.

You can download the latest version in this thread, which is also where you can report bugs and post feedback.

In addition to that, a new version of TI-Boy for the 84+/SE models has been released here.
« Last Edit: February 20, 2014, 01:32:22 am by DJ Omnimaga »

Offline Keoni29

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2466
  • Rating: +291/-16
    • View Profile
    • My electronics projects at 8times8
Re: Game Boy emulation reaches TI-84+CSE calculators
« Reply #1 on: February 20, 2014, 02:33:14 pm »
Hnnnng. I cannot wait until I get my CSE :D
If you like my work: why not give me an internet?

Offline Roondak

  • LV3 Member (Next: 100)
  • ***
  • Posts: 54
  • Rating: +4/-3
    • View Profile
Re: Game Boy emulation reaches TI-84+CSE calculators
« Reply #2 on: February 26, 2014, 09:18:40 am »
This looks really cool!

Offline Sorunome

  • Fox Fox Fox Fox Fox Fox Fox!
  • Support Staff
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 7920
  • Rating: +374/-13
  • Derpy Hooves
    • View Profile
    • My website! (You might lose the game)
Re: Game Boy emulation reaches TI-84+CSE calculators
« Reply #3 on: February 26, 2014, 05:01:27 pm »
This is looking awesome, great work!

Also, check out my website
If OmnomIRC is screwed up, blame me!
Click here to give me an internet!

Offline mdr1

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 303
  • Rating: +21/-2
    • View Profile
Re: Game Boy emulation reaches TI-84+CSE calculators
« Reply #4 on: February 28, 2014, 09:36:25 am »
Great work! :o

Offline Monsieur Z

  • LV0 Newcomer (Next: 5)
  • Posts: 1
  • Rating: +0/-0
    • View Profile
Re: Game Boy emulation reaches TI-84+CSE calculators
« Reply #5 on: September 05, 2015, 08:37:43 am »
If it's still a bit active, is there a way to make it work with the TI-83 Premium CE ?

Offline Adriweb

  • Editor
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1708
  • Rating: +229/-17
    • View Profile
Re: Game Boy emulation reaches TI-84+CSE calculators
« Reply #6 on: September 05, 2015, 08:52:42 am »
The TI-83 Premium CE is basically the French equivalent of the international TI-84 Plus CE, and those two have different processors than the TI-84+CSE models.
So... nope, this specific emulator isn't going to work with the CE. It'd have to be rewritten specifically for them, which I think is currently being done :)
My calculator programs co-admin.
TI-Nspire Lua programming : Tutorials  |  API Documentation

Offline DrDnar

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 546
  • Rating: +97/-1
    • View Profile
Re: Game Boy emulation reaches TI-84+CSE calculators
« Reply #7 on: September 06, 2015, 05:22:52 pm »
I believe that a properly optimized emulator could run significantly faster on the eZ80 units. OS and flash app performance are crippled by an insane number of wait states on flash reads. RAM, however, is less crippled, and there exists the potential to get better MIPS from RAM programs than the old Z80 series could provide. So an emulator that runs entirely in RAM might be able to be much faster, though it would be limited in the size of ROMs it could handle (but at least 256 K).

It's kind of technical, but basically, the eZ80 runs at 48 MHz (the TI-83+SE, TI-84+/SE, and TI-84+CSE ran at 15 MHz), but the bus feeding data to and from the CPU is so slow that the CPU spends about---I'm taking a guess here---80 % of its time idle, waiting for data. Essentially, the benefits of a much faster CPU clock speed are entirely negated by the awful bus performance for code running from flash. The eZ80 models still get a little bit better performance because the eZ80 is also tightly pipelined, such that its performance is limited by the external bus performance; the Z80, by contrast, is limited by both its lack of pipelining and slow ALU. The upshot is that on the rare occasion the eZ80 does get data, it processes it in fewer clock cycles than the Z80, so even with a much slower bus, it can still process data a bit faster. As a bonus, C code on the eZ80 gets a relative boost to C code on the Z80 because the eZ80 is much far efficient with stack frames.

RAM is subject to less than half the wait states of flash, which is partly why display operations are so much faster. Overall, programs running from RAM might be twice as fast as a flash-based apps, which is good news for us, because we don't have an app signing key anyway.

The screen interface is entirely different between the CE and CSE, and display performance is subject to a completely different set of performance rules. The Z80 is ridiculously slow when using the IN and OUT instructions, which were used for talking to the LCD. The eZ80 is far faster with IN and OUT, but TI instead decided to use a memory-mapped display, which is great for some purposes, but actually slower for drawing sprites. Which is odd, because sprite-like drawing is most of what the calculator needs anyway. The memory-mapped display requires a lot of pointer arithmetic, so it's a good thing the eZ80 is considerably faster at pointer arithmetic. The memory-mapped display also uses a DMA that steals about 10 % of the bus bandwidth. Good news, though: the new display supports palletized modes, which use fractionally less bus bandwidth depending on the bits-per-pixel setting (e.g. 4 bits-per-pixel uses a quarter of the bandwidth that the normal 16 bits-per-pixel mode uses).

Somebody should probably put all of that on Wiki or something other than WikiTI, which is only read by programmers.
« Last Edit: September 06, 2015, 05:45:41 pm by DrDnar »
"No tools will make a man a skilled workman, or master of defense, nor be of any use to him who has not learned how to handle them, and has never bestowed any attention upon them. . . . Yes, [] the tools which would teach men their own use would be beyond price."—Plato's The Republic, circa 380 BC