* WalrusIRC

You need to have 5 posts and not be part of restricted usergroups in order to use the WalrusIRC embedded shoutbox. However, you can also access our IRC channel called #CodeWalrus via EFnet.

Author Topic: Will there ever be a Gameboy emulator for the TI-84 Plus CE  (Read 1926 times)

0 Members and 1 Guest are viewing this topic.

Offline whevesy

  • New User
  • Join Date: Jan 2017
  • Location:
  • Posts: 1
  • Post Rating Ratio: +0/-0
Will there ever be a Gameboy emulator for the TI-84 Plus CE
« on: January 24, 2017, 05:08:53 pm »
TI-84 Plus CE is my favorite calculator and its the only one I use.
I have been hoping for a gameboy emulator for a while now
Is it harder to program to the Plus CE because its been done with many other calculators I dont understand why its been taking so long?



Offline xlibman

  • Omni founder & CW co-founder
  • Super User
  • Original 5
  • CodeWalrus Supporter
  • *
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 18730
  • Post Rating Ratio: +95/-4
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • DJ Omnimaga music store
  • Gender: Male
Heya and welcome here. :)

Calc84maniac used to work on one but he chose to no longer post any update on any forum since the last two years so it might be difficult to know how much it progressed, if it progressed recently at all.

Otherwise if someone decides to work on another GB emulator for the CE, be warned that it will be a very long and difficult project requiring a lot of C programming skills. It's easier on the CE, but it's still an emulator and requires a lot of optimizing. This is why no one else has bothered trying, so far.
  • Calculators owned: TI-57, 73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX (semi-broken), HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)

Offline TheMachine02

  • Full User
  • Join Date: Dec 2014
  • Location:
  • Posts: 351
  • Post Rating Ratio: +14/-0
Heya and welcome here. :)
a lot of C programming skills.

*asm skill

I guess the porting of TI-Boy to CE is hard because lack of app on CE. The method used on 84CSE, 84SE can't be directly used. And given it is a particulary hard task, I doubt it will be done in one day..

Offline MateoConLechuga

  • Full User
  • Join Date: Jan 2015
  • Location:
  • Posts: 228
  • Post Rating Ratio: +21/-1
Is it harder to program to the Plus CE because its been done with many other calculators I dont understand why its been taking so long?
Why haven't you written it yet? Come on, if you want it so bad write it yourself. ;)

Offline kotu

  • -< \'V/,,,
  • Super User
  • Join Date: Aug 2016
  • Location: don't panic
  • Posts: 1160
  • Post Rating Ratio: +7/-11
  • woah
    • dj_kotu
    • @UCAy2ZF4hbc08iStnTn6jgxQ
    • rowanmedhurst
    • @romanov-psyco
    • futurerave.uk
  • Gender: Male
i echo what mateoconlechuga just said, why dont you do it
  • Calculators owned: TI 84+CE-T
  • Consoles, mobile devices and vintage computers owned: Sega Master System, Sony PlayStation 3
SUBSCRIBE TO THE FUTURERAVE.UK MAILING LIST
http://futurerave.uk

Offline xlibman

  • Omni founder & CW co-founder
  • Super User
  • Original 5
  • CodeWalrus Supporter
  • *
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 18730
  • Post Rating Ratio: +95/-4
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • DJ Omnimaga music store
  • Gender: Male
Heya and welcome here. :)
a lot of C programming skills.

*asm skill

I guess the porting of TI-Boy to CE is hard because lack of app on CE. The method used on 84CSE, 84SE can't be directly used. And given it is a particulary hard task, I doubt it will be done in one day..
Wouldn't C be fast enough for such emulator on the CE? Also the app issue isn't a problem if you can manage to read multiple 8xv files at the same time (with all games being split into 64 KB appvars)
  • Calculators owned: TI-57, 73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX (semi-broken), HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)

Offline gameblabla

  • Super User
  • Join Date: May 2015
  • Location:
  • Posts: 726
  • Post Rating Ratio: +15/-7
  • TI-nspire porter
Wouldn't C be fast enough for such emulator on the CE? Also the app issue isn't a problem if you can manage to read multiple 8xv files at the same time (with all games being split into 64 KB appvars)
The problem with C isn't the speed, it's the RAM.
A few days ago, i was attempting to port a very stripped version of my Vectrex emulator to the CE.
The executable itself was 36ko (which is huge) and when i ran my stripped down PC version on my pc, it would require at least 2MB of RAM.
When i tried to run it on CEmu, it would just flat out crash upon booting because it would overflow the memory.

For this reason, making an emulator in C is almost impossible unless it's a very underpowered console such as the CHIP8.
  • Calculators owned: TI Nspire CX, TI-89

Offline xlibman

  • Omni founder & CW co-founder
  • Super User
  • Original 5
  • CodeWalrus Supporter
  • *
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 18730
  • Post Rating Ratio: +95/-4
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • DJ Omnimaga music store
  • Gender: Male
So you mean that C code is much larger than straight assembly? I thought that the file size was at least somewhat comparable, at least on the CE.


That said I am surprised that RAM is such a serious issue @gameblabla . If an ASM Game Boy emulator could run fine with only 48 KB of RAM, then why can't a C Game Boy emulator run fine with 256 KB of RAM? I mean, there's no way a C GB emulator will be 5.3 times larger than its ASM counterpart (even Axe Parser executables aren't more than twice the size of their ASM counterparts).



http://www.ticalc.org/archives/files/fileinfo/419/41990.html
« Last Edit: January 24, 2017, 06:56:34 pm by DJ Omnimaga »
  • Calculators owned: TI-57, 73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX (semi-broken), HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)

Offline gameblabla

  • Super User
  • Join Date: May 2015
  • Location:
  • Posts: 726
  • Post Rating Ratio: +15/-7
  • TI-nspire porter
It must be carefully implemented to emulate the gameboy's z80 code as close to metal as possible or else it will simply end up
too big and fail rly hard lel.
This was possible before because it was using an actual z80 processor and the only real issue he had was to emulate was the graphic chip and some
hardware-specific crap.

Now we've got the CE with its 24-bits addressing mode, which means it's not fully compatible with the z80.
If it was simple to program it, he would have done it a while ago but the thing is we're still waiting for it and it seems like calc84maniac has dropped out
the surface of earth.

Also, there isn't 256ko of free RAM, only like 180Kb.
  • Calculators owned: TI Nspire CX, TI-89

Offline xlibman

  • Omni founder & CW co-founder
  • Super User
  • Original 5
  • CodeWalrus Supporter
  • *
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 18730
  • Post Rating Ratio: +95/-4
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • DJ Omnimaga music store
  • Gender: Male
It must be carefully implemented to emulate the gameboy's z80 code as close to metal as possible or else it will simply end up
too big and fail rly hard lel.
This was possible before because it was using an actual z80 processor and the only real issue he had was to emulate was the graphic chip and some
hardware-specific crap.

Now we've got the CE with its 24-bits addressing mode, which means it's not fully compatible with the z80.
If it was simple to program it, he would have done it a while ago but the thing is we're still waiting for it and it seems like calc84maniac has dropped out
the surface of earth.

Also, there isn't 256ko of free RAM, only like 180Kb.
There is defitively 256 KB of RAM. If WikiTI says so then they are 100% right: http://wikiti.brandonw.net/index.php?title=Category:84PCE:General_Hardware_Information

That's unless 76 of it is used at any time even during ASM/C program execution. As for the CE being an ez80, I am fairly sure that it supports z80 mode, but I doubt it's viable for C anyway.

In any case, if MateoC says a GB emulator is more than possible on the CE then he must be right. He's MateoC, after all. But yeah as you said it's not simple to code and it wasn't simple on z80 calcs either, because it took until 2009 before someone do it and so far, only 1 person made z80 calculator GB emulators, so now that he essentially quit most of the calc community, we would need to wait until someone who has similar skills at coding on old-school platforms to join the TI community.

Also you can't just code on an old-school platform like you code on a modern computer and expect things to work.
  • Calculators owned: TI-57, 73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX (semi-broken), HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)

Offline TheMachine02

  • Full User
  • Join Date: Dec 2014
  • Location:
  • Posts: 351
  • Post Rating Ratio: +14/-0
The ez80 is a fully ccompatible z80 chip, and there is 256Kb of RAM (but using it all is a bit tricky). Anyway, it is doable. Futhermore, I doubt that memory consumption on PC would be close to memory consuption on CE because different target that all  :P The PC will most likely keep more thing in cache than the CE.

Offline xlibman

  • Omni founder & CW co-founder
  • Super User
  • Original 5
  • CodeWalrus Supporter
  • *
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 18730
  • Post Rating Ratio: +95/-4
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • DJ Omnimaga music store
  • Gender: Male
What makes it difficult to use the entire 256 KB of RAM? Are some RAM areas protected due to some TI restrictions or something?
  • Calculators owned: TI-57, 73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX (semi-broken), HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)

Offline TheMachine02

  • Full User
  • Join Date: Dec 2014
  • Location:
  • Posts: 351
  • Post Rating Ratio: +14/-0
What is difficult is it is user RAM and that some place is used by the OS. To use the full 256Kb range you need to backup RAM to flash, use it for your program and restore it afterward. 'Safe' area is about 70Kb and user RAM could be allocated for about ~150Kb. Still you have to get account of the copy of the program in RAM and the stack which eat some memory too.

Offline xlibman

  • Omni founder & CW co-founder
  • Super User
  • Original 5
  • CodeWalrus Supporter
  • *
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 18730
  • Post Rating Ratio: +95/-4
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • DJ Omnimaga music store
  • Gender: Male
Ah right. I am fairly sure that some ASM games do that, though (copying OS-used RAM to flash), but it's kinda risky if the user pulls a battery in the middle of execution or something. That said, I am fairly sure that even 128 KB of RAM alone would be enough to get a GB emulator to work on the CE if your nickname is calc84maniac.
  • Calculators owned: TI-57, 73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX (semi-broken), HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)

Offline Sorunome

  • Full User
  • CodeWalrus Supporter
  • *
  • Safe-haven access
  • 2016 Yearly CW Project Winner
  • *
  • Join Date: Mar 2015
  • Location: Equestria
  • Posts: 156
  • Post Rating Ratio: +6/-0
  • Keep calm and fox on
    • @sorunome
    • @sorunome
    • /u/sorunome
    • Sorunome
    • 110/11005
    • My Website
  • Gender: Female
Ah right. I am fairly sure that some ASM games do that, though (copying OS-used RAM to flash), but it's kinda risky if the user pulls a battery in the middle of execution or something. That said, I am fairly sure that even 128 KB of RAM alone would be enough to get a GB emulator to work on the CE if your nickname is calc84maniac.
Flash access itself is only allowed by the TIOS or, well, by abusing bugs. The only way i can think of to copy os ram to flash is by creating an appvar and archive that one.
However, as far as I know what's done way more frequently is to just move the tios ram around, so that you have larger continuus blocks of ram (i actually do that in reuben3).
Both methods obviously result in not being able to use a lot of the system routines correctly.

EDIT: if a user pulls a battery in the middle of executing an app or a program the TIOS will trigger a ram-clear anyways
  • Calculators owned: Too many (why are you even reading this?)
  • Consoles, mobile devices and vintage computers owned: Gamebuino!
This is a signature.
And now......give me an internet!

To be or not to be.........is that even a question? Who gets to decide this anyways?

 


You can also use the following HTML or bulletin board code to share it on your page or forum signature!


Also do not forget to check our affiliates below.
Planet Casio TI-Planet Calc.news BroniesQC BosaikNet Velocity Games