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 |
|
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.
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
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 |
|
|
|