Author Topic: SDL ports for Nspire  (Read 113607 times)

0 Members and 1 Guest are viewing this topic.

Offline Ivoah

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 336
  • Rating: +3/-0
    • View Profile
    • Codinghobbit
Re: SDL ports for Nspire
« Reply #15 on: May 06, 2015, 08:02:46 pm »
What is the difference between the _gen and normal versions of these programs?
http://codinghobbit.no-ip.org
My Calcs:
TI-86 (now broken) $2
TI SR-56 - $0
TI-Nspire CX CAS - $152
TI-84+ Silver Edition - $56
TI-84+ Silver Edition - $0
TI-85 - $0
TI-73 Explorer VS - $10
ViewScreen - $3

Offline gameblabla

  • LV3 Member (Next: 100)
  • ***
  • Posts: 86
  • Rating: +17/-1
    • View Profile
    • Gameblabla's website
Re: SDL ports for Nspire
« Reply #16 on: May 06, 2015, 08:18:41 pm »
Quote
What is the difference between the _gen and normal versions of these programs?
Gen here stands for Genzehn.
Genzehn is an executable format and unlike ELF, it can be compressed. (which is useful on devices with low space like the Nspire)
But it does not work on Ndless 3.1, unlike the normal version.

Offline Ivoah

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 336
  • Rating: +3/-0
    • View Profile
    • Codinghobbit
Re: SDL ports for Nspire
« Reply #17 on: May 06, 2015, 08:29:36 pm »
Quote
What is the difference between the _gen and normal versions of these programs?
Gen here stands for Genzehn.
Genzehn is an executable format and unlike ELF, it can be compressed. (which is useful on devices with low space like the Nspire)
But it does not work on Ndless 3.1, unlike the normal version.

Hmm, well those ones don't seem to work on my 3.6 Nspire
http://codinghobbit.no-ip.org
My Calcs:
TI-86 (now broken) $2
TI SR-56 - $0
TI-Nspire CX CAS - $152
TI-84+ Silver Edition - $56
TI-84+ Silver Edition - $0
TI-85 - $0
TI-73 Explorer VS - $10
ViewScreen - $3

Offline gameblabla

  • LV3 Member (Next: 100)
  • ***
  • Posts: 86
  • Rating: +17/-1
    • View Profile
    • Gameblabla's website
Re: SDL ports for Nspire
« Reply #18 on: May 06, 2015, 09:15:26 pm »
Quote
Hmm, well those ones don't seem to work on my 3.6 Nspire
It seems like you're right.
I have installed OS 3.6 along with Ndless 3.6 and the genzehn version (with compression on) do not work.
The normal versions still work.

It seems like you need a version of Ndless from Git (Or Ndless 3.9) to run them...
Thanks Ivoah.
EDIT : I have updated all the links, i no longer provide a genzehn version.
I have also recompiled PokeMini with Ofast, it should be slightly faster.
« Last Edit: May 06, 2015, 09:27:28 pm by gameblabla »

Offline Ivoah

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 336
  • Rating: +3/-0
    • View Profile
    • Codinghobbit
Re: SDL ports for Nspire
« Reply #19 on: May 06, 2015, 09:32:12 pm »
How do you exit the genesis emu? Also, why does it seem like it has frameskip set to >9000?
http://codinghobbit.no-ip.org
My Calcs:
TI-86 (now broken) $2
TI SR-56 - $0
TI-Nspire CX CAS - $152
TI-84+ Silver Edition - $56
TI-84+ Silver Edition - $0
TI-85 - $0
TI-73 Explorer VS - $10
ViewScreen - $3

Offline gameblabla

  • LV3 Member (Next: 100)
  • ***
  • Posts: 86
  • Rating: +17/-1
    • View Profile
    • Gameblabla's website
Re: SDL ports for Nspire
« Reply #20 on: May 06, 2015, 10:07:36 pm »
Quote
How do you exit the genesis emu? Also, why does it seem like it has frameskip set to >9000?
To exit, you have to pres ESC. But it's so slow that you need to constanly press that button in order to exit.
If you're too slow, just press the reset button behind your calc.
DGen is skipping frames when it becomes slow, which means there's still a lot of work to do on DGen.
It runs full speed on TI nspire... with a frameskip of 60.

Sorry for the clickbaiting but i just wanted to see your reaction(s).
Snes9X takes about the same amount of CPU cycles as DGen.
Unless someone really wants to steps in and improve it, it's not going to happen.


Offline Ivoah

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 336
  • Rating: +3/-0
    • View Profile
    • Codinghobbit
Re: SDL ports for Nspire
« Reply #21 on: May 06, 2015, 10:15:05 pm »
Quote
How do you exit the genesis emu? Also, why does it seem like it has frameskip set to >9000?
To exit, you have to pres ESC. But it's so slow that you need to constanly press that button in order to exit.
If you're too slow, just press the reset button behind your calc.
DGen is skipping frames when it becomes slow, which means there's still a lot of work to do on DGen.
It runs full speed on TI nspire... with a frameskip of 60.

Sorry for the clickbaiting but i just wanted to see your reaction(s).
Snes9X takes about the same amount of CPU cycles as DGen.
Unless someone really wants to steps in and improve it, it's not going to happen.

Well then, you might want to edit the post.
http://codinghobbit.no-ip.org
My Calcs:
TI-86 (now broken) $2
TI SR-56 - $0
TI-Nspire CX CAS - $152
TI-84+ Silver Edition - $56
TI-84+ Silver Edition - $0
TI-85 - $0
TI-73 Explorer VS - $10
ViewScreen - $3

Offline Vogtinator

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1193
  • Rating: +108/-5
  • Instruction counter
    • View Profile
Re: SDL ports for Nspire
« Reply #22 on: May 07, 2015, 04:47:10 pm »
There is no downside to using Zehn, as make-prg generates backwards-compatible tns's, even with compression enabled.
It also doesn't make any sense to have only the Zehn file and no backwards-compatible one as it adds not even 10k.

Offline gameblabla

  • LV3 Member (Next: 100)
  • ***
  • Posts: 86
  • Rating: +17/-1
    • View Profile
    • Gameblabla's website
Re: SDL ports for Nspire
« Reply #23 on: May 11, 2015, 07:54:02 pm »
Oswan
I have improved Oswan for TI nspire and most games run faster than before.
Source code can now be found here : https://github.com/gameblabla/oswan

LameNES
I have ported LameNES to TI nspire, a very simple NES emulator that can emulate Super Mario Bros.
(and some other games too with some graphical glitches)
This was using SDL but this port uses both n2DLib for graphics and SDL for input.
It's pretty slow unfortunely, even with n2DLib. (Everything is interpreted)


Gee, only oswan runs decently on Ti nspire, i think i will stop porting emulators.
Downloads in the attachments and source code will be soon available on github.

SQRXZ4
I have finished porting SQRXZ4 to the TI nspire too.
That's right : Sqrxz is coming back to the ti calculators, where it originated from.
It is available at : http://www.sqrxz.de/sqrxz-4/

That's all for now, thanks.
« Last Edit: June 27, 2016, 10:50:08 am by gameblabla »

Offline gameblabla

  • LV3 Member (Next: 100)
  • ***
  • Posts: 86
  • Rating: +17/-1
    • View Profile
    • Gameblabla's website
Re: SDL ports for Nspire
« Reply #24 on: May 16, 2015, 04:25:11 pm »
Here's another batch of games for ya.

Liero

Ported Liero to the TI Nspire.
Liero is kind of like Worms except it's realtime instead of being turn-by-turn.

Sqrxz 3
I have ported Sqrxz3 to the TI Nspire  and it should be soon available at :
http://www.sqrxz.de/sqrxz-3/
« Last Edit: July 15, 2015, 09:48:48 pm by gameblabla »

Offline Ivoah

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 336
  • Rating: +3/-0
    • View Profile
    • Codinghobbit
Re: SDL ports for Nspire
« Reply #25 on: May 16, 2015, 06:17:46 pm »
Where's the data folder for liero?
http://codinghobbit.no-ip.org
My Calcs:
TI-86 (now broken) $2
TI SR-56 - $0
TI-Nspire CX CAS - $152
TI-84+ Silver Edition - $56
TI-84+ Silver Edition - $0
TI-85 - $0
TI-73 Explorer VS - $10
ViewScreen - $3

Offline Adriweb

  • Editor
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1708
  • Rating: +229/-17
    • View Profile
    • TI-Planet.org
My calculator programs
TI-Planet.org co-admin.
TI-Nspire Lua programming : Tutorials  |  API Documentation

Offline Ivoah

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 336
  • Rating: +3/-0
    • View Profile
    • Codinghobbit
Re: SDL ports for Nspire
« Reply #27 on: May 18, 2015, 09:51:46 am »
http://codinghobbit.no-ip.org
My Calcs:
TI-86 (now broken) $2
TI SR-56 - $0
TI-Nspire CX CAS - $152
TI-84+ Silver Edition - $56
TI-84+ Silver Edition - $0
TI-85 - $0
TI-73 Explorer VS - $10
ViewScreen - $3

Offline gameblabla

  • LV3 Member (Next: 100)
  • ***
  • Posts: 86
  • Rating: +17/-1
    • View Profile
    • Gameblabla's website
Re: SDL ports for Nspire
« Reply #28 on: May 19, 2015, 07:37:38 pm »
Quote
Alright, thanks. It wasn't in the zip with the binary.
Yeah, i forgot to put the data in when you downloaded it.
Quickly fixed it after i saw your post.

Anyways, i was not able to succesfully port everything.
So i will just make a list of my failed attempts :

ProSystem : An Atari 7800 emulator. When attempt to emulate a game, it shows a garbled screen and then it becomes stuck.
I tried the old Sally video core but i got instead a black screen. (but i can see the fps running)
OpenTyrian : Crashes when you start a new game.
Genesis Plus GX : Works much faster than Dgen but unfortunely, it crashes after the Sega screen
on most games.
The only game that goes after the black screen is Flicky and that game crashes when you get in-game.
Homebrew games might work on it though. (Yay ! Crazy Bus on my calculator)
I have included a pre-alpha binary for those who want to try.
Genesis Plus (Charles Mcdonald's version) : Can't even build for Linux.
I'm in the process of fixing it though.
NavIt, a gps thingy : There's no support for threads. Will try later when Voginator adds support for threads.
Psx4ALL : Crashes the calc right after you start it.
Mgba : Can't be built without pthread for now. There are defines for buidling without threads
but this does not work without threads unfortunely.
When the mGBA team fixes this, i will be able to do a quick port.
Hopefully they don't drop support for SDL 1.2 !
NeoPop-SDL : Crashes when you load a game.
I tried to investigate in order to know why and found the culprit.
This is really, really strange and way beyond me.

Spoiler For Spoiler:
The culprit for the crashes is found in TLCS900h_interpret.c :
When TLCS900h_interpret is calling (*decodeExtra[first])();
it's crashing right away.
Calling (*decode[first])(); crashes the calc too...

I have the same issues for some games with Oswan.
Code: [Select]
static void (*decodeExtra[256])() =
{
/*0*/ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
/*1*/ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
/*2*/ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
/*3*/ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
/*4*/ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
/*5*/ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
/*6*/ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
/*7*/ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
/*8*/ ExXWA, ExXBC, ExXDE, ExXHL, ExXIX, ExXIY, ExXIZ, ExXSP,
ExXWAd, ExXBCd, ExXDEd, ExXHLd, ExXIXd, ExXIYd, ExXIZd, ExXSPd,
/*9*/ ExXWA, ExXBC, ExXDE, ExXHL, ExXIX, ExXIY, ExXIZ, ExXSP,
ExXWAd, ExXBCd, ExXDEd, ExXHLd, ExXIXd, ExXIYd, ExXIZd, ExXSPd,
/*A*/ ExXWA, ExXBC, ExXDE, ExXHL, ExXIX, ExXIY, ExXIZ, ExXSP,
ExXWAd, ExXBCd, ExXDEd, ExXHLd, ExXIXd, ExXIYd, ExXIZd, ExXSPd,
/*B*/ ExXWA, ExXBC, ExXDE, ExXHL, ExXIX, ExXIY, ExXIZ, ExXSP,
ExXWAd, ExXBCd, ExXDEd, ExXHLd, ExXIXd, ExXIYd, ExXIZd, ExXSPd,
/*C*/ Ex8, Ex16, Ex24, ExR32, ExDec, ExInc, 0, ExRC,
0, 0, 0, 0, 0, 0, 0, 0,
/*D*/ Ex8, Ex16, Ex24, ExR32, ExDec, ExInc, 0, ExRC,
0, 0, 0, 0, 0, 0, 0, 0,
/*E*/ Ex8, Ex16, Ex24, ExR32, ExDec, ExInc, 0, ExRC,
0, 0, 0, 0, 0, 0, 0, 0,
/*F*/ Ex8, Ex16, Ex24, ExR32, ExDec, ExInc, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0
};
static void (*decodeExtra[256])() =
{
/*0*/ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
/*1*/ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
/*2*/ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
/*3*/ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
/*4*/ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
/*5*/ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
/*6*/ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
/*7*/ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
/*8*/ ExXWA, ExXBC, ExXDE, ExXHL, ExXIX, ExXIY, ExXIZ, ExXSP,
ExXWAd, ExXBCd, ExXDEd, ExXHLd, ExXIXd, ExXIYd, ExXIZd, ExXSPd,
/*9*/ ExXWA, ExXBC, ExXDE, ExXHL, ExXIX, ExXIY, ExXIZ, ExXSP,
ExXWAd, ExXBCd, ExXDEd, ExXHLd, ExXIXd, ExXIYd, ExXIZd, ExXSPd,
/*A*/ ExXWA, ExXBC, ExXDE, ExXHL, ExXIX, ExXIY, ExXIZ, ExXSP,
ExXWAd, ExXBCd, ExXDEd, ExXHLd, ExXIXd, ExXIYd, ExXIZd, ExXSPd,
/*B*/ ExXWA, ExXBC, ExXDE, ExXHL, ExXIX, ExXIY, ExXIZ, ExXSP,
ExXWAd, ExXBCd, ExXDEd, ExXHLd, ExXIXd, ExXIYd, ExXIZd, ExXSPd,
/*C*/ Ex8, Ex16, Ex24, ExR32, ExDec, ExInc, 0, ExRC,
0, 0, 0, 0, 0, 0, 0, 0,
/*D*/ Ex8, Ex16, Ex24, ExR32, ExDec, ExInc, 0, ExRC,
0, 0, 0, 0, 0, 0, 0, 0,
/*E*/ Ex8, Ex16, Ex24, ExR32, ExDec, ExInc, 0, ExRC,
0, 0, 0, 0, 0, 0, 0, 0,
/*F*/ Ex8, Ex16, Ex24, ExR32, ExDec, ExInc, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0
};

static void (*decode[256])() =
{
/*0*/ sngNOP, sngNORMAL, sngPUSHSR, sngPOPSR, sngMAX, sngHALT, sngEI, sngRETI,
sngLD8_8, sngPUSH8, sngLD8_16, sngPUSH16, sngINCF, sngDECF, sngRET, sngRETD,
/*1*/ sngRCF, sngSCF, sngCCF, sngZCF, sngPUSHA, sngPOPA, sngEX, sngLDF,
sngPUSHF, sngPOPF, sngJP16, sngJP24, sngCALL16, sngCALL24, sngCALR, iBIOSHLE,
/*2*/ sngLDB, sngLDB, sngLDB, sngLDB, sngLDB, sngLDB, sngLDB, sngLDB,
sngPUSHW, sngPUSHW, sngPUSHW, sngPUSHW, sngPUSHW, sngPUSHW, sngPUSHW, sngPUSHW,
/*3*/ sngLDW, sngLDW, sngLDW, sngLDW, sngLDW, sngLDW, sngLDW, sngLDW,
sngPUSHL, sngPUSHL, sngPUSHL, sngPUSHL, sngPUSHL, sngPUSHL, sngPUSHL, sngPUSHL,
/*4*/ sngLDL, sngLDL, sngLDL, sngLDL, sngLDL, sngLDL, sngLDL, sngLDL,
sngPOPW, sngPOPW, sngPOPW, sngPOPW, sngPOPW, sngPOPW, sngPOPW, sngPOPW,
/*5*/ e, e, e, e, e, e, e, e,
sngPOPL, sngPOPL, sngPOPL, sngPOPL, sngPOPL, sngPOPL, sngPOPL, sngPOPL,
/*6*/ sngJR, sngJR, sngJR, sngJR, sngJR, sngJR, sngJR, sngJR,
sngJR, sngJR, sngJR, sngJR, sngJR, sngJR, sngJR, sngJR,
/*7*/ sngJRL, sngJRL, sngJRL, sngJRL, sngJRL, sngJRL, sngJRL, sngJRL,
sngJRL, sngJRL, sngJRL, sngJRL, sngJRL, sngJRL, sngJRL, sngJRL,
/*8*/ src_B, src_B, src_B, src_B, src_B, src_B, src_B, src_B,
src_B, src_B, src_B, src_B, src_B, src_B, src_B, src_B,
/*9*/ src_W, src_W, src_W, src_W, src_W, src_W, src_W, src_W,
src_W, src_W, src_W, src_W, src_W, src_W, src_W, src_W,
/*A*/ src_L, src_L, src_L, src_L, src_L, src_L, src_L, src_L,
src_L, src_L, src_L, src_L, src_L, src_L, src_L, src_L,
/*B*/ dst, dst, dst, dst, dst, dst, dst, dst,
dst, dst, dst, dst, dst, dst, dst, dst,
/*C*/ src_B, src_B, src_B, src_B, src_B, src_B, e, reg_B,
reg_B, reg_B, reg_B, reg_B, reg_B, reg_B, reg_B, reg_B,
/*D*/ src_W, src_W, src_W, src_W, src_W, src_W, e, reg_W,
reg_W, reg_W, reg_W, reg_W, reg_W, reg_W, reg_W, reg_W,
/*E*/ src_L, src_L, src_L, src_L, src_L, src_L, e, reg_L,
reg_L, reg_L, reg_L, reg_L, reg_L, reg_L, reg_L, reg_L,
/*F*/ dst, dst, dst, dst, dst, dst, e, sngLDX,
sngSWI, sngSWI, sngSWI, sngSWI, sngSWI, sngSWI, sngSWI, sngSWI
};

« Last Edit: May 19, 2015, 07:45:41 pm by gameblabla »

Offline gameblabla

  • LV3 Member (Next: 100)
  • ***
  • Posts: 86
  • Rating: +17/-1
    • View Profile
    • Gameblabla's website
Re: SDL ports for Nspire
« Reply #29 on: May 28, 2015, 08:09:16 am »
Today, i have ported this Watara Supervision emulator to Ti Nspire.

Potator

Potator is not a potato emulator but a Watara Supervision one.
It runs at 45 FPS (no frameskipping) on my Ti nspire CX overclocked at 264 Mhz.
All the games are playable as far as i know.

Here's some Supervision games i recommend you to check out :
- Jaguar Bomber : Good looking shoot em up thingy.
- Chimera : Cool isometric game but i don't get it. (Choose rotational for controls at the titlescreen)
- Balloon Flight : Clone of Ballon flight of the same name.
There's Cave Wonders which is apparently great but i have not tried that game yet.
« Last Edit: June 27, 2016, 10:50:45 am by gameblabla »