DOS on the 9110
I think its pretty well common knowledge that the 9000/9110 OS is GEOS running on top of DOS. IE, DOS is built into the phone.
Normally you dont see any evidence of this, but it's possible to interrupt the normal boot process before GEOS loads, leaving you with a DOS command prompt. Unfortunately the 9000/9000i does not have a keyboard driver loaded at this point so its not much use. The 9110 however has a largely functional keyboard driver.
It's very simple and largely risk free.
NOTE: THE ABOVE STATEMENT IS NOT TRUE. DOING WHAT I AM ABOUT TO DESCRIBE WILL DESTROY YOUR PHONE. IN FACT, IT WILL CATCH FIRE. NO, WAIT, IT WILL GROW LEGS LIKE THE HEAD IN 'THE THING' (REMAKE) AND SCURRY, FLAMING, UNDER THE NEAREST TABLE. I'M TALKING SERIOUS HAVOK. YOU HAVE BEEN WARNED.
This is how you do it: (I typed this up very late, so there could be errors - make sure it makes sense to _you_ before you do it, or fear the walking head).
1. Obtain a COMMAND.COM that does not care what version of DOS it is running on. I use the one from Caldera DR-DOS, but there are several. MS-DOS and IBM-DOS (PC-DOS?) wont work.
2. On the PC, create a text file called RUNDOS.BAT, and put the following in it:
3. Also on the PC, create a file called INSTALL.BAT, and put the followng in that:
4. Using Datasuite or whatever, copy command.com, rundos.bat and install.bat into the Own texts folder on the 9110.
5. On the 9110, start Bas9k and do this:
copy rundos.bat b:/nokia/rundos.bat
6. Also in Bas9k, create the temporary DOS launching file. This gets deleted straight after the boot incase RUNDOS.BAT does not exit. Save locking up the phone, prompting a reformat. I wrote a little Bas9k prog called DOS.B9K to do this for me (dont forget that in a compiled Bas9k prog, filenames need quotes, and if you use back-slashes, they must be doubled as in C - forward slashes work like in Unix)..
copy install.bat b:/nokia/install.bat
7. Reboot the cheap-plastic buggy nightmare-OS unsupported piece of crap. In Bas9k, press Ctrl-B, otherwise remove and replace the battery.
You should now be presented with a DOS prompt. A CLS would be in order somewhere to clear the nasty logo off the screen. To get GEOS back (why??) just type EXIT at the DOS prompt, or reboot again. From GEOS, to go back to DOS repeat from step 6 above.
Thats all there is to it. I have an improved Int9h driver that fixes the backspace key and a few other things, which I will post at some point, but its not really needed. You can now copy DOS programs onto the phone and run them. Many (most?) well-behaved DOS programs work, but programs that access the VGA hardware directly do not. Much hardware does not work straight out of the box, but I'm working on drivers.
A final point, if you have an MMC (memory card), you can make use of a hook in the (ROM based) autoexec.bat that will run a program called a:/warranty/warrdos.exe before doing anything else. Just copy command.com to the aforementioned filename and reboot. As before, type EXIT to drop back into hell. I mean GEOS. However, having been running this for a few months I've found that the machine often crashes loading GEOS having done this. Its never that bad because all you have to do to get out of a crashing loop is remove the MMC and reboot. You might find you can never use that MMC again tho. I have written a small boot menu prog to get round this which I will also post at some point. I think this process is what has been referred to in the past as 'Booting to the MMC', which of course is not strictly accurate.
Don't forget, when the legs comes out, show no mercy. Kill Kill Kill.