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

Getting started with TI-84 Plus CE Programming [ASM] [ICE] [BASIC] [emulator]

Started by Dream of Omnimaga, March 25, 2015, 10:36:41 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Dream of Omnimaga

They are the same size and the only advantage they offer over matrices is that their width can be altered as you wish, just like xLIBC and Axe map data. You can also use custom list names, which is impossible with matrices, and the limit is 999 elements instead of 400 (unless that was changed too?)

Not sure if they are faster, since I haven't tried 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

tr1p1ea

Earlier today calc84 found that some IO is mapped to RAM! This means that we can access with LCD for example, without needing and exploits or hax!

This is VERY good news as it will allow us to achieve greater performance and keep data sizes down.

I have also located the parser hook and can confirm that it works stock which could mean that an xLIB on the CE is likely possible.

Here is a vid of a palette test:



Ill post more info later today if i can :).

Dream of Omnimaga

Awesome tr1p1ea! I'M really glad to read that. My main worry was the parser hook, because without them this severely limited some possibilities, especially hybrid BASIC programmers. What about Flash apps, though? I thought that parser hooks could only be installed from a Flash app?

And it's good that direct LCD access is still possible. Hopefully we can do extremely fast games on this platform.

Btw, could you test the following code?

While 1
ClrHome
Output(1,1,"0123456789ABCDEF0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEF0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEF0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEF0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEF0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
End


I am curious about how fast this refreshes compared to the CSE? That might give me an idea of what enhancements a CE version of First Fantasy could benefit from.

Also since this calc lacks a 160x120 mode, will xLIBC have a mode where the GRAM is the entire screen rather than one half at a time?
  • 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

tr1p1ea

The GRAM thing might work a bit different, as there is no LCD interlacing and no windowing. The buffer is still divided into 2 halves when using 8-bit palettes, however instead of being side-by-side like CSE, its top-bottom.

Ill test that when i get home!

Dream of Omnimaga

Aah ok. I guess I don't mind, though, if the xLIBC syntax isn't made entirely different unless necessary by any limitation and stuff.
  • 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

Caleb Hansberry

Awesome! It could be years before I get one though since I don't ever buy things new - my CSE came from winning a contest. But I love drooling over what other people get to experience :P like for the Nspire.

Nice tr1plea! What does the fox say though  ???
  • Calculators owned: TI-82, TI-83, TI-83+SE, TI-84+SE, TI-85, TI-89, TI-99/4A
  • Consoles, mobile devices and vintage computers owned: HP Portable Plus 110, Toshiba T3100, Toshiba T5200, GRiD 1660, TI-99/4A, Apple IIgs, and much more than I can list here

Adriweb

Quote from: DJ Omnimaga on March 31, 2015, 12:50:51 AMBtw, could you test the following code?

While 1
ClrHome
Output(1,1,"0123456789ABCDEF0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEF0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEF0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEF0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEF0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
End


I am curious about how fast this refreshes compared to the CSE? That might give me an idea of what enhancements a CE version of First Fantasy could benefit from.

Each full "refresh" takes 0.7s on average, on my 84+CE.
  • 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

Ok thanks. That seems a bit faster than on my CSE, although not by much. Still an improvement, 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

Dream of Omnimaga

Bwahahahahaha! http://tiplanet.org/forum/viewtopic.php?p=179794#p179794

http://zippy.gfycat.com/InbornConcernedFulmar.webm

Basically, the following code

While not(getKey
"abcd...........
"Searc.."+Ans
{1→⌊A
End


Will freeze your calc.

I hope TI fix this >.< (not that it's easily triggerable due to being useless code, but you never know)
  • 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

tr1p1ea

Ok so I managed to get some parser stuff running and made a small tilemap demo:

www.youtube.com/watch?v=iNrhNgNze3o

The entire map is redrawn each frame and the scrolling is 8-pixels at a time. The code an be optimised for more speed as well.

Very encouraging when compared to the CSE!

Dream of Omnimaga

I love the speed, it seems on-par with the monochrome calcs. :D
  • 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

Nice! It's actually way better than CSE! Now with vertical scrolling?
  • Calculators owned: A lot.

Dream of Omnimaga

Yup. Also this will be easier to port games between the CSE, HP Prime and Nspire, since speed on the ez80 calc won't be a serious issue . Mario is definitively possible for sure, now, even if not at 60 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

Duke "Tape" Eiyeron

It'll be hard to do very graphical effects though, 20MHz is hard. THink of the Prizm (but welp, it had a strange FPS lock) about speed and quality.
  • Calculators owned: A lot.

Snektron

Quote from: tr1p1ea on April 03, 2015, 12:31:33 AM
Ok so I managed to get some parser stuff running and made a small tilemap demo:

www.youtube.com/watch?v=iNrhNgNze3o

The entire map is redrawn each frame and the scrolling is 8-pixels at a time. The code an be optimised for more speed as well.

Very encouraging when compared to the CSE!

:o it's like a proper done CSE :D

Quote from: DJ Omnimaga on April 03, 2015, 04:58:03 PM
Yup. Also this will be easier to port games between the CSE, HP Prime and Nspire, since speed on the ez80 calc won't be a serious issue . Mario is definitively possible for sure, now, even if not at 60 fps.

if only there was a common language, that would be awesome O.O
(Source portin' time)
  • Calculators owned: TI-84+
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


Powered by EzPortal