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

[theoretical][debate][TI-84+CE]About porting Axe Parser to color calculators

Started by Agothro, January 04, 2015, 06:02:17 PM

Previous topic - Next topic

0 Members and 3 Guests are viewing this topic.

aetios

It's probably possible to write Axe for the Nspire/Prime/somecasiocalc. Thing is however that the whole Axe syntax is centered around how things work on the z80 and also around how input works on the 84 series, namely using tokens.
That said I can't do anything but applaud a port/reimplementation of Axe to another platform :D
ceci n'est pas une signature

Agothro

Quote from: Art_of_camelot on January 05, 2015, 12:14:02 AM
Axe is fully compiled. If someone were to make a version of it they'd need to be very familiar with SH4 assembly for the Casio Prizm and newer 9860's. If they wanted compatibility for the older models they'd need to be familiar with whatever processor those models use as well (SH3?). As I said though, I think it's pretty unlikely.

I could perhaps write a version in C. Do you think that'd work with an nspire?
...in America!
– Bandit Keith

TIfanx1999

The nspire does support C yes, but asm would be more optimized.

Dream of Omnimaga

#18
I would say that maybe there could be a brand new Axe utilizing an identical syntax and use a computer for compiling to multiple platforms simultaneously, but on the side, someone could write a 83+ Axe to 84+CSE Axe program converter for people who just want to play older games on their color model. Actually, there could even be a converter for other calcs with no speed restrictions and the option to scale graphics up.

This is a mockup of my idea:


The first would basically be 96x64 spanning across 96x128 on 160x240, while the second one would be 288x64 spanning across 288x192 on 320x240.
However, this example is a 6 MHz game. Even with the Full command I doubt a CSE version would run at 100% speed, which is why I slowed down the modified screenshots above to 12 FPS instead of about 18. Perhaps the first, especially considering it's in half-res mode, would run closer to original game speed.
  • 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

Agothro

Quote from: DJ Omnimaga on January 05, 2015, 05:28:15 AM
I would say that maybe there could be a brand new Axe utilizing an identical syntax and use a computer for compiling to multiple platforms simultaneously, but on the side, someone could write a 83+ Axe to 84+CSE Axe program converter for people who just want to play older games on their color model. Actually, there could even be a converter for other calcs with no speed restrictions and the option to scale graphics up.

This is a mockup of my idea:


The first would basically be 96x128 on 160x240, while the second one would be 288x192 on 320x240.
However, this example is a 6 MHz game. Even with the Full command I doubt a CSE version would run at 100% speed, which is why I slowed down the modified screenshots above to 12 FPS instead of about 18. Perhaps the first, especially considering it's in half-res mode, would run closer to original game speed.


Nice mockup, matches my idea. Any reason to keep scanlines?
...in America!
– Bandit Keith

Dream of Omnimaga

#20
Because by only drawing every two row of pixels, it doubles rendering speed. Remember that on a CSE, filling the entire 320x240 screen with just 1 single color takes approximately 0.25 seconds, meaning 4 images/seconds. My game runs at 20 FPS on the 6 MHz 83+.

Plus we have to take both rendering and game code speed into account anyway (for example, if this game was 288x192 with no scanlines and ran at 15 MHz on a color model, it would probably run at 8-10 FPS)
  • 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

Agothro

Quote from: DJ Omnimaga on January 05, 2015, 05:54:08 AM
Because by only drawing every two row of pixels, it doubles rendering speed. Remember that on a CSE, filling the entire 320x240 screen with just 1 single color takes approximately 0.25 seconds, meaning 4 images/seconds. My game runs at 20 FPS on the 6 MHz 83+.

Plus we have to take both rendering and game code speed into account anyway (for example, if this game was 288x192 with no scanlines and ran at 15 MHz on a color model, it would probably run at 8-10 FPS)

So do you just write differences to screen or the whole image?
...in America!
– Bandit Keith

Dream of Omnimaga

Differences to screen. The black rows remains untouched. When you draw a 8x8 sprite, it just spaces its 8 rows out.
  • 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

Keoni29

The graphics problem could be tackled by making a graphics layer for every calc. The cpu problem can be solved by using an interpreted language such as Forth.

These solutions will always be slower than native code.

That said: some games do not require speed. An example is a Z-machine which interprets text adventures.
If you like my work, why not give me an internet?

Dark Storm

Quote from: Art_of_camelot on January 05, 2015, 12:14:02 AM
Axe is fully compiled. If someone were to make a version of it they'd need to be very familiar with SH4 assembly for the Casio Prizm and newer 9860's. If they wanted compatibility for the older models they'd need to be familiar with whatever processor those models use as well (SH3?). As I said though, I think it's pretty unlikely.
Ok, so I know why it's hard to make support for other calcs. I haven't enough skills in ASM, so Prizm should wait before see Axe games on it. :(

In other hand, I've so many projects to finish, Arcuz, MMGOC, my Web browser (with Lephenixnoir's engine), Calc Center, Serial support for FiXos, the list is very long ^^
I need a new laptop, and quick (my old is dead :( )
French young Casio programmer.
If I do some (big) mistakes in english, could you correct me?

Keoni29

I also have way too many projects going on, but I don't work on them simultaneously. It's easy to get distracted and never get anything done. It's best to work on a project for a few days and if you get stuck move on to the next project and work on that for a while. Eventually you will bring the amt. of projects back to a reasonable number and you can maybe start learning assembly language on the side.
If you like my work, why not give me an internet?

Dream of Omnimaga

Quote from: Keoni29 on January 05, 2015, 08:02:38 AM
The cpu problem can be solved by using an interpreted language such as Forth.

If such Axe compiler supported the HP Prime or Ndless, I doubt that CPU would be much of a problem, considering those calcs are 400 and 150 MHz respectively (assuming the HP Prime was opened to ASM dev and that the program wasn't HP PPL, but even in HP PPL it might still be fast enough)
  • 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

Duke "Tape" Eiyeron

Quote from: Dark Storm on January 05, 2015, 10:11:44 PM
Quote from: Art_of_camelot on January 05, 2015, 12:14:02 AM
Axe is fully compiled. If someone were to make a version of it they'd need to be very familiar with SH4 assembly for the Casio Prizm and newer 9860's. If they wanted compatibility for the older models they'd need to be familiar with whatever processor those models use as well (SH3?). As I said though, I think it's pretty unlikely.
Ok, so I know why it's hard to make support for other calcs. I haven't enough skills in ASM, so Prizm should wait before see Axe games on it. :(

In other hand, I've so many projects to finish, Arcuz, MMGOC, my Web browser (with Lephenixnoir's engine), Calc Center, Serial support for FiXos, the list is very long ^^
I need a new laptop, and quick (my old is dead :( )

Why isn't FiXOS the first of your list? >:|
  • Calculators owned: A lot.

Dream of Omnimaga

It could be because it will have fewer users than the official OS since not as many people are aware that it exists. Also, many people might like to switch to a custom OS that is better than the official Casio OS, but still want to use the official OS too in order to run their favorite BASIC and ASM/C games, so until it supports dual-booting, it will probably take a while after being finished that it reaches a significant userbase (a much faster BASIC interpreter or Axe language would be an huge seller, though). I really hope it gets finished, though, same for KnightOS 84+.
  • 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

Duke "Tape" Eiyeron

(It was just because the project stalled for too much time that I wanted it to get a littlw nudge, not because the user base).
It's a shame that we won't have something like Axe on another platforms. It's holy useful.
  • Calculators owned: A lot.

Powered by EzPortal