Forum category: Forum 101 / Site Feedback

Forum thread: Search Help (3) ]]>

Forum category: General Discussion / Tech Support

Forum thread: How do I transfer TI games to my calculator without my cord ]]>

Forum category: General Discussion / Tech Support

Forum thread: How do I transfer TI games to my calculator without my cord ]]>

For ASM and Axe programs that were compiled, you need to use http://asmtools.omnimaga.org/ then manually type the hexadecimal with the AsmPrgm command at the beginning.

Forum category: General Discussion / Tech Support

Forum thread: How do I transfer TI games to my calculator without my cord ]]>

The only solutions I can think of would be to either manually type the code (if you can find it). It's time consuming and a pain, but at least you'd have the game. The other option would be to find another computer you could install TiConnect on. Maybe a friend, parent, etc? I was in the same situation years ago and I ended up bribing my friend with cookies to get me games on my calculator :)

Forum category: General Discussion / Tech Support

Forum thread: How do I transfer TI games to my calculator without my cord ]]>

Forum category: General Discussion / Tech Support

Forum thread: How do I transfer TI games to my calculator without my cord ]]>

Forum category: General Discussion / Wiki Page Discussions

Forum thread: Calculator Street Racing ]]>

Forum category: General Discussion / Wiki Page Discussions

Forum thread: Minecraft (BETA) ]]>

Forum category: Projects & Contests / Your Projects

Forum thread: Darkblasters: A new graphical RPG ]]>

Forum category: Programming & Design / Assembly Programming

Forum thread: Opcode to set a program as the startup program ]]>

20 years minus 7 days ago, I released my first ever TI-83 Plus RPG, Illusiat. Today, after over 16 years without releasing an original RPG for calculators, I am finally releasing a new one: Darkblasters!

Inspired by Lufia, Quest 64, Dragon Quest, Illusiat and Mana Force series, Darkblasters is a role-playing game meant to showcase pure TI-BASIC graphical capabilities while trying to keep speed as fast as possible. It features over 390 rooms to explore, NPC's, some items and magic spells, many monsters and sprite-based graphics. No ASM/Axe/Grammer lib were used, in order to ensure full compatibility with 15 MHz z80 calculator models that lacks official ASM support.

A long time ago, mankind became nearly extinct after the entire world population did the Tide Pod

eating challenge simultaneously. From the dead rose a new illness that transformed animals into

monsters and many humnan survivors into Darkblasters, evil mages that look like knights.

Today, the Darkblasters stole the three crystals protecting the Kingdom of Walritia. You must defeat

the mages before they take over the world.

Here are the download links:

https://www.ticalc.org/archives/files/fileinfo/476/47684.html

https://tiplanet.org/forum/archives_voir.php?id=2790407

https://www.cemetech.net/downloads/files/2178/x2423

Forum category: Projects & Contests / Your Projects

Forum thread: Darkblasters: A new graphical RPG ]]>

Forum category: Projects & Contests / Your Projects

Forum thread: Darkblasters: A new graphical RPG ]]>

Forum category: General Discussion / Wiki Page Discussions

Forum thread: Graphics ]]>

Also some map tiles are actually 3 or 4 bytes large, since some tokens are 2 bytes.

Forum category: Projects & Contests / Your Projects

Forum thread: Darkblasters: A new graphical RPG ]]>

Here's the portion of code that makes the maze:

` ``ClrDraw For(Y,0,~62,~2 Horizontal Y End For(X,0,94,2 Vertical X End Line(1,~1,1,~61,0 Line(1,~1,93,~1,0 For(X,3,93,2 For(Y,3,61,2 randInt(0,1 Pxl-Off(Y-Ans,X-not(Ans End End Pxl-Off(61,94 StorePic 0`

Forum category: General Discussion / Wiki Page Discussions

Forum thread: Maze ]]>

Forum category: Projects & Contests / Your Projects

Forum thread: Darkblasters: A new graphical RPG ]]>

Forum category: Programming & Design / TI-83/84/+/SE Programming

Forum thread: How to use the graph link cable ]]>

Forum category: Programming & Design / TI-83/84/+/SE Programming

Forum thread: How to use the graph link cable ]]>

-There are now two actual monsters

-You start with 500 HP instead of 300

-All battle commands and enemy moves are implemented, except one boss attack pattern.

-You can now activate switches to open new paths

-NPC's are implemented, including those who give items.

-You can grab items from the ground.

-Some random optimizations to save space or increase speed, because the game is over 11 KB now.

I made a Youtube video:

https://www.youtube.com/watch?v=UCM-IucyDcY

Forum category: Projects & Contests / Your Projects

Forum thread: Darkblasters: A new graphical RPG ]]>

Forum category: Programming & Design / TI-83/84/+/SE Programming

Forum thread: how to make a screen full with zeros and delete them on contact with a sprite. ]]>

You can also accomplish the movement by using piecewise expressions like…

` ``X+(K=26)-(K=24->X Y+(K=34)-(K=25->Y and for putting it so the character can't go off-screen... max(16,min(1,X+(K=26)-(K=24->X max(8,min(1,Y+(K=34)-(K=25->Y`

I would recommend checking out the movement page also, as it has a lot of useful information.

Forum category: Programming & Design / TI-83/84/+/SE Programming

Forum thread: how to make a screen full with zeros and delete them on contact with a sprite. ]]>

Clrhome

4->X

4->Y

While 1

Output(Y,X,"0

getkey->A

If A=26

x-1->X

If A=24

x+1->X

If A=25

Y-1->Y

If A=34

Y+1->Y

End

Forum category: Programming & Design / TI-83/84/+/SE Programming

Forum thread: how to make a screen full with zeros and delete them on contact with a sprite. ]]>

Forum category: Programming & Design / TI-83/84/+/SE Programming

Forum thread: In-calculator function reference? ]]>

Thanks!

Forum category: Programming & Design / TI-83/84/+/SE Programming

Forum thread: In-calculator function reference? ]]>

` ``Asm84CEPrgmFDCB24DEC9`

(or if you don’t have a CE, I think the token will just be AsmPrgm at the start)

Once you run that program, you’ll be able to hit the alpha key twice and then type the green letters in lowercase. Again, the blue letters won’t work because they are variables.

Forum category: Programming & Design / CE and CSE Programming

Forum thread: How do I fix this issue with the inString( command? ]]>

Back in late 2012, when the TI-84 Plus C Silver Edition color screen z80 calculator got announced, I wanted to experiment with layered text sprites, often referred to as dual-layer ASCII sprites. Games like Serenity and Metroid Pi used this technique, although the latter did not use the shifted method. In the process, I wanted to attempt making an RPG like Illusiat 6/Nemesiat, but with larger maps while being (hopefully) smaller.

I eventually got the color calculator model before pushing this RPG engine further, so only the walking engine was done and in 2014 it was posted in Omnimaga downloads section. I have recently uploaded it to TI-Planet, Cemetech and Ticalc.org as well.

https://tiplanet.org/forum/archives_voir.php?id=2790407

https://www.cemetech.net/downloads/files/2178/x2410

https://www.ticalc.org/archives/files/fileinfo/476/47676.html

Almost 9 years later, it's being revived as Darkblasters! It will feature four dungeons, a town and a forest, some magic spells and items, but no shop and in-game currency. There will be no experience points, so your max HP/MP will go up every battle, along with your skill points. Magic will get stronger the more you use it. You'll also not be able to enter buildings in the town, but you will be able to talk to NPC's.

My goals:

-Keep the game and its RAM usage as small as possible

-Hopefully keep it in one file, unlike my entire RPG calculatography.

-Make sure that the speed remains fast enough for 15 MHz calcs. 83+ will be playable, but not the most optimal experience.

-Keep compatibility with the TI-82 Advanced and TI-84 Plus-T models. (This is why the game remains in pure TI-BASIC)

Screenshot showing some of the event sprites that you will be able to interact with. Collision might be tricky for some of those, though… (the game detects any sprite where the top-left-most pixel is turned ON as a solid object)

https://i.imgur.com/F0hSnZU.gif

Battles are currently disabled, since they just endlessly play one of the magic animation.

EDIT: New screenshots:

Forum category: Projects & Contests / Your Projects

Forum thread: Darkblasters: A new graphical RPG ]]>

Forum category: Programming & Design / CE and CSE Programming

Forum thread: How do I fix this issue with the inString( command? ]]>

Once you have your background, you will need to write the text and keypress actions. For this you will need to use the `Text()` command, as well as `GetKey` and `Repeat` or `While`. The easiest way to get started is to have the user press the number which corresponds to the menu option they want. This avoids a lot of the complexity with having a marker indicating which option is currently selected. The basic idea is that you use `GetKey` inside of a loop until a key is pressed, then do something different based on which key was actually pressed.

Forum category: Programming & Design / TI-83/84/+/SE Programming

Forum thread: how do you make a main menu with a graph image in the background? ]]>

heads up i am still very new to this. all help and tips would be appreciated. :)

Forum category: Programming & Design / TI-83/84/+/SE Programming

Forum thread: how do you make a main menu with a graph image in the background? ]]>

Forum category: Forum 101 / Announcements

Forum thread: Leaving TI-Basic Developer ]]>

Next: the programming part all you have to do is copy the program below:

:Menu(“main menu”,”start”,1,”Quit”,2)

:

:Stop

:LbI 1

:Disp “hello”

:Stop

:

:LbI 2

:Disp “goodbye”

Forum category: Programming & Design / TI-83/84/+/SE Programming

Forum thread: How to make a main menu (easy) ]]>

I'll miss all of you, I've had a blast here.

**Why I am leaving Wikidot**

Because I have grown out of my shell, I have a life and I think it is my time to retire. I love you all, I'll miss you.

Farewell Trenly, it was nice being able to talk to you.

If any of you wish to contact me, please send a message to my public email address: **moc.liamg|2821drazahoib#moc.liamg|2821drazahoib**

If you have discord, I am **AClaw#9257**

I am deleting this account, so please do not send any private messages to it.

Have a good life, stay safe in the pandemic.

And before I go, got a little secret to spill.

I am the same user as Thel 'Vadamee, TI-Basic Dude, Jul 'Mdama, all of those useless personalities.

I've grown up and matured, so no need to delete this post or ban this account.

You won't get any more trolling from me, I promise. ;3

Forum category: Forum 101 / Announcements

Forum thread: Leaving TI-Basic Developer ]]>

Good start, but maze generation would be addequite.

Forum category: General Discussion / Wiki Page Discussions

Forum thread: Maze ]]>

Forum category: General Discussion / Wiki Page Discussions

Forum thread: Artificial Intelligence wiki page ]]>

Forum category: General Discussion / Wiki Page Discussions

Forum thread: Programmer Indicators ]]>

Forum category: Programming & Design / TI-83/84/+/SE Programming

Forum thread: Problem converting TI-86 pgm to TI-84 prgm ]]>

Forum category: Programming & Design / TI-83/84/+/SE Programming

Forum thread: Problem converting TI-86 pgm to TI-84 prgm ]]>

Example:

` ``If A=1 Then 38.188→B End`

-Or-

` ``If A=1 38.188→B`

You also can do this much easier with lists so that you don't need all the if statements.

Let's take just the first four items. If we use a list it would look like this:

` ``{.00873,.001745,.02618,.03492}→L₁ L₁(A)→B`

So your entire sub-program could be:

` ``{.00873,.001745,.02618,.03492,.04366,.05241,.06116,.06993,.07870,.08749,.09629,.10510,.11393,.12278,.13165,.14054,.14945,.15838,.16734,.17633,.18534,.19438,.20345,.21256,.22169,.23087,.24008,.24933,.25862,.26795,.27732,.28674,.29621,.30573,.31530,.32492,.33459,.34433,.35412,.36397,.37388,.38386,.39391,.40403,.41421,.42447,.43481,.44523,.45573,.46631,.47697,.48773,.49858,.50952,.52057,.53171,.54295,.55431,.56577,.57735,.58904,.60086,.61280,.62487,.63707,.64941,.66188,.67451,.68728,.70021,.71329,.72654,.73996,.75355,.76733,.78128,.79543,.80978,.82434,.83910,.85408,.86929,.88472,.90040,.91633,.93251,.94890,.96569,.98270,1.000,1.0176,1.0355,1.0538,1.0724,1.0913,1.1106,1.1303,1.1504,1.1708,1.1917,1.2131,1.2349,1.2572,1.2799,1.3032,1.3270,1.3514,1.3764,1.4019,1.4281,1.4550,1.4826,1.5108,1.5399,1.5697,1.6003,1.6318,1.6643,1.6977,1.7320,1.7675,1.8040,1.8418,1.8807,1.9210,1.9626,2.0057,2.0503,2.0965,2.1445,2.1943,2.2460,2.2998,2.3558,2.4142,2.4715,2.5386,2.6051,2.6746,2.7475,2.8239,2.9042,2.9887,3.0777,3.1716,3.2708,3.3759,3.4874,3.6059,3.7320,3.8667,4.0108,4.1653,4.3315,4.5107,4.7406,4.9151,5.1455,5.3995,5.6713,5.9758,6.3137,6.6911,7.1154,7.5957,8.1443,8.7769,9.5144,10.385,11.430,12.706,14.301,16.350,19.081,22.904,26.636,38.188,57.290,114.590,0}→L₁ L₁(A)*(R+T)→O L₁(A)*R→I`

If you wanted to reduce your total amount of code and eliminate the sub-program entirely, this would probably work:

` ``DelVar Z {.00873,.001745,.02618,.03492,.04366,.05241,.06116,.06993,.07870,.08749,.09629,.10510,.11393,.12278,.13165,.14054,.14945,.15838,.16734,.17633,.18534,.19438,.20345,.21256,.22169,.23087,.24008,.24933,.25862,.26795,.27732,.28674,.29621,.30573,.31530,.32492,.33459,.34433,.35412,.36397,.37388,.38386,.39391,.40403,.41421,.42447,.43481,.44523,.45573,.46631,.47697,.48773,.49858,.50952,.52057,.53171,.54295,.55431,.56577,.57735,.58904,.60086,.61280,.62487,.63707,.64941,.66188,.67451,.68728,.70021,.71329,.72654,.73996,.75355,.76733,.78128,.79543,.80978,.82434,.83910,.85408,.86929,.88472,.90040,.91633,.93251,.94890,.96569,.98270,1.000,1.0176,1.0355,1.0538,1.0724,1.0913,1.1106,1.1303,1.1504,1.1708,1.1917,1.2131,1.2349,1.2572,1.2799,1.3032,1.3270,1.3514,1.3764,1.4019,1.4281,1.4550,1.4826,1.5108,1.5399,1.5697,1.6003,1.6318,1.6643,1.6977,1.7320,1.7675,1.8040,1.8418,1.8807,1.9210,1.9626,2.0057,2.0503,2.0965,2.1445,2.1943,2.2460,2.2998,2.3558,2.4142,2.4715,2.5386,2.6051,2.6746,2.7475,2.8239,2.9042,2.9887,3.0777,3.1716,3.2708,3.3759,3.4874,3.6059,3.7320,3.8667,4.0108,4.1653,4.3315,4.5107,4.7406,4.9151,5.1455,5.3995,5.6713,5.9758,6.3137,6.6911,7.1154,7.5957,8.1443,8.7769,9.5144,10.385,11.430,12.706,14.301,16.350,19.081,22.904,26.636,38.188,57.290,114.590,0}→L₁ Menu("Type","Aluminum",S,"Steel",H) Lbl S Z+1→Z Lbl H Input "Radius=",R Input "Material=",T Input "Angle=",A (R+(T*(.44-(.11*not(T))))*((3.141/180)*A)→X Disp "Bend length=" Disp X Disp X/2 prgmSETBACK Disp "Setback=" Disp L₁(A)*(R+T) Disp L₁(A)*R DelVar A DelVar B DelVar R DelVar T DelVar X DelVar Z DelVar L₁ Return`

Forum category: Programming & Design / TI-83/84/+/SE Programming

Forum thread: Problem converting TI-86 pgm to TI-84 prgm ]]>

I appreciate you help BTW.

Forum category: Programming & Design / TI-83/84/+/SE Programming

Forum thread: Problem converting TI-86 pgm to TI-84 prgm ]]>

` ``Menu("Type","Aluminum",S,"Steel",H) Lbl S Input "Radius=",R Input "Material=",T Input "Angle=",A:(R+(T*.44))*((3.141/180)*A)→X X/2→Y Disp "Bend length=" Disp X Disp Y prgmSETBACK Disp "Setback=" Disp O Disp I DelVar A DelVar B DelVar I DelVar O DelVar R DelVar T DelVar X DelVar Y Return Lbl H Input "Radius=",R Input "Material=",T Input "Angle=",A (R+(T*.33))*((3.141/180)*A)→X X/2→Y Disp "Bend length=" Disp X Disp Y prgmSETBACK Disp "Setback=" Disp O Disp I DelVar A DelVar B DelVar I DelVar O DelVar R DelVar T DelVar X DelVar Y Return`

Forum category: Programming & Design / TI-83/84/+/SE Programming

Forum thread: Problem converting TI-86 pgm to TI-84 prgm ]]>

` ``If A=1 THEN .00873→B If A=2 THEN .001745→B If A=3 THEN .02618→B If A=4 THEN .03492→B If A=5 THEN .04366→B If A=6 THEN .05241→B If A=7 THEN .06116→B If A=8 THEN .06993→B If A=9 THEN .07870→B If A=10 THEN .08749→B If A=11 THEN .09629→B If A=12 THEN .10510→B If A=13 THEN .11393→B If A=14 THEN .12278→B If A=15 THEN .13165→B If A=16 THEN .14054→B If A=17 THEN .14945→B If A=18 THEN .15838→B If A=19 THEN .16734→B If A=20 THEN .17633→B If A=21 THEN .18534→B If A=22 THEN .19438→B If A=23 THEN .20345→B If A=24 THEN .21256→B If A=25 THEN .22169→B If A=26 THEN .23087→B If A=27 THEN .24008→B If A=28 THEN .24933→B If A=29 THEN .25862→B If A=30 THEN .26795→B If A=31 THEN .27732→B If A=32 THEN .28674→B If A=33 THEN .29621→B If A=34 THEN .30573→B If A=35 THEN .31530→B If A=36 THEN .32492→B If A=37 THEN .33459→B If A=38 THEN .34433→B If A=39 THEN .35412→B If A=40 THEN .36397→B If A=41 THEN .37388→B If A=42 THEN .38386→B If A=43 THEN .39391→B If A=44 THEN .40403→B If A=45 THEN .41421→B If A=46 THEN .42447→B If A=47 THEN .43481→B If A=48 THEN .44523→B If A=49 THEN .45573→B If A=50 THEN .46631→B If A=51 THEN .47697→B If A=52 THEN .48773→B If A=53 THEN .49858→B If A=54 THEN .50952→B If A=55 THEN .52057→B If A=56 THEN .53171→B If A=57 THEN .54295→B If A=58 THEN .55431→B If A=59 THEN .56577→B If A=60 THEN .57735→B If A=61 THEN .58904→B If A=62 THEN .60086→B If A=63 THEN .61280→B If A=64 THEN .62487→B If A=65 THEN .63707→B If A=66 THEN .64941→B If A=67 THEN .66188→B If A=68 THEN .67451→B If A=69 THEN .68728→B If A=70 THEN .70021→B If A=71 THEN .71329→B If A=72 THEN .72654→B If A=73 THEN .73996→B If A=74 THEN .75355→B If A=75 THEN .76733→B If A=76 THEN .78128→B If A=77 THEN .79543→B If A=78 THEN .80978→B If A=79 THEN .82434→B If A=80 THEN .83910→B If A=81 THEN .85408→B If A=82 THEN .86929→B If A=83 THEN .88472→B If A=84 THEN .90040→B If A=85 THEN .91633→B If A=86 THEN .93251→B If A=87 THEN .94890→B If A=88 THEN .96569→B If A=89 THEN .98270→B If A=90 THEN 1.000→B If A=91 THEN 1.0176→B If A=92 THEN 1.0355→B If A=93 THEN 1.0538→B If A=94 THEN 1.0724→B If A=95 THEN 1.0913→B If A=96 THEN 1.1106→B If A=97 THEN 1.1303→B If A=98 THEN 1.1504→B If A=99 THEN 1.1708→B If A=100 THEN 1.1917→B If A=101 THEN 1.2131→B If A=102 THEN 1.2349→B If A=103 THEN 1.2572→B If A=104 THEN 1.2799→B If A=105 THEN 1.3032→B If A=106 THEN 1.3270→B If A=107 THEN 1.3514→B If A=108 THEN 1.3764→B If A=109 THEN 1.4019→B If A=110 THEN 1.4281→B If A=111 THEN 1.4550→B If A=112 THEN 1.4826→B If A=113 THEN 1.5108→B If A=114 THEN 1.5399→B If A=115 THEN 1.5697→B If A=116 THEN 1.6003→B If A=117 THEN 1.6318→B If A=118 THEN 1.6643→B If A=119 THEN 1.6977→B If A=120 THEN 1.7320→B If A=121 THEN 1.7675→B If A=122 THEN 1.8040→B If A=123 THEN 1.8418→B If A=124 THEN 1.8807→B If A=125 THEN 1.9210→B If A=126 THEN 1.9626→B If A=127 THEN 2.0057→B If A=128 THEN 2.0503→B If A=129 THEN 2.0965→B If A=130 THEN 2.1445→B If A=131 THEN 2.1943→B If A=132 THEN 2.2460→B If A=133 THEN 2.2998→B If A=134 THEN 2.3558→B If A=135 THEN 2.4142→B If A=136 THEN 2.4715→B If A=137 THEN 2.5386→B If A=138 THEN 2.6051→B If A=139 THEN 2.6746→B If A=140 THEN 2.7475→B If A=141 THEN 2.8239→B If A=142 THEN 2.9042→B If A=143 THEN 2.9887→B If A=144 THEN 3.0777→B If A=145 THEN 3.1716→B If A=146 THEN 3.2708→B If A=147 THEN 3.3759→B If A=148 THEN 3.4874→B If A=149 THEN 3.6059→B If A=150 THEN 3.7320→B If A=151 THEN 3.8667→B If A=152 THEN 4.0108→B If A=153 THEN 4.1653→B If A=154 THEN 4.3315→B If A=155 THEN 4.5107→B If A=156 THEN 4.7406→B If A=157 THEN 4.9151→B If A=158 THEN 5.1455→B If A=159 THEN 5.3995→B If A=160 THEN 5.6713→B If A=161 THEN 5.9758→B If A=162 THEN 6.3137→B If A=163 THEN 6.6911→B If A=164 THEN 7.1154→B If A=165 THEN 7.5957→B If A=166 THEN 8.1443→B If A=167 THEN 8.7769→B If A=168 THEN 9.5144→B If A=169 THEN B=10.385→B If A=170 THEN 11.430→B If A=171 THEN 12.706→B If A=172 THEN 14.301→B If A=173 THEN 16.350→B If A=174 THEN 19.081→B If A=175 THEN 22.904→B If A=176 THEN 26.636→B If A=177 THEN 38.188→B If A=178 THEN 57.290→B If A=179 THEN 114.590→B If A=180 THEN 0→B B*(R+T)→O B*R→I`

Forum category: Programming & Design / TI-83/84/+/SE Programming

Forum thread: Problem converting TI-86 pgm to TI-84 prgm ]]>

Forum category: Programming & Design / TI-83/84/+/SE Programming

Forum thread: Problem converting TI-86 pgm to TI-84 prgm ]]>

Forum category: Programming & Design / TI-83/84/+/SE Programming

Forum thread: Problem converting TI-86 pgm to TI-84 prgm ]]>

Forum category: Programming & Design / TI-83/84/+/SE Programming

Forum thread: Problem converting TI-86 pgm to TI-84 prgm ]]>

Forum category: General Discussion / Tech Support

Forum thread: Calculator has weird static screen ]]>

When I put batteries in and press ON, static on screen. The same exact pattern of static appears when the calculator is turned off and on. None of the buttons work. The only way to turn it off is to take batteries out. I initially thought it was the batteries, but when I put brand new batteries in, it still happens. I tried to connect it to computer via USB Direct Cable, but the USB port does not recognize anything. I cannot go into the settings to reset it since the calculator is essentially bricked. I am not sure if I accidentally corrupted the calculator or not. I need your help, please.

Forum category: General Discussion / Tech Support

Forum thread: Calculator has weird static screen ]]>

Forum category: Forum 101 / Community Introductions

Forum thread: Greetings ]]>

My programs:

http://tibasicdev.wikidot.com/archive:maze

http://tibasicdev.wikidot.com/archive:lunar-lander

http://tibasicdev.wikidot.com/archive:math-program

Forum category: Programming & Design / TI-83/84/+/SE Programming

Forum thread: My new programs ]]>

My compiler is written in Ti-BASIC, which is the interpreted language on your calculator. It compiles code into a hex string, which I can then paste into an assembly program. All of this is done on the calculator, there is no other computer involved. I ended up deciding to stay away from FORTRAN because to build a compiler for it I'd have to spend a lot of time encoding features that aren't very useful for my purpose (which is game development).

I've already made (and no longer have the source code for) a simple compiler that compiles a really crappy language that I haven't (and won't) do the honor of giving a name because it's so bad.

Right now I'm casually building a brainf**k compiler while I think about what programming language I should implement. The options I'm currently considering are a tiny BASIC dialect, Forth, and a programming language I'm coming up with myself but is very much incomplete as of now.

If you have any thoughts, let me know!

Forum category: Forum 101 / Community Introductions

Forum thread: Greetings ]]>

I'm probably not the best person to ask this question as I only occasionally use FORTRAN now. I'm not really sure how widely used FORTRAN is these days. I do the vast majority of my programming using C.

I used FORTRAN a few years ago because I wanted to use JPL's Development Ephemerides on my computer. These are the same ones they use to navigate their spacecraft through the solar system. Anyway, to create an Ephemeride that I could use on my computer I had to compile the FORTRAN source code JPL provided so I had to give myself a refresher course.

Not to in any way discourage you but there already is a C compiler available for the ez80 called ez80-clang and a Toolchain for writing C programs specifically for the TI-84+CE called the CE C Toolchain. It has a very good math library.

I am a bit curious though you said that you are "building a compiler ON my calculator". The CE C Toolchain is on my computer and I write programs on my computer which I compile and then upload to the calculator. Is yours actually on the calculator?

Forum category: Forum 101 / Community Introductions

Forum thread: Greetings ]]>

Forum category: Forum 101 / Community Introductions

Forum thread: Greetings ]]>

Forum category: Forum 101 / Community Introductions

Forum thread: Greetings ]]>

You're 15 and entering 12 grade? You're way smarter then me and I'm a Chemist!

I am aware of TI's decision to no longer support assembly so I know not to upgrade the 84+CE OS. Mine has OS 5.3.1.0058.

I understand the reason why TI did it, they are, after all, in business to sell calculators and most are bought for students. Since some students decided to use assembly to cheat by making it appear that their calculators are in test mode when they are not TIs calculators could be banded from exams. If this happened then students would buy some other approved calculator and TI would go out of business so TI was basically forced to do this.

As far as assembly goes the principles of ez80 assembly isn't that much different from 65816 assembly that I programmed the ][GS with. Both use 8-bit accumulators. The 6502/65C02 has all 8-bit registers like the Z80 and the 65816 has 16-bit registers as opposed to the 24-bit registers of the ez80. The mnemonic are written differently. For example Load Accumulator is LDA in 6502/65C02/65816 and ld a in Z80/ez80. So it should be relatively easy for me to adjust. Just as with the old Apples I used to program an important part of being able to write assembly programs for the 84+CE is that I need to understand the architecture of the calculator and the ROM calls.

Thanks for the suggestions about using hex coding. I have written code purely using hex but I find it very difficult to do for anything but a really small program. For the ][GS I wrote a rather large program in assembly (about 50,000 lines of code) that did a bunch of statistics stuff for the lab, so I'm used to using the mnemonics.

Forum category: Forum 101 / Community Introductions

Forum thread: Greetings ]]>

Forum category: Forum 101 / Community Introductions

Forum thread: Greetings ]]>

I am a recently retired chemist who finally has time to do things that interest me. While I've spent 45 years working in various laboratories doing chemistry stuff my experience with programmable calculators and computers is rather wide and varied.

My first experience with programmable calculators was with a TI-58C and TI-59 back in 1980. My first experience with programming a computer goes back before that when my High School offered a course in programming FORTRAN. I wrote these programs using punch cards (anyone know what those are?) and they ran on a main frame. My next experience with programming came when I got to write programs for an Apple ][+ and Apple //e. I originally started programming in BASIC but then learned to program the Apple in assembly (6502 and 65C02). Around 1988 my laboratory bought an Apple ][GS so I used what I learned programming the Apple //e to integrate the Apple ][GS with the laboratory balances by writing a program in assembly. This was the beginning of computers being integrated in a chemistry laboratory. So when I began my career every analysis was done by hand and there were no computers and when I retired almost everything is done using a computer. There are very few instruments that are not hooked up to a computer now.

I liked the Apple ][GS enough that I bought one in 1988. Right at this time the company whose assembler I was using offered a C compiler. So I started my journey learning to program in C. Over the following decades I have written programs in C for Macs, PCs and even a little bit for Linux. Sometime in early 2000, again for work I started using a TI-83+ and learned to write utility programs in TI-Basic. Sometimes it was just a lot easier and faster to do that then write a program on the computer.

Computers have gotten so complex now that I don't particularly enjoy writing programs for them. Looking for simpler times in my retirement I decided that I would return to my roots so I bought a TI-84+CE and am attempting to learn the ins and outs of programming it in C and in ez80 assembly. And that, folks, is why I am here! I am hopeful that I can use this sites resources to learn this stuff.

The Saint

Forum category: Forum 101 / Community Introductions

Forum thread: Greetings ]]>

` ``SetUpEditor ClrList L₂ Prompt A,B For(Y,A,B Y→X {1→L₁ Repeat Ans=1 2:While fPart(X/Ans Ans+1 End Ans→L₁(1+dim(L₁ X/Ans→X End If 2=dim(L₁:Then Disp Y Y→L₂(1+dim(L₂ End End If dim(L₂:L₂`

Forum category: Programming & Design / TI-Nspire Programming

Forum thread: Need help making some programs ]]>

Forum category: General Discussion / Wiki Page Discussions

Forum thread: Maze ]]>

Forum category: General Discussion / Wiki Page Discussions

Forum thread: Lunar Lander ]]>

Forum category: General Discussion / Wiki Page Discussions

Forum thread: Math Program ]]>

` ``PROGRAM:PRIME :Prompt N :{2→ L₁ :For(I,3,N,2 :If min(fpart(I/L₁ :augment(L1,{I→ L₁ :End :L₁`

This program will find all prime numbers from 2 to N. I optimized it using Ti-BASIC's list arithmetic as well as the fact that the only even prime number is two. I then revised this program to fit your specification and take a range (a,b). The result is below:

` ``PROGRAM:PRIME :Prompt A,B :{2→ L₁ :For(I,3,B,2 :If min(fpart(I/L₁ :augment(L₁ ,{I→ L₁ :End :SortD(L₁ :1→ I :Repeat A>L₁ (I :I+1→ I :End :I-1→ dim(L₁ :SortA(L₁ :L₁`

To make this program work, make sure that A is less than B, that A is greater than two, and that there are prime numbers between A and B. If any of these conditions are not met, the program will not function properly.

I would be happy to write some more programs for you. However, I will not accept pay.

Forum category: Programming & Design / TI-Nspire Programming

Forum thread: Need help making some programs ]]>