π
<-

Emulateur Game Boy déjà pour Casio Prizm fx-CG/Graph 90+E !

Re: Emulateur Game Boy déjà pour Casio Prizm fx-CG/Graph 90+

Unread postby tswilliamson » 04 Apr 2017, 16:44

The 84+ CE should be able to run the emulator, I plan on doing this in the next few months, though I'm not sure of calc84maniac's plans.

Despite being 48 MHz and in the z80 family (just like the gameboy) It will need a bit of z80 assembly for the CPU core code and probably the draw routines. The reason for this is that the calculator has a pretty horrendous memory clock rate which makes effective emulation 4x slower. I have some ideas how this can be mitigated with caching to on chip memory areas in IO, etc, but it probably won't be as fast as Prizoop regardless.

I actually prefer the overclock in Prizoop over using Ptune 2. It uses the same code as the Ptune2 (provided by sentaro). The reason for this is I've tuned the overclock usage based on your other settings. For instance, less overclocking is needed when you do not scale the screen.

Thanks for the kind words everyone!
User avatar
tswilliamsonProgrammeur
Niveau 0: MI (Membre Inactif)
Niveau 0: MI (Membre Inactif)
Level up: 40%
 
Posts: 18
Joined: 04 Apr 2017, 16:36
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Emulateur Game Boy déjà pour Casio Prizm fx-CG/Graph 90+

Unread postby Adriweb » 04 Apr 2017, 16:50

tswilliamson wrote:The 84+ CE should be able to run the emulator, I plan on doing this in the next few months, though I'm not sure of calc84maniac's plans.

Well, what I know is that he's had a hard time getting it to the current state, and that is through insanely optimized assembly.
IMHO, there's absolutely no way at all a C version could work on the CE. Not only with ZDS (which is C89 only btw), but even with LLVM - there is simply not enough RAM and power for something not meticulously hand-crafted specifically for the CE, contrary to the Prizm that is "big/powerful enough".

Note: unless split in appvars (which makes it more complex), the maximum size of a program is 65k.

Another note, here's a reminder of the memory structure for C programs on the CE:
Image

(that said the stack may be a bit different now, I'll have to check with MateoC)

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 78.9%
 
Posts: 14744
Images: 1119
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: Emulateur Game Boy déjà pour Casio Prizm fx-CG/Graph 90+

Unread postby critor » 04 Apr 2017, 16:51

tswilliamson wrote:The 84+ CE should be able to run the emulator, I plan on doing this in the next few months, though I'm not sure of calc84maniac's plans.

Despite being 48 MHz and in the z80 family (just like the gameboy) It will need a bit of z80 assembly for the CPU core code and probably the draw routines. The reason for this is that the calculator has a pretty horrendous memory clock rate which makes effective emulation 4x slower. I have some ideas how this can be mitigated with caching to on chip memory areas in IO, etc, but it probably won't be as fast as Prizoop regardless.

I actually prefer the overclock in Prizoop over using Ptune 2. It uses the same code as the Ptune2 (provided by sentaro). The reason for this is I've tuned the overclock usage based on your other settings. For instance, less overclocking is needed when you do not scale the screen.

Thanks for the kind words everyone!


By reading the Cemetech topic, I thought your built-in overclock was based on the inferior Pover tool, and not on Ptune2.
Also, there is an hypothesis on Cemetech and Codewalrus, about many fx-CG bricking being related to the use of Pover.

But no problem then - my fault - I'm going to edit the post.

Thank you very much for your valuable post. :)
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41980
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Emulateur Game Boy déjà pour Casio Prizm fx-CG/Graph 90+

Unread postby Ti64CLi++ » 04 Apr 2017, 16:56

Arrêtez de vous chamailler comme des gamins critor et Adriweb :troll:
Sinon, très bonne nouvelle pour la FX-CG20, j'ai bien fait de ne pas la vendre :D
Pensez vous qu'un émulateur gba serait fonctionnel sur une telle calculatrice?
Image
User avatar
Ti64CLi++Modo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 32.5%
 
Posts: 3446
Images: 75
Joined: 04 Jul 2014, 14:40
Location: Clermont-Ferrand 63
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENS Rennes
GitHub: Ti64CLi

Re: Emulateur Game Boy déjà pour Casio Prizm fx-CG/Graph 90+

Unread postby Ti64CLi++ » 04 Apr 2017, 17:11

Et juste petite question pratique, est-ce qu'il fait tourner les jeux gbc?
Image
User avatar
Ti64CLi++Modo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 32.5%
 
Posts: 3446
Images: 75
Joined: 04 Jul 2014, 14:40
Location: Clermont-Ferrand 63
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENS Rennes
GitHub: Ti64CLi

Re: Emulateur Game Boy déjà pour Casio Prizm fx-CG/Graph 90+

Unread postby critor » 04 Apr 2017, 17:13

Comme expliqué en 1er post, non.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41980
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Emulateur Game Boy déjà pour Casio Prizm fx-CG/Graph 90+

Unread postby tswilliamson » 04 Apr 2017, 17:15

Adriweb wrote:IMHO, there's absolutely no way at all a C version could work on the CE. Not only with ZDS (which is C89 only btw), but even with LLVM - there is simply not enough RAM and power for something not meticulously hand-crafted, contrary to the Prizm..


Prizm is a bit more handcrafted than it appears. Despite starting from a "working" C emulator which only supported 1 game, I had to invent a number of techniques no one has done before to get it working at a good speed, such as the DMA from on-chip memory to the LCD controller.

Adriweb wrote:Note: unless split in appvars (which makes it more complex), the maximum size of a program is 65k.


I've done some research on this. Paletted VRAM is much more preferable for an emulator anyway which frees up another 75 kb or so. Prizoop has MUCH slower reads from Flash ROM so I have to do a lot more caching, and it only uses about 100 kb more memory than what I'd be able to piece together on CE.

In terms of executable size, Prizoop is pretty large just due to a bunch of inlined C code that won't be used the same way in a z80 based emulator core.
User avatar
tswilliamsonProgrammeur
Niveau 0: MI (Membre Inactif)
Niveau 0: MI (Membre Inactif)
Level up: 40%
 
Posts: 18
Joined: 04 Apr 2017, 16:36
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Emulateur Game Boy déjà pour Casio Prizm fx-CG/Graph 90+

Unread postby Ti64CLi++ » 04 Apr 2017, 17:15

Ok, merci, et désolé, je n'avais pas bien lu, je suis désolé du dérangement :(
Image
User avatar
Ti64CLi++Modo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 32.5%
 
Posts: 3446
Images: 75
Joined: 04 Jul 2014, 14:40
Location: Clermont-Ferrand 63
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENS Rennes
GitHub: Ti64CLi

Re: Emulateur Game Boy déjà pour Casio Prizm fx-CG/Graph 90+

Unread postby Adriweb » 04 Apr 2017, 17:30

tswilliamson wrote:Prizm is a bit more handcrafted than it appears. Despite starting from a "working" C emulator which only supported 1 game, I had to invent a number of techniques no one has done before to get it working at a good speed, such as the DMA from on-chip memory to the LCD controller.

Oh, I saw that, which is a nice work :) But I'm only talking about the standard core, or even just parts of it, sadly!
(Note: DMA isn't really fully understood on the CE yet, which is part of why it's not implemented in CEmu (another reason being that it's a PITA to implement)

tswilliamson wrote:
Adriweb wrote:Note: unless split in appvars (which makes it more complex), the maximum size of a program is 65k.

I've done some research on this. Paletted VRAM is much more preferable for an emulator anyway which frees up another 75 kb or so. Prizoop has MUCH slower reads from Flash ROM so I have to do a lot more caching, and it only uses about 100 kb more memory than what I'd be able to piece together on CE.

There are several things about that (and more tricks in general). For instance:
- Using parts of the VRAM as scratch memory (especially since the low gameboy BPP gives "a lot" of RAM there). Possibly for double buffering etc.
- Using the LCD palette area to have a low-wait-state executable memory (I think calc84 managed to fit 1023 bytes (out of the 1024 available) of critical code in there)

Adriweb wrote:In terms of executable size, Prizoop is pretty large just due to a bunch of inlined C code that won't be used the same way in a z80 based emulator core.

About inline stuff, this keyword isn't even known by ZDS :P Remember, it's some weird C89 with a whole lot of bugs (both at compiling and linking) :D
The eZ80 LLVM backend is solving all this but isn't quire ready yet. It could possibly compile the emu, but have fun trying to actually launch the final binary! (if by some luck it links and fits in an .8xp)

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 78.9%
 
Posts: 14744
Images: 1119
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: Emulateur Game Boy déjà pour Casio Prizm fx-CG/Graph 90+

Unread postby tswilliamson » 04 Apr 2017, 17:43

I appreciate the details. It's not immediately pertinent as I want to finish Prizoop up with GBC, save state support, etc, as well as make sure it takes advantage of the FX50.

Once I get to it though, in the best case the C code works well, otherwise I'll write it in ASM. It's not something I am unfamiliar with.
User avatar
tswilliamsonProgrammeur
Niveau 0: MI (Membre Inactif)
Niveau 0: MI (Membre Inactif)
Level up: 40%
 
Posts: 18
Joined: 04 Apr 2017, 16:36
Gender: Not specified
Calculator(s):
MyCalcs profile

PreviousNext

Return to News Casio

Who is online

Users browsing this forum: ClaudeBot [spider] and 11 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
916 utilisateurs:
>893 invités
>14 membres
>9 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)