Author |
Message |
|
Dwedit
Member
Joined: 04 Jan 2004 Posts: 138
|
Posted: 04 Jan 2004 07:00:59 pm Post subject: |
|
|
NOTE: If you downloaded this earlier, please redownload it. A stupid mirageOS loader bug was fixed.
The Shell
Sample Programs (Joltima, Dying Eyes, Gemini, Phoenix, Lotus Turbo Challenge)
This is the version 0.4b release.
Features:
* Uses Pucrunch compression for VERY SMALL program sizes.
* CrunchyOS manages appvars for compressed programs automaticly, so compressed programs can save data.
* Runs programs from either RAM or Archive.
* No memory leaks, all allocated memory is deletable in case of failure. Feel free to shut off the calc during that buggy ion program that uses Getkey and not worry about corrupted memory.
* Partial support for MirageOS programs. You will get errors about unimplemented features.
* Programs with not enough ram to execute are marked with a * symbol.
* Supports compressed external files, even for Ion programs.
Missing:
* Full MirageOS support is not here yet.
* Archived Ion/Mirage programs do not support writeback.
* No inserting ASM Programs into the app yet.
Should Ion/Mirage writeback be implemented by writing the entire archived program back, or should it create a new file that patches the program with the savegame?
Any other feature suggestions? (Game patches maybe? Multiple savegames?)
Last edited by Guest on 06 Jan 2004 02:12:06 am; edited 1 time in total |
|
Back to top |
|
|
Adm.Wiggin aka Tianon
Know-It-All
Joined: 02 Jun 2003 Posts: 1874
|
Posted: 05 Jan 2004 08:33:43 am Post subject: |
|
|
Hey! the great Dwedit has come to unitedti! and, he brings tidings! of a new OS he says. hmm, compressed programs? smaller size? cool!
Game Patches would be a cool idea... well, usually some people may abuse it, so maybe not. |
|
Back to top |
|
|
Arcane Wizard `semi-hippie`
Super Elite (Last Title)
Joined: 02 Jun 2003 Posts: 8993
|
Posted: 05 Jan 2004 10:16:48 am Post subject: |
|
|
The great who? |
|
Back to top |
|
|
Adm.Wiggin aka Tianon
Know-It-All
Joined: 02 Jun 2003 Posts: 1874
|
Posted: 05 Jan 2004 06:01:07 pm Post subject: |
|
|
:o
Dwedit? he made the HUGE include file for mirage, ion, and normal 83(+) programming! |
|
Back to top |
|
|
Jeremiah Walgren General Operations Director
Know-It-All
Joined: 24 May 2003 Posts: 1937
|
Posted: 05 Jan 2004 07:56:11 pm Post subject: |
|
|
Don't forget Bubble Bobble. Awesome game! (In my opinion anyway.) |
|
Back to top |
|
|
Dwedit
Member
Joined: 04 Jan 2004 Posts: 138
|
Posted: 05 Jan 2004 07:56:12 pm Post subject: |
|
|
I just fixed an idiotic bug in the MirageOS loader (it executed the description of the program) :P
Download the new version 0.4b here at the same URL as above:
The Shell |
|
Back to top |
|
|
NETWizz Byte by bit
Bandwidth Hog
Joined: 20 May 2003 Posts: 2369
|
Posted: 06 Jan 2004 03:04:19 am Post subject: |
|
|
Assuming I have a list of the MirageOS libraries, how would I load them?
I mean what do I do?
Do I simply put the jump table at the proper location, copy them to usermem, and jump past the header to the executable code? |
|
Back to top |
|
|
Arcane Wizard `semi-hippie`
Super Elite (Last Title)
Joined: 02 Jun 2003 Posts: 8993
|
Posted: 06 Jan 2004 08:47:56 am Post subject: |
|
|
Adm.Wiggin wrote: Dwedit? he made the HUGE include file for mirage, ion, and normal 83(+) programming!
Cool, for the plus only? If not, any links? |
|
Back to top |
|
|
Dwedit
Member
Joined: 04 Jan 2004 Posts: 138
|
Posted: 06 Jan 2004 03:04:00 pm Post subject: |
|
|
My huge include file supports the TI82, TI83, and TI83+.
Get the file in the crunchyOS shell zip, I haven't updated the one on my site yet.
Shells supported:
82:
- CrASH
- CrASH for 19.006
- ACE
83:
- SOS
- Zes [I think I'll remove this...]
- Ion
- Venus (Recommended)
83+:
- Ion
- MirageOS
- CrunchyOS
- FlashAPP
You can just change which .bat file you use to compile your program, and it ports it to a different calc/shell.
TI82 notes: some romcalls are called, others are Rom_Called. To get around that problem, there are 2 macros for calling rom functions: bcall and icall.
82: bcall -> rom_call, icall -> call
83: bcall -> call, icall -> call
83+: bcall - > bcall, icall -> bcall
Use the icall() macro for some romcalls (like _getcsc), bcall() for others.
Usage:
Code: #include "dwedit.inc"
tTitle: .db "This is my program",0
lblStart:
ld hl,0
ld (currow),hl
ld hl,tHello
bcall(_puts)
call WaitKey
ret
WaitKey:
ei \ halt
icall(_getcsc)
or a
jr z,WaitKey
ret
tHello: .db "Hello World!",0
.end
When you build the program, use a .bat file that #defines the calc model and shell, then the output program is made for that platform. Get the .bat files on my site.
TI Site:http://home.comcast.net/~alanweiss3/dwedit/ti/
Last edited by Guest on 06 Jan 2004 03:04:52 pm; edited 1 time in total |
|
Back to top |
|
|
sgm
Calc Guru
Joined: 04 Sep 2003 Posts: 1265
|
Posted: 06 Jan 2004 07:40:27 pm Post subject: |
|
|
Dwedit wrote: TI82 notes: some romcalls are called, others are Rom_Called. To get around that problem, there are 2 macros for calling rom functions: bcall and icall.
82: bcall -> rom_call, icall -> call
83: bcall -> call, icall -> call
83+: bcall - > bcall, icall -> bcall
Use the icall() macro for some romcalls (like _getcsc), bcall() for others.
Personally, I would have used #define:
Code: #define PutS rom_call(_puts)
#define GetCSC icall(_getcsc)
Actually, I would have done that for every ROM call, but then, that would probably be too much work. |
|
Back to top |
|
|
NETWizz Byte by bit
Bandwidth Hog
Joined: 20 May 2003 Posts: 2369
|
Posted: 07 Jan 2004 04:18:11 am Post subject: |
|
|
I like the mirageOS stuff he defines, which is in MirageOS inc.
BTW, 102 functions I think.
It would be hell programming all those and making sure they work.
Dwedit, can you please explain how to load a mirageOS program.
Perhaps give an example.
Do I just put the jump table at the correct location, place the routines within the app?
Is that essentially all there is too it? Obviously there is the mirageOS header, but that is well documented and I can figure that part out. |
|
Back to top |
|
|
Dwedit
Member
Joined: 04 Jan 2004 Posts: 138
|
Posted: 07 Jan 2004 04:51:17 am Post subject: |
|
|
113 Mirageos functions total, including the 8 ion functions.
To load a mirageOS program, just load it like an ion program, then run it starting after the description. If the jump table is in the correct place, it will work peachy.
The bunch of jumps starts at $4083, and each jump is 3 bytes of course. Only while making that jump table did I notice the glaring typos in the mirageos.inc file. You don't have to worry about bankswtiching and bcalls, since bcall restores the previous rompage.
Then you have to implement the routines, usually by disassembling them. I made a post somewhere on Maxcoderz forum that showed how often each routine was actually used.
Feel free to use cru_mir.z80 and cru_mirf.z80. cru_mir.z80 is the jump table, and cru_mirf.z80 is the implemented Mirage functions written by Kroot. |
|
Back to top |
|
|
Dwedit
Member
Joined: 04 Jan 2004 Posts: 138
|
Posted: 10 Jan 2004 09:05:32 pm Post subject: |
|
|
Yeah, there's a new version out, see the URL at the first post on the topic.
This will probably the last non-ticalc.org release, I just need bug testing and major suggestions on how to improve the documentation. |
|
Back to top |
|
|
NETWizz Byte by bit
Bandwidth Hog
Joined: 20 May 2003 Posts: 2369
|
Posted: 11 Jan 2004 04:06:36 am Post subject: |
|
|
Out of the 113 libraries, how many are done being cloned?
Do you know what each and every one does? |
|
Back to top |
|
|
Dwedit
Member
Joined: 04 Jan 2004 Posts: 138
|
Posted: 11 Jan 2004 02:21:23 pm Post subject: |
|
|
21 libs calls have been cloned so far. |
|
Back to top |
|
|
|