;//Periodic Table Lite ;//Ahmed El-Helw ;//ahmed@ticalc.org ;//Please use and learn from this source. If you have any questions, ;//please let me know. If you use anything from this source, please ;//give me the due credit. include "tios.h" include "util.h" xdef _main xdef _comment xdef _ti89 _main: jsr util::clr_scr move.w #2,-(a7) jsr tios::FontSetSys move.w #0,-(a7) pea title(pc) move.w #0,-(a7) move.w #0,-(a7) jsr tios::DrawStrXY move.w #1,-(a7) jsr tios::FontSetSys move.w #4,-(a7) pea option(pc) move.w #25,-(a7) move.w #1,-(a7) jsr tios::DrawStrXY pea option2(pc) move.w #33,-(a7) move.w #1,-(a7) jsr tios::DrawStrXY pea status(pc) move.w #70,-(a7) move.w #2,-(a7) jsr tios::DrawStrXY move.w #0,-(a7) jsr tios::FontSetSys move.w #4,-(a7) pea author(pc) move.w #10,-(a7) move.w #15,-(a7) jsr tios::DrawStrXY lea 52(a7),a7 move.w #0,d7 main_loop: move.w #4,-(a7) pea dashes(pc) move.w #80,-(a7) move.w #0,-(a7) jsr tios::DrawStrXY lea 10(a7),a7 bsr string_display_routine bsr Get_Key cmp.w #337,d0 bne.s not_going_left tst.w d7 beq.s not_going_left subq.w #1,d7 not_going_left: cmp.w #340,d0 bne.s not_going_right cmp.w #118,d7 beq.s not_going_right addq.w #1,d7 not_going_right: cmp.w #264,d0 bne.s main_loop rts string_display_routine: move.w d7,d6 add.w d6,d6 add.w d6,d6 lea string_table(pc,d6.w),a1 Display_String: move.w #4,-(sp) move.l (a1),-(sp) move.w #80,-(sp) move.w #0,-(sp) jsr tios::DrawStrXY lea 10(sp),sp rts Get_Key: tst.w tios::kb_vars+$1c beq.s Get_Key clr.w tios::kb_vars+$1c move.w tios::kb_vars+$1e,d0 rts string_table: dc.l string1 dc.l string2 dc.l string3 dc.l string4 dc.l string5 dc.l string6 dc.l string7 dc.l string8 dc.l string9 dc.l string10 dc.l string11 dc.l string12 dc.l string13 dc.l string14 dc.l string15 dc.l string16 dc.l string17 dc.l string18 dc.l string19 dc.l string20 dc.l string21 dc.l string22 dc.l string23 dc.l string24 dc.l string25 dc.l string26 dc.l string27 dc.l string28 dc.l string29 dc.l string30 dc.l string31 dc.l string32 dc.l string33 dc.l string34 dc.l string35 dc.l string36 dc.l string37 dc.l string38 dc.l string39 dc.l string40 dc.l string41 dc.l string42 dc.l string43 dc.l string44 dc.l string45 dc.l string46 dc.l string47 dc.l string48 dc.l string49 dc.l string50 dc.l string51 dc.l string52 dc.l string53 dc.l string54 dc.l string55 dc.l string56 dc.l string57 dc.l string58 dc.l string59 dc.l string60 dc.l string61 dc.l string62 dc.l string63 dc.l string64 dc.l string65 dc.l string66 dc.l string67 dc.l string68 dc.l string69 dc.l string70 dc.l string71 dc.l string72 dc.l string73 dc.l string74 dc.l string75 dc.l string76 dc.l string77 dc.l string78 dc.l string79 dc.l string89 dc.l string81 dc.l string82 dc.l string83 dc.l string84 dc.l string85 dc.l string86 dc.l string87 dc.l string88 dc.l string89 dc.l string90 dc.l string91 dc.l string92 dc.l string93 dc.l string94 dc.l string95 dc.l string96 dc.l string97 dc.l string98 dc.l string99 dc.l string100 dc.l string101 dc.l string102 dc.l string103 dc.l string104 dc.l string105 dc.l string106 dc.l string107 dc.l string108 dc.l string109 dc.l string110 dc.l string111 dc.l string112 dc.l string113 dc.l string114 dc.l string115 dc.l string116 dc.l string117 dc.l string118 dc.l stringend _comment dc.b "Periodic Table Light",0 title dc.b "Periodic Table Light",0 author dc.b "Ahmed El-Helw ",0 option dc.b "Use the ",19,20," keys to change",0 option2 dc.b "the element number.",0 dashes dc.b "--------------------------------",0 status dc.b "Number Element Symbol Mass",0 string1 dc.b "1 Hydrogen H 1.00794",0 string2 dc.b "2 Helium He 4.00260",0 string3 dc.b "3 Lithium Li 6.941",0 string4 dc.b "4 Beryllium Be 9.01218",0 string5 dc.b "5 Boron B 10.81",0 string6 dc.b "6 Carbon C 12.011",0 string7 dc.b "7 Nitrogen N 14.0067",0 string8 dc.b "8 Oxygen O 15.9994",0 string9 dc.b "9 Flourine F 18.998403",0 string10 dc.b "10 Neon Ne 20.1797",0 string11 dc.b "11 Sodium Na 22.98977",0 string12 dc.b "12 Magnesium Mg 24.305",0 string13 dc.b "13 Aluminum Al 26.98154",0 string14 dc.b "14 Silicon Si 28.0855",0 string15 dc.b "15 Phosphorous P 30.97376",0 string16 dc.b "16 Sulfur S 32.066",0 string17 dc.b "17 Chlorine Cl 35.453",0 string18 dc.b "18 Argon Ar 39.948",0 string19 dc.b "19 Potassium K 39.0983",0 string20 dc.b "20 Calcium Ca 40.078",0 string21 dc.b "21 Scandium Sc 44.9559",0 string22 dc.b "22 Titanium Ti 47.88",0 string23 dc.b "23 Vanadium V 50.9415",0 string24 dc.b "24 Chromium Cr 51.996",0 string25 dc.b "25 Manganese Mn 54.9380",0 string26 dc.b "26 Iron Fe 55.847",0 string27 dc.b "27 Cobalt Co 58.9332",0 string28 dc.b "28 Nickel Ni 58.69",0 string29 dc.b "29 Copper Cu 63.546",0 string30 dc.b "30 Zinc Zn 65.39",0 string31 dc.b "31 Gallium Ga 69.72",0 string32 dc.b "32 Germanium Ge 72.61",0 string33 dc.b "33 Arsenic As 74.9216",0 string34 dc.b "34 Selenium Se 78.96",0 string35 dc.b "35 Bromine Br 79.904",0 string36 dc.b "36 Krypton Kr 83.80",0 string37 dc.b "37 Rubidium Rb 85.4678",0 string38 dc.b "38 Strontium Sr 87.62",0 string39 dc.b "39 Yttrium Y 88.9059",0 string40 dc.b "40 Zirconium Zr 91.224",0 string41 dc.b "41 Niobium Nb 92.9064",0 string42 dc.b "42 Molybdenum Mo 95.94",0 string43 dc.b "43 Technetium Tc 98",0 string44 dc.b "44 Ruthenium Ru 101.07",0 string45 dc.b "45 Rhodium Rh 102.9055",0 string46 dc.b "46 Palladium Pd 106.42",0 string47 dc.b "47 Silver Ag 107.8682",0 string48 dc.b "48 Cadmium Cd 112.41",0 string49 dc.b "49 Indium In 114.82",0 string50 dc.b "50 Tin Sn 118.710",0 string51 dc.b "51 Antimony Sb 121.757",0 string52 dc.b "52 Tellurium Te 127.60",0 string53 dc.b "53 Iodine I 126.9045",0 string54 dc.b "54 Xenon Xe 131.29",0 string55 dc.b "55 Cesium Cs 132.9054",0 string56 dc.b "56 Barium Ba 137.33",0 string57 dc.b "57 Lanthanum La 138.9055",0 string58 dc.b "58 Cerium Ce 140.12",0 string59 dc.b "59 Praseodymium Pr 140.9077",0 string60 dc.b "60 Neodymium Nd 144.24",0 string61 dc.b "61 Promethium Pm 145",0 string62 dc.b "62 Samarium Sm 150.36",0 string63 dc.b "63 Europium Eu 151.96",0 string64 dc.b "64 Gadolinium Gd 157.25",0 string65 dc.b "65 Terbium Tb 158.9254",0 string66 dc.b "66 Dysprosium Dy 162.50",0 string67 dc.b "67 Holmium Ho 164.9304",0 string68 dc.b "68 Erbium Er 167.26",0 string69 dc.b "69 Thulium Tm 168.9342",0 string70 dc.b "70 Ytterbium Yb 173.04",0 string71 dc.b "71 Lutetium Lu 174.967",0 string72 dc.b "72 Hafnium Hf 178.49",0 string73 dc.b "73 Tantalum Ta 180.9479",0 string74 dc.b "74 Tungsten W 183.85",0 string75 dc.b "75 Rhenium Re 186.207",0 string76 dc.b "76 Osmium Os 190.2",0 string77 dc.b "77 Iridium Ir 192.22",0 string78 dc.b "78 Platinum Pt 195.08",0 string79 dc.b "79 Gold Au 196.9665",0 string80 dc.b "80 Mercury Hg 200.59",0 string81 dc.b "81 Thallium Tl 204.38",0 string82 dc.b "82 Lead Pb 207.2",0 string83 dc.b "83 Bismuth Bi 208.9804",0 string84 dc.b "84 Polonium Po 209",0 string85 dc.b "85 Astatine At 210",0 string86 dc.b "86 Radon Rn 222",0 string87 dc.b "87 Francium Fr 223",0 string88 dc.b "88 Radium Ra 226.0254",0 string89 dc.b "89 Actinum Ac 227.0278",0 string90 dc.b "90 Thorium Th 232.0381",0 string91 dc.b "91 Protactinium Pa 231.0359",0 string92 dc.b "92 Uranium U 238.0289",0 string93 dc.b "93 Neptunium Np 237.048",0 string94 dc.b "94 Plutonium Pu 244",0 string95 dc.b "95 Americium Am 243",0 string96 dc.b "96 Curium Cm 247",0 string97 dc.b "97 Berkelium Bk 247",0 string98 dc.b "98 Californium Cf 251",0 string99 dc.b "99 Einsteinium Es 252",0 string100 dc.b "100 Fermium Fm 257",0 string101 dc.b "101 Mendelevium Md 258",0 string102 dc.b "102 Nobelium No 259",0 string103 dc.b "103 Lawrencium Lr 260",0 string104 dc.b "104 Rutherfordium Rf 261",0 string105 dc.b "105 Dubnium Db 262",0 string106 dc.b "106 Seaborgium Sg 263",0 string107 dc.b "107 Bohrium Bh 262",0 string108 dc.b "108 Hassium Hs 265",0 string109 dc.b "109 Meitnerium Mt 266",0 string110 dc.b "110 Ununnilium Uun 269",0 string111 dc.b "111 Unununium Uuu 272",0 string112 dc.b "112 Ununbium Uub 277",0 string113 dc.b "113 Ununtrium Uut ???",0 string114 dc.b "114 Ununquadium Uuq ???",0 string115 dc.b "115 Ununpentium Uup ???",0 string116 dc.b "116 Ununhexium Uuh ???",0 string117 dc.b "117 Ununseptium Uus ???",0 string118 dc.b "118 Ununoctium Uuo ???",0 stringend dc.b "End",0 rts end