Omnimaga: The Coders Of Tomorrow
Welcome, Guest. Please login or register.
 
Omnimaga: The Coders Of Tomorrow
25 May, 2013, 10:11:12 *
Welcome, Guest. Please login or register.

Login with username, password and session length
 
   home   news downloads projects tutorials misc forums rules new posts irc about Login Register  
+-OmnomIRC

You must Register, be logged in and have at least 40 posts to use this shout-box! If it still doesn't show up afterward, it might be that OmnomIRC is disabled for your group or under maintenance.

Note: You can also use an IRC client like mIRC, X-Chat or Mibbit to connect to an EFnet server and #omnimaga.

Pages: [1] 2   Go Down
  Print  
Author Topic: Asm for the TI84+ -  (Read 1329 times) Bookmark and Share
0 Members and 1 Guest are viewing this topic.
DarkLechuga
LV1 Newcomer (Next: 20)
*
Offline Offline

Gender: Male
Last Login: 07 December, 2012, 14:43:57
Date Registered: 01 February, 2012, 01:06:13
Location: Georgia
Posts: 10


Topic starter
Total Post Ratings: 0

View Profile
« on: 01 February, 2012, 02:31:19 »
0

I have a TI84+, and want to learn how to program games for it in Asm. So far i haven't been able to find a tutorial for Asm programming for TI84+, so i've been using a cpl different tutorials for the 83+. Everything i've read says programs for the 83+ should run just fine on the 84+, but i've been having some minor difficulties. All i've done so far is make a few extremely simple programs clear the screen, move to a new line, display the "Done" message, and display text. When i run these programs thru the TI Flash Debugger for 83+, they run the way i intend, but when i send them to my calc and run them, they act funny. A program made to produce a few lines of text followed by a blank line runs fine on the debugger, but when on the actual calc, the text displays but then the "Done" message appears on top of (and obscuring) the text on the top right of the screen, and the cursor ends up over the text on the left hand side of the second row. It seems that on the 83+, when a program finishes, the cursor stays where the program left it, but on the 84+ it automatically reverts to left hand second row. Any ways to fix this??? Anything else i should know that differs between 83+ asm and 84+???
Logged
Yeong
Eternally Young Scarlet Moon
LV12 Extreme Poster (Next: 5000)
************
Offline Offline

Gender: Male
Last Login: 20 May, 2013, 01:44:48
Date Registered: 15 October, 2010, 04:29:49
Location: Arden, NC
Posts: 3694


Total Post Ratings: +260

View Profile
« Reply #1 on: 01 February, 2012, 02:34:20 »
0

maybe fiddle with CurCol and CurRow?
Logged

Project Redemption....

My project progresses:HERE
My Pastebin stuffs:HERE
Check your rate: HERE
My Animations: HERE
Spoiler for Images :D:

ノ◕ヮ◕)ノ:・゚ PENGUIN WAVE!!:„ø¤º°¨ ¨°º¤KEEP THE PENGUIN GOING ¸„ø¤º°¨ ¨°º¤øº LETS GO PENGUIN !¤¤º°¨¨°º¤øº¤ø„¸¸ø¤º°¨„ ø¤º°¨¨°º
Deep Thought
So much to do, so much time, so little motivation
Administrator
LV13 Extreme Addict (Next: 9001)
*
Offline Offline

Gender: Male
Last Login: Today at 01:40:03
Date Registered: 19 May, 2009, 08:00:00
Location: The Universe
Posts: 7813


Total Post Ratings: +706

View Profile WWW
« Reply #2 on: 01 February, 2012, 02:53:43 »
0

Hi and welcome, DarkLechuga. TI-84 Plus assembly should be identical in most ways, and since you're asking about text on the home screen, I'll point you to this lesson in the 28 Days tutorial. Good luck!
« Last Edit: 01 February, 2012, 02:54:03 by Deep Thought » Logged




Juju
Evil Fluttershy (Site issues must be PM'ed to Netham45, Eeems, Shmibs, Deep Thought and AngelFish, not me.)
Coder Of Tomorrow
LV12 Extreme Poster (Next: 5000)
*
Offline Offline

Gender: Male
Last Login: Today at 09:40:20
Date Registered: 17 March, 2010, 07:46:57
Location: Québec, North Equestria
Posts: 4549


Total Post Ratings: +394

View Profile WWW
« Reply #3 on: 01 February, 2012, 03:36:33 »
0

Yeah, the TI-84+ is backwards compatible with the 83+, the only thing that differs is that the 84+ has additional BCALLs for the additional hardware, the rest should be the same as the 83+. And the .org value too, if I'm right?
Logged

LuaIDE
Reuben Quest HD: The PC Remake
Zarmina Project: Play Read
Nspire I/O: Info Download


THEGAME
Spoiler for Other stuff:
Also Yuki "ジュジュ" Kagayaki
Support Casio-Scene against the attacks of matt @ matpac.co.uk ! For more information: Casio-Scene shuts down & Matt actions threads
Find what P+4zJ means and you get free candy! cc4daa9c4645bd123ed22e385ed701fd
#omnimaga on OmniNet, EFNet and Pesterchum
Omnimaga Owner and Former Administrator
Fan of My Little Jim Bauwens: Losing the Game is Magic
Proud member of POLN - Ponys Oppositing Lol Names
Member of OBEL - Omnimaga Board of the EFnrgelnicshh Language - Office Omnimagois de la Langue FArnagnlçaaiiss
あなたはこのゲームを失った
Spoiler for Old spoileryception stuff:

Spoiler for Coming soon...:
Indefinitely halted [|.........] 10%
OmnomIRC Mobile [||||......] 40% (argh threads >_<)
Spoiler for Current/Past TI-related projects:
The Axe Parser Wiki / Founder and maintainer
Keytar Hero [|||||_____] 50% Engine done, wackiness left to do (Halted)
OmniOS
VVVVVV [||||______] 40% (Made most of the engine, extremely glitchy) (Gave it to Leafy)
░█▀█░█░█░█▀▀░█▀█░█▀█░█▀█░▀█▀░█▀▄
░█▀█░▄▀▄░█▀▀░█▀█░█░█░█░█░░█░░█░█
v0.1.0
░▀░▀░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀▀░▀▀▀░▀▀░[|||||||||¦] 95ish% (Completed)
tilibs-wii? [._________] 0% (Nope.)
Spoiler for Spoilers:
<!---->
wxWabbitemu Developer
Spoiler for Other Userbars:






<!--Everything done, got 90% Cheesy sudo apt-get install z80asm z80dasm-->
Spoiler for Quote:
We are in 2034. The situation on Earth is catastrophic. The ozone layer has been completely destroyed by the carbonic gas of automobiles, the chemical industries, and the poosh-poosh in little cans. In the end, the earth cooks under the rays of the sun. We must find a planet on which can live 6 billion idiots. The planetary federation turns to the strongest country in the world: Canada. It is Canadian knowledge that has allowed, on October 28, 2034, the launch of the spaceship Romano Fafard, which leaves earth to search the confines of the Universe. Where the hand of man has never set foot.
I hate TI right now
Quote from: jimbauwens
You make me lose the game
Everytime I read your name
Spoiler for The real answer to life, the universe and everything:
Spoiler for Old HTML stuff:
<div style="margin:20px; margin-top:5px"><div class="smallfont" style="margin-bottom:2px">Spoiler for This is another spoiler: <input type="button" value="Show" style="width:60px;font-size:10px;margin:0px;padding:0px;" onclick="window.location.replace('http://goo.gl/QMET');"></div><div class="alt2" style="margin: 0px; padding: 6px; border: 1px inset;"><div style="display: none; ">HAHAHA SUCCESSFUL RICKROLL IS SUCCESSFUL</div></div></div><!-- old avatars:
http://fc00.deviantart.net/fs71/f/2011/120/d/f/nepeta_nyan_cat_by_supuru-d3f8tcx.gif
http://th01.deviantart.net/fs70/PRE/i/2011/099/5/b/rainbow_dash_derping_by_moongazeponies-d3dmg7l.png--><!---->
I may or may not be inactive during work hours (9AM to 5PM EST, Monday to Friday), so for any inquiries please leave a message after the beep and I'll answer you when I have time. Beep. Nevermind, I'm on vacation now. Cheesy
Geekboy1011
The Oneironaut
Support Staff
LV10 31337 u53r (Next: 2000)
*
Offline Offline

Gender: Male
Last Login: Today at 02:33:04
Date Registered: 11 June, 2009, 01:27:44
Location: Buried in cherry flavored source code
Posts: 1503


Total Post Ratings: +88

View Profile
« Reply #4 on: 01 February, 2012, 03:38:16 »
0

Yeah, the TI-84+ is backwards compatible with the 83+, the only thing that differs is that the 84+ has additional BCALLs for the additional hardware, the rest should be the same as the 83+. And the .org value too, if I'm right?

na teh .org value is the same. the only differance is the bcalls for the hardware and the ability to use 15mhz speed instead of 6
Logged

Yumé - The Eternal Dreams(tsukasaZX's project): music making working on second piece
PROJECT:TiX - planning stages almost done few more things to think about then i start coding so coding should commence tommorow or the NULL of NULL yay
Project/Mod Cadan: CD  -   My (first?!?) mod of the cadan engine for a not so demoified version of the game : HOLD :Is here
Beta testing: -  Correlation: Wordwrap abuse IF Adventure style
DJ Omnimaga
Retired Omnimaga founder (Site issues must be PM'ed to Netham45, Eeems, Shmibs, Deep Thought and AngelFish, not me.)
Editor
LV15 Omnimagician (Next: --)
*
Offline Offline

Gender: Male
Last Login: Today at 08:39:50
Date Registered: 25 August, 2008, 07:00:21
Location: Québec (Canada)
Posts: 50235


Total Post Ratings: +2615

View Profile WWW
« Reply #5 on: 01 February, 2012, 03:43:32 »
0

Also on the 84+, there is extra RAM too (hidden from the user). It's 16 KB of extra space on models from April 2007 and later and 80 KB for 2004-March 2007 models. I don't recommend using the extra RAM, the crystal timers nor the clock, though, if you plan to reach a larger audience of TI-83 Plus owners, unless your game is just too much for the 6 MHz models and you only plan a TI-84 Plus release.

Welcome here by the way. Good luck with ASM programming. Smiley
Logged

Retired 83+ coder, Omnimaga/TIMGUL founder. Now doing power metal music (formerly did electronica)

Follow me on Bandcamp|Facebook|Reverbnation|Youtube|Twitter|Myspace
DarkLechuga
LV1 Newcomer (Next: 20)
*
Offline Offline

Gender: Male
Last Login: 07 December, 2012, 14:43:57
Date Registered: 01 February, 2012, 01:06:13
Location: Georgia
Posts: 10


Topic starter
Total Post Ratings: 0

View Profile
« Reply #6 on: 01 February, 2012, 03:57:44 »
0

I've fiddled with Currow and Curcol some, it still resets to the aforementioned cursor position when the program finishes. I seriously hope i'm not the only one with this problem... Read thru the 28 days tutorial page Deep Thought linked, i'm actually using both 28 days alongside another tutorial (i believe by someone named jeff chai) to learn. Thanks for the warm welcome everyone!
Logged
Geekboy1011
The Oneironaut
Support Staff
LV10 31337 u53r (Next: 2000)
*
Offline Offline

Gender: Male
Last Login: Today at 02:33:04
Date Registered: 11 June, 2009, 01:27:44
Location: Buried in cherry flavored source code
Posts: 1503


Total Post Ratings: +88

View Profile
« Reply #7 on: 01 February, 2012, 04:01:23 »
0

mind pasting your source code? i can take a look and try to help ^^
Logged

Yumé - The Eternal Dreams(tsukasaZX's project): music making working on second piece
PROJECT:TiX - planning stages almost done few more things to think about then i start coding so coding should commence tommorow or the NULL of NULL yay
Project/Mod Cadan: CD  -   My (first?!?) mod of the cadan engine for a not so demoified version of the game : HOLD :Is here
Beta testing: -  Correlation: Wordwrap abuse IF Adventure style
DarkLechuga
LV1 Newcomer (Next: 20)
*
Offline Offline

Gender: Male
Last Login: 07 December, 2012, 14:43:57
Date Registered: 01 February, 2012, 01:06:13
Location: Georgia
Posts: 10


Topic starter
Total Post Ratings: 0

View Profile
« Reply #8 on: 01 February, 2012, 04:24:45 »
0

Here it is:

.nolist
   #include "ti83plus.inc"
.list

.org $9D93
.db t2ByteTok, tAsmCmp
   b_call(_ClrLCDFull)
   ld hl,0
   ld (CURCOL),hl
   ld hl,0
   ld (CURROW),hl
   ld hl,txtMsg
   b_call(_PutS)
   b_call(_NewLine)
   ret
txtMsg:
   .db "Displaying text "
   .db "on the home page"
   .db "using a new call"
   .db "that may or may "
   .db "not work.       ",0
.end
.end

This program displayed fine on the debugger with the "Done" and cursor below all the text when the program finished, but on my 84+ the "Done" and cursor were on the first and second rows on top of my text.
Any advice is welcome here (although preferably pertaining to the original question), i'm thoroughly new to Asm and need all the help i can get. Thanks again!
Logged
Quigibo
The Executioner
LV11 Super Veteran (Next: 3000)
***********
Offline Offline

Gender: Male
Last Login: 21 May, 2013, 02:03:21
Date Registered: 22 January, 2010, 05:02:37
Location: Los Angeles
Posts: 2022


Total Post Ratings: +1019

View Profile
« Reply #9 on: 01 February, 2012, 04:28:35 »
0

I think the "Done" covering the text is the normal behavior and that the emulator you are using is incorrect.  Regardless, I would add a res 5,(iy+0) to the beginning of the program which tells the OS to not display "Done" at the end.  Also, I recommend WabbitEmu instead as it has more features and emulates more accurately.
Logged

___Axe_Parser___
Today the calculator, tomorrow the world!
ralphdspam
LV8 Addict (Next: 1000)
********
Offline Offline

Gender: Male
Last Login: 14 May, 2013, 09:10:11
Date Registered: 01 February, 2011, 07:58:40
Location: California, USA
Posts: 841


Total Post Ratings: +36

View Profile
« Reply #10 on: 01 February, 2012, 05:06:17 »
0

I think the "Done" covering the text is the normal behavior and that the emulator you are using is incorrect.  Regardless, I would add a res 5,(iy+0) to the beginning of the program which tells the OS to not display "Done" at the end.  Also, I recommend WabbitEmu instead as it has more features and emulates more accurately.
Also on the topic of text display, some BCALLs, like DispHL, do not work in mathprint mode.
Logged

ld a, 0
ld a, a
chickendude
LV6 Super Member (Next: 500)
******
Offline Offline

Gender: Female
Last Login: 21 May, 2013, 19:04:07
Date Registered: 06 September, 2008, 11:27:30
Posts: 435

Total Post Ratings: +66

View Profile
« Reply #11 on: 01 February, 2012, 14:38:40 »
0

Be careful using HL to store one byte into an address, when you're storing HL into CURCOL, you're also updating CUROFFSET. Check out ti83plus.inc:
Quote from: ti83plus.inc
curRow               EQU  844Bh
curCol                EQU  844Ch
curOffset            EQU  844Dh
As HL is a 2-byte register, you load the value of L into CURCOL ($844C) and the value of H into CURCOL+1 ($844D aka CUROFFSET). You could use the accumulator (A) instead, or just load HL into CURROW to update both CURROW and CURCOL.
« Last Edit: 01 February, 2012, 14:39:02 by chickendude » Logged
DarkLechuga
LV1 Newcomer (Next: 20)
*
Offline Offline

Gender: Male
Last Login: 07 December, 2012, 14:43:57
Date Registered: 01 February, 2012, 01:06:13
Location: Georgia
Posts: 10


Topic starter
Total Post Ratings: 0

View Profile
« Reply #12 on: 01 February, 2012, 15:40:18 »
0

Quigibo: My little brother has an 83+, i put the program on it and ran it and it worked okay, with the cursor below all the text. It seems the 84+ automatically resets the cursor while the 83+ just picks it up where the program left it (which is what i want). Any way to make it not reset the cursor? Also, when you say "the beginning of the program" where exactly do you mean?

Chickendude: Thanks for the tip, I'm still getting the hang of registers. What does CUROFFSET do? Also, what exactly does HomeUp do?
« Last Edit: 01 February, 2012, 15:41:03 by DarkLechuga » Logged
chickendude
LV6 Super Member (Next: 500)
******
Offline Offline

Gender: Female
Last Login: 21 May, 2013, 19:04:07
Date Registered: 06 September, 2008, 11:27:30
Posts: 435

Total Post Ratings: +66

View Profile
« Reply #13 on: 01 February, 2012, 21:09:47 »
0

To be honest, i have no idea what curOffset is, it may have something to do with text input but i'm not sure. _HomeUp should set curRow/curCol to 0 ( ld hl,0 / ld (curRow),hl ). A common "trick" is to pause the program (_getKey) before ending. Apart from that, you can try changing curRow/curCol before exiting, it might just be a change in your OS version (what version OS do you use?). Maybe you could try getting a ROM from your calc and see if it still displays differently? And the TI Flash debugger pretty much sucks, it's slow and not very accurate. Try WabbitEmu/TiEmu, both have nice debuggers and are much more accurate.
Logged
DarkLechuga
LV1 Newcomer (Next: 20)
*
Offline Offline

Gender: Male
Last Login: 07 December, 2012, 14:43:57
Date Registered: 01 February, 2012, 01:06:13
Location: Georgia
Posts: 10


Topic starter
Total Post Ratings: 0

View Profile
« Reply #14 on: 01 February, 2012, 23:58:41 »
0

My 84+ has v2.53MP. Downloaded WabbitEmu, i'll take it for a spin tonight if i have the time. And what exactly do you mean, get a ROM from my calc, and how do i do that? Sorry if that's a stupid question :|
Logged
Pages: [1] 2   Go Up
  Print  
 
Jump to:  

Powered by EzPortal
Powered by MySQL Powered by SMF 1.1.18 | SMF © 2013, Simple Machines Powered by PHP
Page created in 0.348 seconds with 31 queries.
Skin by DJ Omnimaga edited from SMF default theme with the help of tr1p1ea.
All programs, games and songs avaliable on this website are property of their respective owners.
Best viewed in Opera, Firefox, Chrome and Safari with a resolution of 1024x768 or above.