MaxCoderz

for your 1 bit pleasure!

All times are UTC




Post new topic Reply to topic  [ 10 posts ] 
Author Message
PostPosted: Tue 25 Apr, 2006 10:59 am 
Offline
Maxcoderz Staff
User avatar

Joined: Thu 16 Dec, 2004 10:06 pm
Posts: 3064
Location: Croydon, England
Prompted by Timendus, this is something that needs to be addressed.

Bear in mind that I haven't done any TI development beyond the 83/83+ series.

For starters, I'd need to know which common TIOS include files people use. Even the official ti83asm.inc I have lacks common ROM call addresses - ideally, I'd like a complete set to work from.

On top of that, there would be definitions that map similar (but different) names that mean the same thing to eachother, as well as common alternatives (plotSScreen to gbuf).

...and then there's the shell issue. I'll need to know the common shells and which include files they use. My current template adds TI-83 Venus support, for example, but I'm not sure about the 82 shells.

With respect to running in PTI, I hope to streamline things in the future by having a set of ROMs/state files for each shell (all preinstalled and ready to go), which would greatly speed up running your program. However, this wouldn't help for the 85/86/73, so for the moment I'd like to concentrate on the 82.

So, can anyone help, with respect to full include files, or shell include files?


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue 25 Apr, 2006 11:39 am 
Offline
Calc King
User avatar

Joined: Sun 23 Jan, 2005 12:37 am
Posts: 1727
Location: Netherlands
For Ti-83, I have compiled my programs for:
- Ashell
- Venus
- TI Explorer
- Ion
- Native ("Send(9")
- ZASMLOAD (Runs squished programs like Ti-83+ Asm() does)

All shells use the same includes, only different headers, which you can find in their zip folders.

_________________
http://clap.timendus.com/ - The Calculator Link Alternative Protocol
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue 25 Apr, 2006 11:53 am 
Offline
Maxcoderz Staff
User avatar

Joined: Thu 16 Dec, 2004 10:06 pm
Posts: 3064
Location: Croydon, England
Surely Ion has Ion libs, Venus has Venus libs, Native has no libs (and so on?)

(dwedit.inc will probably help an awful lot with this, I've not used it an awful lot myself though so am unfamiliar with it).


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue 25 Apr, 2006 4:18 pm 
Offline
Calc King
User avatar

Joined: Sun 23 Jan, 2005 12:37 am
Posts: 1727
Location: Netherlands
To my knowledge:
- Ashell has no libs
- Venus, don't know, probably the same as Ion
- TI Explorer can run Ashell/Ion programs I think, but with the native headers you can link data files to readers or something like that, you probably don't want that
- Native and ZASMLOAD have no libs

You'll probably want to compile for Ion, Venus, native squished (ZASMLOAD) and unsquished, and Ashell. Oh, and I forgot SOS. Ti-82 has Ash and Crash as mainstream shells.

Okay, I'm doing a bit more research for you :)

ASHELL

http://www.ticalc.org/archives/files/fi ... 7/714.html

Ashell manual wrote:
Since there is no way to tell the difference between a squished asm
program and basic program, a table is placed at the beginning of
AShell-compatable asm programs:

nop ;these 2 lines identify the program
jr prog_start ;as AShell-compatable
.dw $0000 ;Version of table
.dw Description ;Points to the program description
.dw Icon ;Points to an 8x8 icon
.dw $0000 ;For future use ( *Libraries*? :)
prog_start:

The following are placed anywhere in the program:

Description:
.db "Super Game 1.0 by Me",0
Icon:
.db %11111111 ;this example icon is a box
.db %10000001 ;icons are not displayed by AShell
.db %10000001 ;but the next version of Aurora will support
.db %10000001 ;this format for icons
.db %10000001
.db %10000001
.db %10000001
.db %11111111

ATTENTION PROGRAMMERS!
BE SURE NOT TO USE THIS AREA OF MEMORY IN YOUR ASM PROGRAMS:
CMDSHADOW EQU 9157h
IT COULD EASILY CAUSE THE CALCULATOR TO CRASH!

NOTE **ASHELL COMPATABLE PROGS MUST BE SQUISHED**


Furthermore, Ashell uses program writeback, unlike native. No libraries.

TI Explorer

http://www.ticalc.org/archives/files/fi ... /8811.html

Can run Ion, Ashell and SOS programs, so you don't need to take it into account.

SOS

http://www.ticalc.org/archives/files/fi ... /8781.html

Runs Ashell programs, uses program writeback, allows external modules and libraries. How this is to be done is not entirely clear to me, and no header is supplied in the readme.

Venus

http://www.ticalc.org/archives/files/fi ... 17170.html

vRandom and vFastCopy library routines, has good documentation on the header in devinfo.html in the zip file, but doesn't state anything on program writeback.

Ion

http://www.ticalc.org/archives/files/fi ... 26097.html

Guess you already know all about this one :)

Others

The others are mostly redos of Ashell or Ion, with more fancy GUIs and stuff that no-one needs. Like Anova, Doors CS, Ginius, Ice, Inidium, Zes, et cetera... I have tested them all, and apart from the mainstream shells (in order of appearance: Ashell, SOS and Ion), only TI Explorer and Venus really add something.

_________________
http://clap.timendus.com/ - The Calculator Link Alternative Protocol
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue 25 Apr, 2006 4:24 pm 
Offline
Sir Posts-A-Lot

Joined: Sun 09 Jan, 2005 9:51 am
Posts: 190
For the TI-82, the major shells are -imo- ACE, SNG and CrASH.
Actually SNG can replace them all since it has emulators for ACE and CrASH, but it's not widely spread. Moreover, CrASH does not run on 19.006 ROMs, CrASH19006 does, but is binary incompatible, it means 2 binaries must be generated (some rom call's addresses have changed, and are not handeld by CrASH's ROM_CALL routine).

In the 82 asm 'tradition' (coming from the 85 iirc), the rom calls name differ much from the 83/+ ones, and ressemble things like D_ZM_STR, HL_DECI, etc. This is only an equates-related issue though, but those names *should* be included for compatibility.

_________________
Image


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue 25 Apr, 2006 5:02 pm 
Offline
Maxcoderz Staff
User avatar

Joined: Thu 16 Dec, 2004 10:06 pm
Posts: 3064
Location: Croydon, England
Thanks a lot Timendus! :)

Indeed, ideally I'd like to have every equate defined (so an 82 programmer could use their equate names and happily assemble to 83 without issue (aliases)).

Shells are less of an issue, though what would be nice would be to create implementations of common shell functions that could be added if needed. Same goes for ROM calls, if it comes to it. (The functionality would need to be added to Brass).


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue 25 Apr, 2006 6:43 pm 
Offline
MCF Legend

Joined: Mon 20 Dec, 2004 8:45 am
Posts: 1601
Location: Budapest, Absurdistan
Timendus wrote:
Venus

http://www.ticalc.org/archives/files/fi ... 17170.html

vRandom and vFastCopy library routines, has good documentation on the header in devinfo.html in the zip file, but doesn't state anything on program writeback.

Venus does writeback, as it moves around the program instead of copying. Actually, it defers the writeback to TIOS itself with a neat trick.

_________________
The Independent Z80 Assembly Guide
Acelgoyobis
PindurTI


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue 25 Apr, 2006 6:48 pm 
Offline
Calc King
User avatar

Joined: Sun 23 Jan, 2005 12:37 am
Posts: 1727
Location: Netherlands
Yes, I expected that much.

Ben, you can just use the ion routines, instead of making your own implementation. The full source of the shell is supplied with it. A really interesting read that was three years ago :)

_________________
http://clap.timendus.com/ - The Calculator Link Alternative Protocol
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri 28 Apr, 2006 3:45 pm 
Offline
Maxcoderz Staff
User avatar

Joined: Thu 16 Dec, 2004 10:06 pm
Posts: 3064
Location: Croydon, England
I'm a bit hesitant to lump the 85/86 calcs with the 82/83/83+ calcs as the hardware differs (especially with the displays) too much to make easy portability between them practical (at this moment in time). Not to mention that PTI doesn't as yet support them...


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri 28 Apr, 2006 8:05 pm 
Offline
Calc Guru

Joined: Thu 27 Oct, 2005 8:28 pm
Posts: 962
:(

_________________
Image Image Image


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 10 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB ® Forum Software © phpBB Group | DVGFX2 by: Matt