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 1 Guest are viewing this topic.

Dream of Omnimaga

Sorry to hear. :( I was sure that ez80 C was at least on-par with TI-Nspire and 68K C when compared to ARM and 68K ASM.

Now that is one other thing that gives a good argument about the need of Axe for the TI-84+CE, though. Axe was created with the Z80 limitations in mind.
  • 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

#61
Quote from: TheMachine02 on October 13, 2015, 01:51:31 PM
z80 mode have more ipc, mainly due to the same 16bit vs 8bit z80 issue and added RAM wait state.
The z80 is initially a (internally) 4 bit processor, calculating natively in 8 bit by doing two math pass. 16 bit use 4 pass, wich is why it is tremdemlousy slow. The ez80 is a (internally) 8 bit processor, using 2 math pass for 16 bits, 3 for 24 bits. 24 is faster than the 16 bits z80, but it still inherit the added TStates. Furthermore, each RAM acess add 4 wait States ( 2 if the acess is in video ram), and 24 bit stuff need 3 acess vs 2 for 16 bit. So yeah. Kinda creppy. Altough the optimization porcess really need a redefinition.


I was kinda interested in programming in ez80 asm, and maybe I will take this project, but don't count on this too much. I want to finish gLib and I need to buy a 83PCE.
Don't forget that the ez80 is a pipelined CPU. Indeed the ALU is 4 or 8 bits but that's not the only thing. :) An instruction that takes more than one cycle (basically every instruction) will allow the next one to start executing while it finishes.

Quote from: Lionel Debroux on October 15, 2015, 05:40:03 AM
Probably, yes.
While the eZ80's instruction set is somewhat more suitable for C than the original Z80 instruction set, it's far less so than, say, the 68000 and ARM9 instruction sets (let alone newer members of those series), which were designed with C in mind. There's no decent C compiler for the Z80 and eZ80 series, all compilers (including Zilog's) support only old dialects of C and/or generate bad code.
That's another good reason to have a custom language. I think that writing the compiler itself in C could be a good idea to allow running it on a PC as well as a calc though. In the end I gave up programming in Axe because it was only editable on-calc, even though that was one of my main reasons to start using it. More flexibility is better. :)

TheMachine02

Quote from: Streetwalrus on October 15, 2015, 07:11:41 AM
Don't forget that the ez80 is a pipelined CPU. Indeed the ALU is 4 or 8 bits but that's not the only thing. :) An instruction that takes more than one cycle (basically every instruction) will allow the next one to start executing while it finishes.

Yes and no, and it doesn't change the fact that z80 mode is faster than ez80 mode. It allow indeed instruction fetch and decode before the previous instruction is finished to be executed, making ipc (theorically) x3 bigger. However, RAM wait state made the pipeline even more trickier and 'hide' it's advantage, as fetching the instruction add wait state,  without loosing the bad call/jump fetch problem (it need to flush the pipeline). And the pipeline IS active in z80 mode. It is just adressing change to have compatibility. ez80 'z80 mode' is far more superior to physical z80 in terms of ipc.

Dream of Omnimaga

Streetwalrus, actually you can edit Axe on the computer too, using SourceCoder or Tokens. But saving in Tokens is not always ideal since CTRL+S doesn't create a 8xp, but rather a text file with the source. Not ideal when editing many programs at once.

Also I didn't know that ez80's Z80 mode had pipelining.
  • 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

Quote from: DJ Omnimaga on October 17, 2015, 06:04:11 AM
Streetwalrus, actually you can edit Axe on the computer too, using SourceCoder or Tokens. But saving in Tokens is not always ideal since CTRL+S doesn't create a 8xp, but rather a text file with the source. Not ideal when editing many programs at once.
Yeah but compiling. You need a calc or an emulator to compile Axe programs. It's possible to automate an emulator to transfer the file and compile the program automatically but that's a pretty hacky setup.

Hayleia

Quote from: Streetwalrus on October 18, 2015, 01:09:39 PM
Yeah but compiling. You need a calc or an emulator to compile Axe programs. It's possible to automate an emulator to transfer the file and compile the program automatically but that's a pretty hacky setup.
That's hacky if you want, but you have to admit that in the end, it's even really convenient since you can choose your text editor and compile faster than on calc :P
So it almost looks like an IDE where you only have to press a button to compile and run.

novenary


Dream of Omnimaga

Quote from: Streetwalrus on October 18, 2015, 01:09:39 PM
Quote from: DJ Omnimaga on October 17, 2015, 06:04:11 AM
Streetwalrus, actually you can edit Axe on the computer too, using SourceCoder or Tokens. But saving in Tokens is not always ideal since CTRL+S doesn't create a 8xp, but rather a text file with the source. Not ideal when editing many programs at once.
Yeah but compiling. You need a calc or an emulator to compile Axe programs. It's possible to automate an emulator to transfer the file and compile the program automatically but that's a pretty hacky setup.
Do you mean with KnightOS or TilEm? Because I doubt that Wabbit and jsTIfied supports that.
  • 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

Ivoah

Quote from: DJ Omnimaga on October 27, 2015, 08:14:13 PM
Quote from: Streetwalrus on October 18, 2015, 01:09:39 PM
Quote from: DJ Omnimaga on October 17, 2015, 06:04:11 AM
Streetwalrus, actually you can edit Axe on the computer too, using SourceCoder or Tokens. But saving in Tokens is not always ideal since CTRL+S doesn't create a 8xp, but rather a text file with the source. Not ideal when editing many programs at once.
Yeah but compiling. You need a calc or an emulator to compile Axe programs. It's possible to automate an emulator to transfer the file and compile the program automatically but that's a pretty hacky setup.
Do you mean with KnightOS or TilEm? Because I doubt that Wabbit and jsTIfied supports that.

Wabbit has scripting abilities, you can use it like a dll or something. Geekboy was showing it off in HCWP one night, also, what does this have to with KOS?
  • Calculators owned: TI-86 (now broken), TI SR-56, TI-Nspire CX CAS, TI-84+ SE, TI-84+ SE, TI-85, TI-73 Explorer VS, ViewScreen, TI-84+ CSE, TI-83+ SE

Dream of Omnimaga

Oh I didn't know that. It didn't seem to have such feature in the menus. As for KOS I meant the emulator, not the OS. My bad.
  • 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

Adriweb

  • Calculators owned: TI-Nspire CX CAS, TI-Nspire CX, TI-Nspire CAS (x3), TI-Nspire (x2), TI-Nspire CM-C CAS, TI-Nspire CAS+, TI-80, TI-82 Stats.fr, TI-82 Plus, TI-83 Plus, TI-83 Plus.fr USB, TI-84+, TI-84+ Pocket SE, TI-84+ C Silver Edition, TI-84 Plus CE, TI-89 Titanium, TI-86, TI-Voyage 200, TI-Collège Plus, TI-Collège Plus Solaire, 3 HP, some Casios
Co-founder & co-administrator of TI-Planet and Inspired-Lua

Dream of Omnimaga

Ah right, I always forget it. I once even said ez80 or calcemu lol.
  • 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

Dream of Omnimaga

#72
Bump:

So lately, there was some discussion again about porting Axe to the TI-84 Plus CE, especially now that @c4ooo has a TI-84 Plus CE, but for unknown reasons, the ones involved seems to insist on keeping that discussion exclusive to IRC, at the expense of forums where all the ideas would remain easy to search, such as this topic or the Axe sub-forum on Omni. So I'm bumping this to encourage people to share ideas they had or if they are interested in porting Axe themselves, and debate about which direction a CE port of Axe should take.

I think Axe CE should be a community project. It can be worked on by 1 person or more, it doesn't matter, but I think it should be open-source, so that everyone can help at will if they wish to, and continue the project easily if the original porter abandons the idea. I also think that regardless of if some people are against Axe CE, the project should happen anyway. It's up to the port author's discretion, though, but I'M giving suggestions here.

I also think that we should take the CW/CEmu/Cesium approach of starting this project without the original author, rather than waiting forever to see if the original author is gonna do it himself.
  • 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

Hayleia

I thought about something (not really an idea or anything but whatever).

What do we want Axe on CE for ?
1) port monochrome games to CE
2) on calc language
3) fill the gap between Basic and Asm

Point 3 is defeated by C.
Point 2 can be fulfilled with @PT_'s ICE
So only point 1 matters that much right ?

Well then, this means that Axe for CE doesn't have to be an on-calc compiler. It could be a compiler on PC that could compile for CE, or even cross-compile for CE and monochrome. This way, it fills the main goal without being annoyed with useless burdens, and it even has the potential to satisfy people who wanted an Axe compiler on PC from the beginning.
Plus, maybe some people are more experienced with programming on PC, so they would be more interested in contributing for a compiler on PC than for a compiler on calc ?

And then, maybe in the future it could become a big thing and a "real langage" not only used on calculators, for example compiled to bytecode and running in a VM similarly to Java. Yeah, why not dream and see big ? :P

And it would solve the "hacky setup" problem mentionned by @Streetwalrus earlier in that thread :P

Ivoah

Quote from: Hayleia on March 30, 2016, 08:43:53 PM
Point 2 can be fulfilled with @PT_'s ICE
I think ICE is compiled on a computer. He said he was going to write it in PHP.
  • Calculators owned: TI-86 (now broken), TI SR-56, TI-Nspire CX CAS, TI-84+ SE, TI-84+ SE, TI-85, TI-73 Explorer VS, ViewScreen, TI-84+ CSE, TI-83+ SE

Powered by EzPortal