- TiQR-B, a QR Code encoder written in pure TI-BASIC!
- 19 Jul 2018 04:31:06 am
- Last edited by SopaXorzTaker on 30 Jul 2018 04:18:20 am; edited 5 times in total
Yes, you read that right.
Yes, it's currently very limited (you can only encode 17 characters in a Version 1, 21x21 symbol with ECC L).
Tested on TI-84+SE emulator (I used that with SC since I couldn't use the ROM of my actual calculator with jsTified) and a real TI-84+CE.
There are two programs: QR and θQRECC.
The latter is used internally to generate the Reed-Solomon checksum and loads up some huge look-up tables into the RAM as two lists (don't worry, it does remove them afterwards).
If that fails, make sure you have enough free RAM and try again.
It'll take a while to run (about one minute on TI-84+CE).
Note: again, there's a lot of limitations.
The version parameter is hard-coded as 1, which only allows generating 21x21 codes with a maximum of 17 ASCII characters available - the alphanumeric mode would be much more efficient.
The mask pattern is not chosen dynamically, so codes with features that interfere with the alignment or timing patterns might be produced as a result.
The error correction level is fixed to the lowest possible, L.
Screenshots:
QR Code is a trademark of Denso Wave.
The file has not made it to the Downloads section yet, so here's a SourceCoder link: http://sc.cemetech.net/?hash=pcHC/V/wXM1PMPoPVPA+X+ELwHVE.
Update: the file is now in the archives: https://www.cemetech.net/programs/index.php?mode=file&id=1784!
NOTE: BTW, I indeed have ported a C library (by Richard Moore) once and that works much better.
However, out of boredom I've decided to implement encoding from scratch and in TI-BASIC.
You can find that on GitHub: https://github.com/SopaXorzTaker/ti-qr.
Yes, it's currently very limited (you can only encode 17 characters in a Version 1, 21x21 symbol with ECC L).
Tested on TI-84+SE emulator (I used that with SC since I couldn't use the ROM of my actual calculator with jsTified) and a real TI-84+CE.
There are two programs: QR and θQRECC.
The latter is used internally to generate the Reed-Solomon checksum and loads up some huge look-up tables into the RAM as two lists (don't worry, it does remove them afterwards).
If that fails, make sure you have enough free RAM and try again.
It'll take a while to run (about one minute on TI-84+CE).
Note: again, there's a lot of limitations.
The version parameter is hard-coded as 1, which only allows generating 21x21 codes with a maximum of 17 ASCII characters available - the alphanumeric mode would be much more efficient.
The mask pattern is not chosen dynamically, so codes with features that interfere with the alignment or timing patterns might be produced as a result.
The error correction level is fixed to the lowest possible, L.
Screenshots:
QR Code is a trademark of Denso Wave.
Update: the file is now in the archives: https://www.cemetech.net/programs/index.php?mode=file&id=1784!
NOTE: BTW, I indeed have ported a C library (by Richard Moore) once and that works much better.
However, out of boredom I've decided to implement encoding from scratch and in TI-BASIC.
You can find that on GitHub: https://github.com/SopaXorzTaker/ti-qr.