* WalrusIRC

You need to have 5 posts and not be part of restricted usergroups in order to use the WalrusIRC embedded shoutbox. However, you can also access our IRC channel called #CodeWalrus via EFnet.

Author Topic: Some attempt at bringing Internet to Casio Prizm  (Read 5471 times)

0 Members and 1 Guest are viewing this topic.

Offline Juju

  • aka Yuki Kagayaki aka J̵̭͕͇ù̞̭̝̯̦j̴̭̙̗͖͡ù͏͓̲̕
  • CodeWalrus Staff
  • Super User
  • Server Maintenance
  • Moderator
  • Forum Maintenance
  • Original 5
  • CodeWalrus Supporter
  • *
  • Join Date: Nov 2014
  • Location: Inside a walrus
  • Posts: 3099
  • Post Rating Ratio: +30/-2
  • Couch potato
    • jul.savard
    • juju2143
    • @juju2143
    • juju2143
    • @julosoft
    • juju-kun
    • /u/juju2143
    • juju2143
    • @juju2143
    • Juju's shed
  • Gender: Female
  • WalriiPoints: 99999
Some attempt at bringing Internet to Casio Prizm
« on: June 30, 2016, 06:50:50 am »
I was working on this project before @gbl08ma diagnosed my calculator as having passed away (read, mysteriously bricked) after only 2 days... Figured I'd post what I have right now before marking the project as inactive. (Until I get a new one, DJ lends me his while taking extra care to not brick it and/or someone somehow figures out how to unbrick it, that is. I never really heard of those calcs being bricked this easily, having known... Oh well. That's a real bummer.)

I had this idea the other day, why not porting a TCP/IP stack to the Prizm? With a protocol like SLIP or PPPoS, that would definitely work over the serial port. That would kinda be like CalcNet, on the TI-83+ series, but you won't need an Arduino or something. (Well, I use one, but you don't even need the Atmega chip on it. Only its TTL converter so you'd have a serial device on the computer.) Who knows all the applications you could do with that? That would be quite nice.

Right now, there's some sort of scrolling UI that basically works (should be useful for an IRC client) and the start of a port of the TCP/IP stack.

Anyway, here's the code: https://github.com/juju2143/PrizmIRC
« Last Edit: June 30, 2016, 07:06:15 am by Juju »


  • Calculators owned: TI-83+ (dead?), Casio Prizm (also dead???)
  • Consoles, mobile devices and vintage computers owned: A lot
On semi-hiatus until who knows when. CODEWALRUS 2.0 COMING SOON
YUKI-CHAAAANNNN
In the beginning there was walrii. In the end there will be walrii. All hail our supreme leader :walrii: --Snektron

if you wanna throw money at me and/or CodeWalrus monthly it's here

Online xlibman

  • Omni founder & CW co-founder
  • Super User
  • Original 5
  • CodeWalrus Supporter
  • *
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 18798
  • Post Rating Ratio: +98/-4
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • DJ Omnimaga music store
  • Gender: Male
Re: Some attempt at bringing Internet to Casio Prizm
« Reply #1 on: June 30, 2016, 03:47:55 pm »
I don't know if it's possible to unbrick the calculators. You would need to ask glb08ma or on Cemetech, where many people had bricked calcs. But I could lend you mine if you make sure it stays in good condition (granted, it could brick itself at any moment since it's old and stuff but I would rather see it bricked through development than a rainstorm or something :P), so you can develop again (I don't do much PRIZM dev right now).


As for a TCP/IP stack for the PRIZM or Internet, my main concern is that I recall hearing a few years ago that unlike the TI-84+ I/O port, the Casio PRIZM link port can only send data in one direction at a time rather than two, or something like that that apparently would have prevented a Calcnet port. I wonder if there would be a way around that, though. Have you gotten any online connectivity success so far in the code above?
  • Calculators owned: TI-57, 73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX (semi-broken), HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)

Offline Juju

  • aka Yuki Kagayaki aka J̵̭͕͇ù̞̭̝̯̦j̴̭̙̗͖͡ù͏͓̲̕
  • CodeWalrus Staff
  • Super User
  • Server Maintenance
  • Moderator
  • Forum Maintenance
  • Original 5
  • CodeWalrus Supporter
  • *
  • Join Date: Nov 2014
  • Location: Inside a walrus
  • Posts: 3099
  • Post Rating Ratio: +30/-2
  • Couch potato
    • jul.savard
    • juju2143
    • @juju2143
    • juju2143
    • @julosoft
    • juju-kun
    • /u/juju2143
    • juju2143
    • @juju2143
    • Juju's shed
  • Gender: Female
  • WalriiPoints: 99999
Re: Some attempt at bringing Internet to Casio Prizm
« Reply #2 on: June 30, 2016, 05:58:04 pm »
The TX and RX lines are separate, so theorically you'd have a duplex connection, but I don't know how it's handled by the OS syscalls or inside the calc. Anyway, I didn't had time to test the online code yet, but I've been able to have a Linux (and Mac!) shell over the serial port.
  • Calculators owned: TI-83+ (dead?), Casio Prizm (also dead???)
  • Consoles, mobile devices and vintage computers owned: A lot
On semi-hiatus until who knows when. CODEWALRUS 2.0 COMING SOON
YUKI-CHAAAANNNN
In the beginning there was walrii. In the end there will be walrii. All hail our supreme leader :walrii: --Snektron

if you wanna throw money at me and/or CodeWalrus monthly it's here

Online xlibman

  • Omni founder & CW co-founder
  • Super User
  • Original 5
  • CodeWalrus Supporter
  • *
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 18798
  • Post Rating Ratio: +98/-4
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • DJ Omnimaga music store
  • Gender: Male
Re: Some attempt at bringing Internet to Casio Prizm
« Reply #3 on: June 30, 2016, 07:57:04 pm »
Ah I see. And nice! I didn't realize you had such progress done. Hopefully you can showcase a proof of concept in the near future :)
  • Calculators owned: TI-57, 73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX (semi-broken), HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)

Offline gbl08ma

  • Full User
  • Join Date: Jul 2015
  • Location:
  • Posts: 118
  • Post Rating Ratio: +5/-1
    • gbl08ma
    • @gbl08ma
    • gbl08ma
    • My personal website
  • Gender: Male
Re: Some attempt at bringing Internet to Casio Prizm
« Reply #4 on: June 30, 2016, 08:09:52 pm »
You can't have duplex because of hardware limitations. IIRC, people found out that only one of the lines could communicate in both directions, or perhaps not even that, I can't quite remember.
  • Calculators owned: Prizm CG-20

Offline Juju

  • aka Yuki Kagayaki aka J̵̭͕͇ù̞̭̝̯̦j̴̭̙̗͖͡ù͏͓̲̕
  • CodeWalrus Staff
  • Super User
  • Server Maintenance
  • Moderator
  • Forum Maintenance
  • Original 5
  • CodeWalrus Supporter
  • *
  • Join Date: Nov 2014
  • Location: Inside a walrus
  • Posts: 3099
  • Post Rating Ratio: +30/-2
  • Couch potato
    • jul.savard
    • juju2143
    • @juju2143
    • juju2143
    • @julosoft
    • juju-kun
    • /u/juju2143
    • juju2143
    • @juju2143
    • Juju's shed
  • Gender: Female
  • WalriiPoints: 99999
Re: Some attempt at bringing Internet to Casio Prizm
« Reply #5 on: June 30, 2016, 09:00:14 pm »
Well, TX and RX means you have 2 lines, one going one way and the other going to the other way? No need of them going both ways. Shouldn't be any problem with that, unless the lines are somehow joined inside the calc.

The library I wanted to use should deal with it.
  • Calculators owned: TI-83+ (dead?), Casio Prizm (also dead???)
  • Consoles, mobile devices and vintage computers owned: A lot
On semi-hiatus until who knows when. CODEWALRUS 2.0 COMING SOON
YUKI-CHAAAANNNN
In the beginning there was walrii. In the end there will be walrii. All hail our supreme leader :walrii: --Snektron

if you wanna throw money at me and/or CodeWalrus monthly it's here

Online xlibman

  • Omni founder & CW co-founder
  • Super User
  • Original 5
  • CodeWalrus Supporter
  • *
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 18798
  • Post Rating Ratio: +98/-4
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • DJ Omnimaga music store
  • Gender: Male
Re: Some attempt at bringing Internet to Casio Prizm
« Reply #6 on: June 30, 2016, 10:08:19 pm »
Can't you just send only, then receive only, back and forth? That would be laggy, but shouldn't it work?
  • Calculators owned: TI-57, 73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX (semi-broken), HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)

Offline gbl08ma

  • Full User
  • Join Date: Jul 2015
  • Location:
  • Posts: 118
  • Post Rating Ratio: +5/-1
    • gbl08ma
    • @gbl08ma
    • gbl08ma
    • My personal website
  • Gender: Male
Re: Some attempt at bringing Internet to Casio Prizm
« Reply #7 on: June 30, 2016, 10:25:43 pm »
What he means is that the serial port is just, well, a normal serial port, which has a RX line and a TX line and as such both devices can send at the same time. Hence, the connection as a whole is bidirectional, and both devices can send without waiting for the other (more or less). So, it's full-duplex. But you can't e.g. send on both lines at the same time or receive on both lines at the same time - each line by itself is unidirectional. This blocks the use of more sophisticated protocols that could deliver higher speeds or facilitate connections (this last one being, I think, the main reason why CalcNet requires each of the two lines to be bidirectional).
  • Calculators owned: Prizm CG-20

Offline Juju

  • aka Yuki Kagayaki aka J̵̭͕͇ù̞̭̝̯̦j̴̭̙̗͖͡ù͏͓̲̕
  • CodeWalrus Staff
  • Super User
  • Server Maintenance
  • Moderator
  • Forum Maintenance
  • Original 5
  • CodeWalrus Supporter
  • *
  • Join Date: Nov 2014
  • Location: Inside a walrus
  • Posts: 3099
  • Post Rating Ratio: +30/-2
  • Couch potato
    • jul.savard
    • juju2143
    • @juju2143
    • juju2143
    • @julosoft
    • juju-kun
    • /u/juju2143
    • juju2143
    • @juju2143
    • Juju's shed
  • Gender: Female
  • WalriiPoints: 99999
Re: Some attempt at bringing Internet to Casio Prizm
« Reply #8 on: July 01, 2016, 02:09:36 am »
Yeah, pretty much. With two unidirectional lines, you still can achieve speeds up to 115200 bauds, which is not bad if you're not downloading big files. For comparaison, it's twice the speed of a 56K modem.
  • Calculators owned: TI-83+ (dead?), Casio Prizm (also dead???)
  • Consoles, mobile devices and vintage computers owned: A lot
On semi-hiatus until who knows when. CODEWALRUS 2.0 COMING SOON
YUKI-CHAAAANNNN
In the beginning there was walrii. In the end there will be walrii. All hail our supreme leader :walrii: --Snektron

if you wanna throw money at me and/or CodeWalrus monthly it's here

Offline gbl08ma

  • Full User
  • Join Date: Jul 2015
  • Location:
  • Posts: 118
  • Post Rating Ratio: +5/-1
    • gbl08ma
    • @gbl08ma
    • gbl08ma
    • My personal website
  • Gender: Male
Re: Some attempt at bringing Internet to Casio Prizm
« Reply #9 on: July 01, 2016, 10:56:28 am »
Quote from: PrizmIRC README https://github.com/juju2143/PrizmIRC/blob/a4600cf136ae42d2ac9aeb9c18e7fdcb9fc2373a/README.md
With a TCP/IP stack on the Casio Prizm, the sky will be the limit. Many applications could be created using it, maybe even an add-in download manager or even a web browser if possible.

Sorry to ruin your party, but downloading add-ins will not be possible, unless you come up with wacky workarounds (which I wouldn't recommend given all the bricking cases...). The execution of the running add-in tends to break when g3a files are manipulated from it. See http://www.casiopeia.net/forum/viewtopic.php?p=13830#p13830 .

Later I found out the problem occurs with most file manipulations involving g3a, and not just file creation: the OS will perform an add-in re-registration when g3a files are manipulated, and this causes changes to the TLB, breaking the execution of the current add-in (making execution jump to places where it's not meant to be: a great way to damage the OS, or the bootloader). This is the reason why the Add-In Manager in Utilities causes system errors often, and that's why the Add-In Manager only appears when the "show advanced tools" setting is enabled (before removing it altogether, the CPU overclocking tool in Utilities belonged in this category too).

Using Bfile syscalls while timers are installed also causes problems; see http://prizm.cemetech.net/index.php/Incompatibility_between_Bfile_Syscalls_and_Timers

Also note that 2016 is a great year to be developing for the Prizm: a few years ago we didn't know about these quirks and you'd be left scratching your head for days without understanding why your "perfect" code wouldn't work. Now we have a clearer idea of how terrible the Casio OS is.
« Last Edit: July 01, 2016, 10:58:09 am by gbl08ma »
  • Calculators owned: Prizm CG-20

Online AmazoNKA

  • New User
  • Join Date: Jul 2016
  • Location:
  • Posts: 18
  • Post Rating Ratio: +0/-0
Regarding creation of g3a addins - should creating a file with not g3a extention work without any problems? And subsequently renaming it to g3a would normally work too provided the newly created g3a would not try to be placed on the main menu anywhere before the addin doing that renaming... So theoretically it should be possible to achieve all of the above.

But i may be missing crucial issues i'm not familiar with like will creating a file itself endanger parts of the calculator memory with the bootloader or anything important like that... Will receiving or serial communication going on before or after that endanger anything?

So it's just my thoughts/theories above and I would love to know how if any of those things actually work this way or not please - so please confirm or correct anything you agree or disagree with. Thanks in advance

Offline Juju

  • aka Yuki Kagayaki aka J̵̭͕͇ù̞̭̝̯̦j̴̭̙̗͖͡ù͏͓̲̕
  • CodeWalrus Staff
  • Super User
  • Server Maintenance
  • Moderator
  • Forum Maintenance
  • Original 5
  • CodeWalrus Supporter
  • *
  • Join Date: Nov 2014
  • Location: Inside a walrus
  • Posts: 3099
  • Post Rating Ratio: +30/-2
  • Couch potato
    • jul.savard
    • juju2143
    • @juju2143
    • juju2143
    • @julosoft
    • juju-kun
    • /u/juju2143
    • juju2143
    • @juju2143
    • Juju's shed
  • Gender: Female
  • WalriiPoints: 99999
It's pretty much like running a program on your computer. They're usually harmless, except otherwise specified, like those addins that do overclocks and things like that you should take care. Serial communication is definitely harmless, unless there's a yet undiscovered bug in one of the syscalls that makes your calc halt and catch fire.
  • Calculators owned: TI-83+ (dead?), Casio Prizm (also dead???)
  • Consoles, mobile devices and vintage computers owned: A lot
On semi-hiatus until who knows when. CODEWALRUS 2.0 COMING SOON
YUKI-CHAAAANNNN
In the beginning there was walrii. In the end there will be walrii. All hail our supreme leader :walrii: --Snektron

if you wanna throw money at me and/or CodeWalrus monthly it's here

Online AmazoNKA

  • New User
  • Join Date: Jul 2016
  • Location:
  • Posts: 18
  • Post Rating Ratio: +0/-0
Do you remember how or what exactly bricked your prizm? Was serial communication or something else running on it?

Online xlibman

  • Omni founder & CW co-founder
  • Super User
  • Original 5
  • CodeWalrus Supporter
  • *
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 18798
  • Post Rating Ratio: +98/-4
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • DJ Omnimaga music store
  • Gender: Male
If I remember from IRC conversations, he did some USB transfers prior the bricking, but the calculator was also powered via USB rather than batteries for an extended period of time. I seriously hope that the calculator cannot fail just from USB or I/O transfers alone.
  • Calculators owned: TI-57, 73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX (semi-broken), HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)

Offline Juju

  • aka Yuki Kagayaki aka J̵̭͕͇ù̞̭̝̯̦j̴̭̙̗͖͡ù͏͓̲̕
  • CodeWalrus Staff
  • Super User
  • Server Maintenance
  • Moderator
  • Forum Maintenance
  • Original 5
  • CodeWalrus Supporter
  • *
  • Join Date: Nov 2014
  • Location: Inside a walrus
  • Posts: 3099
  • Post Rating Ratio: +30/-2
  • Couch potato
    • jul.savard
    • juju2143
    • @juju2143
    • juju2143
    • @julosoft
    • juju-kun
    • /u/juju2143
    • juju2143
    • @juju2143
    • Juju's shed
  • Gender: Female
  • WalriiPoints: 99999
Yeah, the culprit is not serial communication, but more something akin to USB transfer and overusage. I didn't even began the serial part in my program anyway.
  • Calculators owned: TI-83+ (dead?), Casio Prizm (also dead???)
  • Consoles, mobile devices and vintage computers owned: A lot
On semi-hiatus until who knows when. CODEWALRUS 2.0 COMING SOON
YUKI-CHAAAANNNN
In the beginning there was walrii. In the end there will be walrii. All hail our supreme leader :walrii: --Snektron

if you wanna throw money at me and/or CodeWalrus monthly it's here

 


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