Join us on Discord!
You can help CodeWalrus stay online by donating here.

SDL/n2DLib ports for TI Nspire

Started by gameblabla, August 19, 2015, 08:48:31 PM

Previous topic - Next topic

0 Members and 5 Guests are viewing this topic.

Dream of Omnimaga

Wow great to hear! O.O I was sure that the Nspire capabilities were what caused slowdowns. Gonna try the new version soon :D. Do you think the Genesis emu will be able to see the same fixes?
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

novenary

The Nspire is quite capable, it's just a matter of optimizing. And yes indeed, SDL is much slower than n2dlib because it adds a lot of overhead.

gameblabla

Potator had a bug that prevented input from being registered so i updated it.
Fixed "Keep Aspect" too.

Quote from: DJ Omnimaga on September 06, 2015, 05:18:22 AM
Wow great to hear! O.O I was sure that the Nspire capabilities were what caused slowdowns. Gonna try the new version soon :D. Do you think the Genesis emu will be able to see the same fixes?
Thanks.
Yes, it's much powerful now thanks to n2DLib.
As for Dgen (the Genesis emulator), it needs a lot of clean up.
It doesn't have a nice abstraction system like PocketSNES so it might take a while.

QuoteThe Nspire is quite capable, it's just a matter of optimizing. And yes indeed, SDL is much slower than n2dlib because it adds a lot of overhead.
Yes, that is true but i did not know is that only using one function from SDL (e.g SDL_GetError) makes twice as slow.
I guess this has to do with the slow RAM or cache ?
  • Calculators owned: None (used to own an Nspire and TI-89)

novenary

The memory bus in the CX is slow as hell (it's twice as fast on the Classic iirc). That aside, yes cache matters. I suppose the instruction cache on the Nspire is pretty small and SDL probably adds a big enough amount of overhead to render the cache useless.

Dream of Omnimaga

I bet the slow RAM is the issue. I was wondering why it seemed like HP PPL seemed faster than Ndless languages at first, then I got told that the memory bus was the bottleneck. Kinda like on the 83+ and 84+ where the slow LCD driver was a bottleneck preventing perfect flicklerless grayscale like on the 86.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

novenary

Don't forget that despite the same CPU core, the HP prime runs at several time the frequency of the Nspire (and frequency is a lot more relevant here since it's the exact same CPU), so in terms of raw CPU, the Prime wins. They also dedicated time to optimizing the PPL runtime which TI obviously did not do for Lua. That said, I wouldn't be surprised if the memory is faster in the Prime since TI is known for optimizing production cost over features and quality (see the 84+ RAM downgrade). Oh, and if HP is smart, PPL uses the 2D chip for all the screen stuff.

Dream of Omnimaga

That too, but it was still surprising at first considering HP PPL is a proprietary language. I mean, even though HP is commited to optimizing the language, I am surprised they managed to do it this much. Also the HP Prime is rumored to have hardware acceleration for 2D as you mention, which helps.

Working with 32 MB of RAM (where only about 16 is available to the user and where lots of memory leaks occur) can be annoying, though.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

novenary

It's not rumored to have HW acceleration, it has it. Whether the OS uses it is another question, but there are great advantages to using it in both speed and battery life, so it would be stupid if they didn't. Also the Nspire classic has way less free RAM.

Dream of Omnimaga

Wait it was confirmed? O.O I wasn't 100% sure since it seemed like there was no official statement about it. I wouldn't be surprised if 2D draw commands used it, considering how fast they can get.

And yeah the classic Nspires have less free RAM, but at least the OS isn't riddled with as many memory leaks as the HP Prime is. With some large RAM-intensive programs you need to soft-reset your HP Prime after almost every execution of that program in order for it to work.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

novenary

The chip used in the Prime is a well documented Samsung SoC, with full docs available from Samsung themselves. The datasheet is clear, it has a 2D chip. I need to check if it actually supports triangles for 3D.

Dream of Omnimaga

Ah ok I wasn't sure about where the chip came from. And it would be nice if triangles were supported. I know that HP PPL has two triangle commands (with opacity settings) but I don't know if it takes advantage of acceleration or not.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

gameblabla

2D acceleration chip or not, if there's no way to use it, then we can't go really far...

Anyways, i have posted another video about the new version of PocketSNES.
This time, i'm showing you Megaman X3 on my overclocked TI Nspire CX. (overclocked at 266Mhz, underclocked runs cool too)
https://www.youtube.com/watch?v=v6aFU05YMd4
  • Calculators owned: None (used to own an Nspire and TI-89)

Dream of Omnimaga

#57
I wish my calc could reach 266 MHz. The max I can reach without freezing Nover is 234 MHz (sometimes 246 but it's rare). But the speed improvements are definitively noticeable.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

gameblabla

I released a minor update to PocketSNES.
I reduced its size from 420kb to 235kb, i mapped diagnonals to 7,9,1,3 along with some minor changes.
Download link is the same.

I'm considering a port of PocketSNES for Casio Prizm but 2MB of RAM just won't cut it...
Sure, it can be overclocked pretty high but 2MB of RAM is not going to be enough, except maybe for Super Mario World...
Other than the Casio Prizm, i can't think of another calculator that could handle PocketSNES...

I found three games (Far East of Eden Zero, Street Fighter Alpha 2 and Star Ocean) that do not work on PocketSNES.
It's because they use the SDD1 chip, a chip that can decompress on-the-fly.

I think i should stop talking about PocketSNES for now and improve my other emulators/games.
I mean, i have Cave Story to do, as well as Dgen and get that Stella emulator to work...
  • Calculators owned: None (used to own an Nspire and TI-89)

Dream of Omnimaga

Can we now use the numpad to move around? While I find that control scheme weird on calcs, I think it's better on the TI-Nspire because of the way the touchpad works. For example, when I played Mario Kart this morning I noticed that if I press left or right but that my finger is 1 millimeter too low or too high, then it won't even register the keypress so I end up running straight into walls.

As for the PRIZM, the calc max speed is around 110 MHz IIRC and I heard that some people bricked their calcs just from overclocking, so they're best left at their 58 MHz speed. And you might be better off writing a brand new SNES emulator from scratch if you were gonna do it.

The HP Prime would handle it, but PocketSNES would basically be an OS until someone bothers making an ASM/C launcher that can also launch the OS (and only the OS if in exam mode).

I think you did a great job on PocketSNES so far. Too bad it didn't happen sooner in the Nspire CX life. Hopefully it becomes as popular as the other emulators.

Good luck on your other projects! :)


And yeah I assumed that Star Ocean would not work lol. Does Mario RPG work, though? It doesn't even launch on some SNES clone consoles like the RetroDuo.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Powered by EzPortal