This is an archived, read-only copy of the United-TI subforum , including posts and topic from May 2003 to April 2012. If you would like to discuss any of the topics in this forum, you can visit Cemetech's z80 & ez80 Assembly subforum. Some of these topics may also be directly-linked to active Cemetech topics. If you are a Cemetech member with a linked United-TI account, you can link United-TI topics here with your current Cemetech topics.

This forum is locked: you cannot post, reply to, or edit topics. Z80 & 68k Assembly => z80 & ez80 Assembly
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 Razz 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! Very Happy (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? Smile
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
Display posts from previous:   
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
    »
» View previous topic :: View next topic  
Page 1 of 1 » All times are UTC - 5 Hours

 

Advertisement