We're on Discord! Please join our server now if you don't want to miss anything! (More info) | Join the UCC4 contest! (More info)

* WalrusIRC (More rooms available on our Discord server)

Author Topic: Python games on the NumWorks calculator  (Read 848 times)

0 Members and 1 Guest are viewing this topic.

Offline Jean-Baptiste Boric

  • Full User
  • Join Date: Jan 2016
  • Location:
  • Posts: 39
  • Post Rating Ratio: +2/-0
Python games on the NumWorks calculator
« on: February 03, 2019, 12:47:10 pm »
I've unearthed one of my old pull requests and now we can (finally!) have proper Python games on the NumWorks calculator. The missing bits were keypad readout and some basic graphics primitives (zardam's time module was already merged some time ago). I've scrambled together a Pong game to showcase this:



Drawing performance is honestly quite terrible because the framebuffer isn't memory-mapped, but it's enough for a smooth Pong and probably other basic games in real time. Redrawing the full screen on each frame would require drawing the entire screen in one go pixel after pixel (like the third-party firmware GESTE did), not unlike racing the beam on the Atari 2600, but doing that from within MicroPython would be challenging.

Sources:



Offline gameblabla

  • Super User
  • Join Date: May 2015
  • Location:
  • Posts: 826
  • Post Rating Ratio: +15/-7
  • TI-nspire porter
Re: Python games on the NumWorks calculator
« Reply #1 on: March 14, 2019, 11:25:07 am »
When we will get native dev on it ? D:
Not that it will matter though, i'm done with school.
  • Calculators owned: TI Nspire CX, TI-89

Offline Jean-Baptiste Boric

  • Full User
  • Join Date: Jan 2016
  • Location:
  • Posts: 39
  • Post Rating Ratio: +2/-0
Re: Python games on the NumWorks calculator
« Reply #2 on: March 14, 2019, 05:00:46 pm »
When we will get native dev on it ? D:

Given that the datasheets and firmware source code are freely available, I'd say from day one. I mean, you can even program video games for the NumWorks in Ada for crying out loud! (https://tiplanet.org/forum/viewtopic.php?t=21794&p=234603) :P

Offline gameblabla

  • Super User
  • Join Date: May 2015
  • Location:
  • Posts: 826
  • Post Rating Ratio: +15/-7
  • TI-nspire porter
Re: Python games on the NumWorks calculator
« Reply #3 on: March 14, 2019, 05:20:00 pm »
When we will get native dev on it ? D:

Given that the datasheets and firmware source code are freely available, I'd say from day one. I mean, you can even program video games for the NumWorks in Ada for crying out loud! (https://tiplanet.org/forum/viewtopic.php?t=21794&p=234603) :P
Never thought i would see some real use of Ada on a calculator...  ;D But i thought that the games on it were basically firmware on their own right ? (i think it was due to the small internal space)
So yeah, i still prefer the TI Nspire CX, as flawed as it is.
  • Calculators owned: TI Nspire CX, TI-89

Offline DJ Omnimaga

  • Omni founder & CW co-founder
  • CodeWalrus Staff
  • Super User
  • Moderator
  • Forum Maintenance
  • Original 5
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 19112
  • Post Rating Ratio: +101/-5
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • DJ Omnimaga music store
  • Gender: Male
Re: Python games on the NumWorks calculator
« Reply #4 on: March 14, 2019, 05:42:19 pm »
I haven't read much about the NumWorks, because it came out after I stopped following calculator stuff, but I'm glad that it's possible to make some games on it :)
  • Calculators owned: TI-84 Plus C Silver Edition, TI-84 Plus CE, Casio fx-CG10, HP Prime
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nintendo Switch, Playstation TV, Super Nintendo

Offline Jean-Baptiste Boric

  • Full User
  • Join Date: Jan 2016
  • Location:
  • Posts: 39
  • Post Rating Ratio: +2/-0
Re: Python games on the NumWorks calculator
« Reply #5 on: March 14, 2019, 08:42:55 pm »
I'm aware of two native games on the NumWorks: my own Tic-Tac-Toe app (https://github.com/boricj/numworks-tic-tac-toe) that's actually an m,n,k-game with IA and zardam's NES emulator (https://zardam.github.io/post/nofrendo/).

There are only a couple of third-party apps on NumWorks. There are a couple of reasons for that:
  • No flash filesystem, so currently one has to flash a whole new firmware to put things in flash.
  • No syscalls/ABIs, so while there's good source code modularity at the end you end up with a monolithic firmware to flash.
  • Since you ship firmwares, you're tied with epsilon's source code and it's a quickly moving target ; third-party apps tend to bitrot with each new version.
  • Since you ship firmwares, end-users must flash them to use third-party apps, which limits their audience.
Basically it's a pain in the butt to maintain and making third-party apps available to non-technical end-users requires a lot of effort. zardam's NES emulator has a fairly nice dedicated flashing webapp (https://zardam.github.io/webnofrendo/), but it's nevertheless a kludge that doesn't scale.

That being said, the NumWorks platform itself is extremely programmer-friendly due to source code availability and unlocked hardware, but the original firmware is a bit too good at its math job. I'm actually thinking about writing my own firmware/shell with drastically different design choices to solve this issue, where adding native apps would be as easy as copying an ELF program with a file manager...

Offline Lionel Debroux

  • Full User
  • Join Date: Jan 2015
  • Location:
  • Posts: 245
  • Post Rating Ratio: +11/-0
    • debrouxl
    • 58/5891
Re: Python games on the NumWorks calculator
« Reply #6 on: March 15, 2019, 09:35:05 am »
Yeah, a filesystem would be a must.
ELF, not so much, however. It's inefficient for embedded platforms, that's why Ndless-based programs have never switched to it after the initial phase of a custom, lightweight program format which required manual relocation.
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TIEmu and TILP.
Co-admin of TI-Planet.

 


You can also use the following HTML or bulletin board code to share it on your page or forum signature!


Also do not forget to check our affiliates below.
Planet Casio TI-Planet Calc.news BroniesQC BosaikNet Velocity Games