Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - thepenguin77

Pages: 1 ... 52 53 [54] 55 56 ... 108
796
ASM / Re: which is faster?
« on: June 27, 2011, 05:39:40 pm »
I think I should just point out that bcalls aren't as slow as what people think. Yes, if you are using bcall(_multAbyE) inside a djnz loop, then you are wasting some time. But the time wasted is relative.

The whole bcall process takes about 1000 t-states. In 6.5MHz mode, that's .00015 sec. If you do 100 bcalls, that's only .01 sec.

In this case, since you are making a basic library, there's no reason why you shouldn't use bcalls. The bcalls aren't slow compared to basic. However, floating point numbers vs. HL makes a big difference. If you don't need decimals, then HL is definitely the way to go.

797
News / Re: 84+/SE Boot Pages Modified
« on: June 27, 2011, 04:24:23 pm »
Indeed. In fact in ASM in 28 days, they say to really turn the calc OFF, you must remove all five batteries (including the lithium one)

We actually now know better than that. The calculator is off a few hundreths of a second after you pull out a AAA. The reason it appears that it didn't shut off is because the lithium battery kept the ram intact. Execution still starts at the boot code. But, I guess if you call ram intact powered, then yes, it takes all 5 batteries.

That's correct. :) If you ran, say, KOS or RougeOS, and you took the batteries out, the screen would fade away gradually.
However... if you took the batteries out when running TI-OS, it detect the occurrence and shuts the calc off into a "RAM safe mode", waiting for you to put batteries back in.

If you pull the batteries while the calculator is ON, the screen will blank, it won't fade. You can see this happen if you pull the batteries during an assembly program.

798
News / Re: 84+/SE Boot Pages Modified
« on: June 27, 2011, 03:14:06 pm »
The boot code has two purposes. 1) To receive OS's, 2) To prepare the calculator hardware to run the operating system.

Receiving OS's is one of the boot codes two purposes. Whenever you see the OS percentage screen, that is the boot code. The boot code also makes it appearance in "Waiting... Please send operating system now." However, even if the boot code couldn't receive OS's for whatever reason, this really isn't too bad as there are ways to glitch it.


But the primary purpose of the boot code is to prepare the calculator hardware for an OS and then jump to the OS to let it start executing. Whenever power is cut from the calculator, all of the hardware stuff dies. Then, when power returns, execution starts at the boot code. The boot code sets up all of the calculator hardware, checks to make sure that an OS is installed, and then jump to the OS. But the key thing here is that the boot code is run first no matter what. If you pull a battery, the next thing that is going to run is the boot code. (Unless the calculator is turned off, then you have like 5 secs to put it back in.) So if the boot code is missing, the calculator will crash as soon as a battery is inserted. And when it crashes, guess where it goes. The boot code. This would be an endless loop, and the end of your calculator.

799
News / Re: 84+/SE Boot Pages Modified
« on: June 27, 2011, 01:39:56 pm »
I didn't say you could do it, I just said you know how to do it. :P Or you at least have some ballpark idea.

800
News / Re: 84+/SE Boot Pages Modified
« on: June 27, 2011, 01:35:24 pm »
Well that's nice. Can't wait to see this on the other 83+ calcs. And that would allow for custom boot code?

This won't work on 83+'s because on those, TI most likely locked the boot code the proper way with the flash chip itself. Here is the only reason that it actually works on an 84+: (new paragraph so people can quote me :))

On the 84+, for whatever reason, TI decided not to hardware write protect the boot code sectors. The flash chip supports this feature, but TI didn't do it. So TI just programs the boot sectors and puts the flash chip in the calculator. That was mistake number one, but here comes mistake number two. Next, probably in order to save money, TI decided to make the circuit boards of the 84+ and 84+SE exactly the same, the only difference of course is the flash chip. So, to make sure that the boot sectors can't be overwritten, TI had to come up with a way to block different sectors on the flash chip for each model even though the hardware was exactly the same. Their solution was to make a port on the calculator that protects different flash pages based on its value. And finally, since the boot codes were programmed differently on the flash chips, TI put in code to set this port to different values based on the size of the flash chip. This way, as long as no one touches that port, the calculator will look like the boot code is write protected. However, we discovered what this port was and removed their boot code protection.

After writing this, I feel like this would work on the 83+SE also.

(Now, after all of that, if you know a bit of assembly, I'm sure you can figure out how to do it.)


801
News / Re: 84+/SE Boot Pages Modified
« on: June 27, 2011, 09:50:00 am »
It's been a while, so I'll give you a hint: The 258 bytes at the start of page 73h are a new signature that the boot code expects to be present.

802
News / Re: 84+/SE Boot Pages Modified
« on: June 27, 2011, 09:28:31 am »
Well, I've talked to brandonW about this. We really don't want to use this to make the pocket able to accept other OS's. The problem comes from how dangerous this is. In the end, it really is just like any flash mod, but the thing is, if something goes wrong while the boot code is all FF's, instant, permanent brick. Unless you can wire up the flash chip and reprogram it, your calculator is done. It will execute one instruction and end.

If we did make a boot code modder, of course it would be extremely safe. It would check batteries all over the place and probably would be stepped through instruction by instruction several times. But, boot code 1.03 will probably be coming to america soon which means it will become more widespread. And if we release this as the only way to install other OS's, over time, there will probably be about 5 people using it every day. If just 1 person is an idiot and tricks their calculator into running it with low batteries, they will brick their calculator and we will be in a huge mess online.

Besides, we don't even need to do this. BrandonW and I have come up with different ways to beat the boot code, and my program to do it is already done. With two exploits, we should be covered for a long time unless TI looks through their boot code for errors, which they won't.

Edit:
    Now that I think about it, NOPing out some checks in the boot code wouldn't really be that dangerous. (I've already NOPed stuff in my boot code.) So I guess a mod like this could be a possibility, but only if we need to do it.

803
TI Z80 / Re: Putting Your Name in the About Screen / Certificate
« on: June 26, 2011, 01:44:41 pm »
Any word on Nspire 84+ Keypad compatibility?

I'm just going to have a good laugh about that and not worry about it. I have never even looked at a Nspire 84+ OS. So I don't know how to unlock flash, I don't know the specifics behind writing to flash, and I'm not even sure those calculators have certificates. They probably do, but I don't know either way.

Nice I will try this with my calc too. This will make my classmates jealous. :P
Are there any risks?

At this point, I this program has been run on real 83+'s, 84+'s, and 84+SE's. So while there are some risks if you pull your batteries out half way, it's looking like it is very safe.


Oh, and for everyone who can't figure out how to type numbers. You press 2nd



804
TI Z80 / Re: Putting Your Name in the About Screen / Certificate
« on: June 26, 2011, 12:44:23 am »
Maybe have MODE quit instead of CLEAR?

Better.


Update! Now, the program won't quit until you have released all the keys. This is to prevent 83+'s from entering the no-archive boot. If you've already installed it in your certificate, this is the exact same program, so you really don't need to download it.

805
TI Z80 / Re: Putting Your Name in the About Screen / Certificate
« on: June 25, 2011, 11:38:11 pm »
Ok, so on an 83+, when you quit the program. Make sure you don't hold the CLEAR button for very long. If you hold CLEAR all the way through the ram clear, it will make it appear as if everything in your archive is gone. It is not. Just clear ram again and it will come back.

This is a safety feature of the OS so that you can recover from a corrupted archive.

806
TI Z80 / Re: Putting Your Name in the About Screen / Certificate
« on: June 25, 2011, 07:57:54 pm »
Put some spaces in ;D. The about screen will display up to 48 characters, so use them.

807
TI Z80 / Re: Putting Your Name in the About Screen / Certificate
« on: June 25, 2011, 07:41:43 pm »
If anyone is interested in learning about the certificate, I've done a lot of work on wikiti.

Here is the general certificate / headers page, and here is this list of known fields.

Have fun learning?

808
TI Z80 / Re: Putting Your Name in the About Screen / Certificate
« on: June 25, 2011, 12:09:40 am »
I was wrong about the OS transferablility. You can't send 83+ OS's to the 84+, but aside from ethical reasons, there's no reason you can't put 2.55MP on your 83+.

Edit:
    I'm not sure there's even enough space to do that. Someone needs to try it.

809
TI Z80 / Re: Putting Your Name in the About Screen / Certificate
« on: June 24, 2011, 06:55:52 pm »
Newest version is here (though there's nothing wrong with this one)


This now works for 83+'s and 83+SE's. It worked fine on OS 1.03 and OS 1.19, so I assume it will work on anything. Although, if you run it on an 83+, it will clear ram instead of quitting, so just be prepared for that.

I also added in an option to view the certificate in Calcsys. Normally this is impossible because the certificate is only visible if flash is unlocked. So I JP'd to Calcsys with the flash unlocked. I'm not really sure this is useful for anything, but it wasn't very difficult. If you use it, just be sure you don't run AboutNam from a shell since it deallocates itself and that will create some problems.


One interesting thing that I figured out is that if you install the certificate revision, (it comes with the name remember), you can install any 83+/84+ OS on any 83+/84+ calculator. I don't expect that it will work well, but it will validate fine. It's worth a shot if you're bored.

I'll release the source to this and upload it to ticalc.org as soon as I update it again. (The update is already finished.) I just have to wait for a certain real world event to happen before I release it. If you don't know what I'm talking about, don't worry, you will soon. :D

810
TI Z80 / Re: zStart - an app that runs on ram clears
« on: June 24, 2011, 10:15:04 am »
I haven't said whether it's possible or not, because honestly I don't know. It should be possible.

Here's the process I'll have to go through.
1. Find those menus' cxCurApp values. (This is their ID values)
2. Figure out where they store the current varType.
3. Figure out where they store the current program
4. Figure out how to redraw the menus
5. Figure out how to search alphabetically for stuff
6. Add in special cases for those cxCurApp values in my hook routine
7. Write the hook routine

Now, 1 and 6 are simple. If I'm lucky, 2, 3 and 4 will be the same as the program menus. 5 I know how to do as long as I can do 2. And 7, I think this is like my 30th hook or something, so I've got some experience in the matter.

Pages: 1 ... 52 53 [54] 55 56 ... 108