Author Topic: 8x+ > ram questions  (Read 4712 times)

0 Members and 1 Guest are viewing this topic.

Offline the_mad_joob

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 346
  • Rating: +47/-0
    • View Profile
8x+ > ram questions
« on: April 22, 2014, 11:53:14 am »
Hey there, it's me, again.
Several questions about ram usage :

1) Are pages $82 to $87 altered by a ram|mem clear ?
Before you ask, yes, i'm lazy to check it by myself XD

2) The following questions will refer to that page : http://wikiti.brandonw.net/index.php?title=83Plus:OS:Ram_Pages
In fact, i need to be 100% sure that non of the TI-OSes (including the later "heavy" ones) use pages $82>$87, even for temporary storage.
I'm specially interested in $4100>$433A on page $83 : which code uses that ? the TI-OS ?
If yes, i'm curious to know why would TI have chosen to use that page instead of $82.

Thx in advance for your time =]

Offline Streetwalrus

  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3821
  • Rating: +80/-8
    • View Profile
Re: 8x+ > ram questions
« Reply #1 on: April 22, 2014, 01:03:09 pm »
1) It shouldn't be affected because Omnicalc uses the extra RAM for the backup feature and it actually survives manual clears and crashes.

Offline the_mad_joob

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 346
  • Rating: +47/-0
    • View Profile
Re: 8x+ > ram questions
« Reply #2 on: April 22, 2014, 01:19:20 pm »
1) It shouldn't be affected because Omnicalc uses the extra RAM for the backup feature and it actually survives manual clears and crashes.
Yeah, that's what wabbit says, too.
Thx for the reply =]

Offline the_mad_joob

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 346
  • Rating: +47/-0
    • View Profile
Re: 8x+ > ram questions
« Reply #3 on: April 23, 2014, 08:24:46 pm »
I have a new (maybe dumb) question about the ram pages.
Is there actually a way to unlock execution on pages $80,$82,$84,$86 ?
I mean, the only thing i found on the wiki was that way to modify ram execution upper limit using port $26, but it seems to be "bank-specific".
Help appreciated about that =]

Offline Runer112

  • Moderator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: 8x+ > ram questions
« Reply #4 on: April 23, 2014, 08:33:41 pm »
Are ports 25 and 26 actually bank-specific? I don't see that suggested in their WikiTI documentation, and my hunch was that they weren't. The default values of 10h and 20h seem to make sense with what areas are normally executable.

Offline the_mad_joob

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 346
  • Rating: +47/-0
    • View Profile
Re: 8x+ > ram questions
« Reply #5 on: April 23, 2014, 09:02:12 pm »
Hmm, well, if you're right, meaning there's only the execution lower & upper limits that matter, then i don't understand why mentioning that all odd pages have an execution protection there : http://wikiti.brandonw.net/index.php?title=83Plus:OS:Ram_Pages
I mean, as i understand it, there are 2 types of protections : the pages themselves (only the odd ones it seems), and the mem bank where you decide to run the code.
Would require some little clarifications i guess...

/EDIT : Just noticed that port $21 seems to be involved : http://wikiti.brandonw.net/index.php?title=83Plus:Ports:21
« Last Edit: April 23, 2014, 09:13:06 pm by the_mad_joob »

Offline the_mad_joob

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 346
  • Rating: +47/-0
    • View Profile
Re: 8x+ > ram questions
« Reply #6 on: April 23, 2014, 09:24:47 pm »
Ok, if i understood well, you have to modify ports $21, $25 & $26 to get the full 128k executable.

Offline DrDnar

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 546
  • Rating: +97/-1
    • View Profile
Re: 8x+ > ram questions
« Reply #7 on: April 23, 2014, 09:30:09 pm »
The high nibble of port 21h specifies the physical size of RAM. The TI-83 Plus SE had an external RAM chip. All shipped units were manufactured with a 128 K chip. The allowed sizes were 32, 64, 128, and 256 K, corresponding to values 0 to 3. You'll note that TI always leaves the high nibble set to 0 (instead of the correct value of 2), so the ASIC always thinks there's 32 K of RAM. That's why odd pages are executable: the ASIC masks execution permission based on the programmed chip size.

Ports 25h and 26h specify the actual execution limits before being masked by port 21h. These ports control permission in increments of 1 K. To make all pages executable, set 25h to 00. Because of the masking effect of port 21h, you don't need to set 26h because it's already high enough, nor do you need to modify port 21h. But if it makes you feel better, you could set 21h to 2x, 25h to 00, and 26h to FF.
"No tools will make a man a skilled workman, or master of defense, nor be of any use to him who has not learned how to handle them, and has never bestowed any attention upon them. . . . Yes, [] the tools which would teach men their own use would be beyond price."—Plato's The Republic, circa 380 BC

Offline the_mad_joob

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 346
  • Rating: +47/-0
    • View Profile
Re: 8x+ > ram questions
« Reply #8 on: April 23, 2014, 09:34:47 pm »
Nice, one port instead of 3 !
Love you Dnar boy =]