This is an archived, read-only copy of the United-TI subforum , including posts and topic from May 2003 to April 2012. If you would like to discuss any of the topics in this forum, you can visit Cemetech's z80 & ez80 Assembly subforum. Some of these topics may also be directly-linked to active Cemetech topics. If you are a Cemetech member with a linked United-TI account, you can link United-TI topics here with your current Cemetech topics.

This forum is locked: you cannot post, reply to, or edit topics. Z80 & 68k Assembly => z80 & ez80 Assembly
Author Message
Darth Android
DragonOS Dev Team


Bandwidth Hog


Joined: 31 May 2003
Posts: 2104

Posted: 13 Nov 2003 01:14:51 pm    Post subject:

what does bcall(_GetSysInfo) do?
where can i find documentation on that and other bcalls that are not included in the asm in 28 days tutorial?
all i need is what it does, inputs, outpus, and registers destroyed

what is the code for turing the calc off and back on when they press [on] (to turn of screen is out ($10),$02 or something)
what registers are destroyed by that code?

adm.wiggin:
can i get the source to a program that OR/AND/XOR/clear then OR the 8 bytes at (hl) to the graphscreen at b,c where b is x coord and c is y coord?

edit, can i get a list of safe locations to store temp data and how many bytes of data i can store there?
like, appbackupscreen is 768 bytes, etc.


Last edited by Guest on 13 Nov 2003 02:24:22 pm; edited 1 time in total
Back to top
Adm.Wiggin
aka Tianon


Know-It-All


Joined: 02 Jun 2003
Posts: 1874

Posted: 13 Nov 2003 04:50:39 pm    Post subject:

you want a program for putting out a sprite? to clear than or, use the built in bcall(_DisplayPic) or whatever it is...

for bcall docs, go here, and get "System Routine Documentation - This document contains detailed information regarding the TI-83 Plus system routines."

very good info in it Smile
Back to top
Darth Android
DragonOS Dev Team


Bandwidth Hog


Joined: 31 May 2003
Posts: 2104

Posted: 13 Nov 2003 11:45:58 pm    Post subject:

ok, thx.
but i would like the ability to xor to the graph as well...
Back to top
Darth Android
DragonOS Dev Team


Bandwidth Hog


Joined: 31 May 2003
Posts: 2104

Posted: 14 Nov 2003 09:51:58 pm    Post subject:

so.... anyone have a list of all of the saferam areas/how big they are?
Back to top
JacobdeHaan


Member


Joined: 10 Jul 2003
Posts: 165

Posted: 15 Nov 2003 01:30:41 am    Post subject:

I don't know all of them, but here are a few:
there are these three (defined in mirage.inc)
saferam1 = SavesScreen
saferam2 = AppBackUpScreen
saferam3 = TempSwapArea

Also you could use textshadow.
Between all of those, I think you have nearly 2000 bytes of extra space.
Back to top
sgm


Calc Guru


Joined: 04 Sep 2003
Posts: 1265

Posted: 15 Nov 2003 03:05:39 am    Post subject:

And Sigma lookéd down upon the wretchéd TI-83 Plus progræmmers. And he did take pity on them. And he did speak unto them "let there be scræp RÆM",


Code:
Location (equate)  Location (Hex)   Size     Safe Usage

RamStart        $8000 to $8100      256      Presumably used during Garbage Collect
TempSwapArea    $82A5 to $83E8      323      Do not archive variables
IMathPtr1       $8403 to $840D      10       Don't use math calls
OP Registers    $8478 to $84BA      66       Don't use math- or variable-related ROM calls
TextMem         $8508 to $8588      128      Used to keep a copy of homescreen writes
SaveSScreen     $86EC to $89EC      768      Don't let the APD trigger
StatVars        $8A3A to $8C4D      531      Don't evaulate statistics, and use bcall(_DelRes)
CmdShadow       $966E to $96EE      128      Free
AppBackupScreen $9872 to $9B72      768      Free
Hardware Stack  $FE6A to $FF50      230      The upper part of the Hardware Stack. Safe if you don't go crazy with the PUSH/CALL.
       = 3208


And they did rejoice. For they did have many kilobytés of data storæge for their gæmes. And Trogdor smote the Kerrek. And all was laid to burnination. And Sigma spake unto the most holy of the Moderators. And he said to They: "For you cannot delete my post, nor accuse it of spæm. For these scriptures is containéd of Useful Information.

Very Happy


Last edited by Guest on 15 Nov 2003 03:13:02 am; edited 1 time in total
Back to top
Darth Android
DragonOS Dev Team


Bandwidth Hog


Joined: 31 May 2003
Posts: 2104

Posted: 15 Nov 2003 11:15:22 am    Post subject:

And Darth Android looked up upon Sigma and he rejoiced, for what he saw he liked and it was good.

Last edited by Guest on 17 Nov 2003 01:13:37 pm; edited 1 time in total
Back to top
Justin W.
Shattered Silence


Advanced Member


Joined: 24 May 2003
Posts: 429

Posted: 15 Nov 2003 01:09:16 pm    Post subject:

Darth Android wrote:
what does bcall(_GetSysInfo) do?
where can i find documentation on that and other bcalls that are not included in the asm in 28 days tutorial?
all i need is what it does, inputs, outpus, and registers destroyed

what is the code for turing the calc off and back on when they press [on] (to turn of screen is out ($10),$02 or something)
what registers are destroyed by that code?

adm.wiggin:
can i get the source to a program that OR/AND/XOR/clear then OR the 8 bytes at (hl) to the graphscreen at b,c where b is x coord and c is y coord?

edit, can i get a list of safe locations to store temp data and how many bytes of data i can store there?
like, appbackupscreen is 768 bytes, etc.

1) bcall(_GetSysInfo) returns 9 bytes of system information to a RAM location of your choice pointed to by hl.

Inputs: hl=pointer to RAM address in which you want to write the information (9 bytes)

Registers Destroyed: All

Outputs:

Starting at beginning of label you wrote to:

Byte 0-Boot code revision # (Major)
Byte 1-Boot code revision # (Minor)
Byte 2-Hardware revision # (00 is TI-83 Plus, NZ if not)
Byte 3-Lsn = Current Speed
Byte 3-Bit 4 reset if TI-83 Plus; set if TI-83 Plus Silver Edition
Byte 4-Device code default
Byte 5-8 : Reserved

2)
The code to turn off the calculator or more so the LCD is this.


Code:
LCDOff:
 ld a,1
 out (3),a
 halt
 res onInterrupt,(IY+onFlags);reset the on interupt flag so No Err:Break
 ret


Do not remove your batteries while in this mode

This code will turn off the lcd then wait for on to be pressed before continuing execution of the program it was in.

3)

What size of sprite are you trying to place?
Back to top
Darth Android
DragonOS Dev Team


Bandwidth Hog


Joined: 31 May 2003
Posts: 2104

Posted: 16 Nov 2003 05:01:37 pm    Post subject:

thx, found the stuff on _getSysInfo

8*8 sprites. ive inqueried adm., since he made me one that did all that but for basic programmers, Str1,A,B,C! i trust he will be able, i really just need the bit shifting routines/and/or/xor routines, but i trust adm. can do it. i guess he didnt really like his current place in the credits Razz
thx for the powerdown code, what could happen if i remove my batteries? all ram go bye bye cuz calc still "on", but screen off?

thx again.


Last edited by Guest on 16 Nov 2003 06:03:52 pm; edited 1 time in total
Back to top
Darth Android
DragonOS Dev Team


Bandwidth Hog


Joined: 31 May 2003
Posts: 2104

Posted: 16 Nov 2003 06:02:06 pm    Post subject:

err... do you know the code to make it ok if i pull the batteries? mirage uses it....
the code i remember for that started out with something like
di
ex af,af
somthing...
ex af,af
ei

thx
Back to top
Justin W.
Shattered Silence


Advanced Member


Joined: 24 May 2003
Posts: 429

Posted: 16 Nov 2003 08:01:15 pm    Post subject:

If I remember correctly, the code for turning the calc off completely is this.


Code:
PowerOff:
 di
 ex af,af'
 exx
 ld a,1
 out (3),a
 xor a
 out (4),a
 ex af,af'
 exx
 ei
 ret


And as pertaining to your question about what will happen if you remove a battery during my previous code. The answer is yes it will reset your RAM, as the calculator is still running in low power mode, the LCD is just switched off.
Back to top
Darth Android
DragonOS Dev Team


Bandwidth Hog


Joined: 31 May 2003
Posts: 2104

Posted: 17 Nov 2003 04:41:19 am    Post subject:

it doesnt look like it destroys any registers... does it? And what is af'? register af prime?

Last edited by Guest on 17 Nov 2003 04:49:44 am; edited 1 time in total
Back to top
sgm


Calc Guru


Joined: 04 Sep 2003
Posts: 1265

Posted: 17 Nov 2003 01:02:55 pm    Post subject:

AF' is an alternate AF. You can swap them with EX AF,AF'.
Back to top
Darth Android
DragonOS Dev Team


Bandwidth Hog


Joined: 31 May 2003
Posts: 2104

Posted: 17 Nov 2003 01:09:43 pm    Post subject:

so, like there are 2 af registers, and you can switch them with ex af,af'? i assume you cant do this with bc/de/hl. or can you?
Back to top
sgm


Calc Guru


Joined: 04 Sep 2003
Posts: 1265

Posted: 17 Nov 2003 01:12:43 pm    Post subject:

That's what EXX does. It swaps BC DE and HL with their alternates in one fell swoop.

And I know what your thinking, and the answer is, sorry you need to use the stack for the index registers.
Back to top
Adm.Wiggin
aka Tianon


Know-It-All


Joined: 02 Jun 2003
Posts: 1874

Posted: 17 Nov 2003 05:45:22 pm    Post subject:

the real name is actually shadow registers...





Darth, check your mIRC Bot PMs...
Back to top
Darth Android
DragonOS Dev Team


Bandwidth Hog


Joined: 31 May 2003
Posts: 2104

Posted: 19 Nov 2003 12:45:49 am    Post subject:

sigma wrote:
That's what EXX does. It swaps BC DE and HL with their alternates in one fell swoop.

And I know what your thinking, and the answer is, sorry you need to use the stack for the index registers.

no, i wasnt thinking that, but:
so there are actually double the number of registers?
so if i
ld bc,23
exx
ld bc,42

then i can recall both by switvhing them with exx? sweet...!

BTW, can anyone mail me the silent linking docs? ive been looking for them...
Back to top
Justin W.
Shattered Silence


Advanced Member


Joined: 24 May 2003
Posts: 429

Posted: 19 Nov 2003 12:53:36 am    Post subject:

Basically, there are 4 main 16 bit registers, and 2 index registers. Each of the main 16 bit registers has a shadow register. Therefore.

af,bc,de,hl,af',bc',de',hl'

and ix,iy
Back to top
Darth Android
DragonOS Dev Team


Bandwidth Hog


Joined: 31 May 2003
Posts: 2104

Posted: 19 Nov 2003 02:47:24 am    Post subject:

nothing beats more registers!
Back to top
Display posts from previous:   
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
    »
» View previous topic :: View next topic  
Page 1 of 1 » All times are UTC - 5 Hours

 

Advertisement