Author Topic: State of the Calculator at Boot  (Read 1585 times)

0 Members and 1 Guest are viewing this topic.

Offline thepenguin77

  • z80 Assembly Master
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1591
  • Rating: +823/-5
  • The game in my avatar is bit.ly/p0zPWu
    • View Profile
State of the Calculator at Boot
« on: June 30, 2011, 11:28:18 pm »
This topic is mostly for documenting stuff we find so it doesn't all stay on IRC. Keep discussing on IRC, but if any important discoveries are made, we'll put them here.

All this information was provided by reflashing my boot code: (thanks to brandonW for the flasher)





At boot, we now know that the memory mapping is as follows:
0000h - 3FFFh: Page 7F - boot code execution
4000h - 7FFFh: Page 00
8000h - BFFFh: Page 00
C000h - FFFFh: Ram Page 00

The way to return page 00 to 0000h is to execute on a page pointed to by port (06h). This is either the $4000h bank in memory map mode 0 or both the $4000 bank and the $8000 bank in memory map mode 1.
« Last Edit: July 02, 2011, 01:15:34 am by thepenguin77 »
zStart v1.3.013 9-20-2013 
All of my utilities
TI-Connect Help
You can build a statue out of either 1'x1' blocks or 12'x12' blocks. The 1'x1' blocks will take a lot longer, but the final product is worth it.
       -Runer112

Offline DJ Omnimaga

  • Now active at https://codewalr.us
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55820
  • Rating: +3151/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • DJ Omnimaga Music
Re: State of the Calculator at Boot
« Reply #1 on: June 30, 2011, 11:52:49 pm »
Good idea I think. It will make it easier for those who didn't follow the entire discussion or missed it out :)
In case you are wondering where I went, I left Omni back in 2015 to form CodeWalrus due to various reasons explained back then, but I stopped calc dev in 2016 and am now mostly active on the CW Discord server at https://discord.gg/cuZcfcF


Bandcamp|Reverbnation|Facebook|Youtube|Twitter

Offline thepenguin77

  • z80 Assembly Master
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1591
  • Rating: +823/-5
  • The game in my avatar is bit.ly/p0zPWu
    • View Profile
Re: State of the Calculator at Boot
« Reply #2 on: July 01, 2011, 12:27:51 pm »
If anyone is interested, I made a boot image that jumps to $C000 after doing nothing to the calculator but unlock flash, not a single port besides 14h has been touched.

Although, for me to send this to you, you need to have some qualifications. You can erase the boot code in 5 bytes here, and as of writing this, I still can't turn the LCD on. So basically, in order for me to send you the stuff, you should know how to modify the OS, that's about the experience level you need.

Edit:
   Also, you have to have some way of pulling the link lines low. I use headphones, but a paper clip might work just as well.
« Last Edit: July 01, 2011, 12:28:40 pm by thepenguin77 »
zStart v1.3.013 9-20-2013 
All of my utilities
TI-Connect Help
You can build a statue out of either 1'x1' blocks or 12'x12' blocks. The 1'x1' blocks will take a lot longer, but the final product is worth it.
       -Runer112

Offline harold

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 226
  • Rating: +41/-3
    • View Profile
Re: State of the Calculator at Boot
« Reply #3 on: August 05, 2011, 02:10:21 pm »
This is good, I was looking for this information a couple of months ago but I couldn't find any

edit: wait, why are there a couple of bytes missing in the jp 0 case?
« Last Edit: August 05, 2011, 02:12:59 pm by harold »
Blog about bitmath: bitmath.blogspot.nl
Check the haroldbot thread for the supported commands and syntax.
You can use haroldbot from this website.

Offline jnesselr

  • King Graphmastur
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2270
  • Rating: +81/-20
  • TAO == epic
    • View Profile
Re: State of the Calculator at Boot
« Reply #4 on: August 07, 2011, 10:33:08 pm »
edit: wait, why are there a couple of bytes missing in the jp 0 case?
Most likely because they couldn't be read at the time for some reason, but I'm curious as well.

Also, what is the reason that you need to pull the link lines low?

Offline thepenguin77

  • z80 Assembly Master
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1591
  • Rating: +823/-5
  • The game in my avatar is bit.ly/p0zPWu
    • View Profile
Re: State of the Calculator at Boot
« Reply #5 on: August 16, 2011, 11:42:25 am »
A bit late, but...

This is good, I was looking for this information a couple of months ago but I couldn't find any

edit: wait, why are there a couple of bytes missing in the jp 0 case?

This is because those values got changed before I could read them. If you look at 0000h in the OS, you'll see what I mean. But honestly, jumping to 0000h is no different than just executing code normally.

Also, what is the reason that you need to pull the link lines low?

This is because I needed an external switch to either go to the boot code or not, and I only had 9 bytes to implement it. You wouldn't want to go to the fake boot menu every time because that would brick your calculator. ;D
zStart v1.3.013 9-20-2013 
All of my utilities
TI-Connect Help
You can build a statue out of either 1'x1' blocks or 12'x12' blocks. The 1'x1' blocks will take a lot longer, but the final product is worth it.
       -Runer112