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 Your Projects 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. Project Ideas/Start New Projects => Your Projects
Author Message
Xeda112358


Active Member


Joined: 19 May 2009
Posts: 520

Posted: 08 Feb 2011 04:33:10 pm    Post subject:

Sometimes I wonder where my life went...

This idea has been floating around in my mind for almost a year now, but I finally decided to make it a reality so that I could use it with LSDOS. What it does is take a program with hex code and it compresses it kind of like the AsmComp( command. However, the difference is that you can include notes in your program. Another difference is that the code must end in "Stop" (I plan to remove this requirement) and it has to start with a note that has the name of the output var. So for example:

Code:
:.[HELLO
:210000
:224B84
:.THIS IS A NOTE
:21A29DEF1045
:C9
:.THIS IS ASCII FOR "Hello!"
:.0648656C6C6F21
:Stop

The beginning starts with ".[" followed by the name. The compiled program has this name (in this case, prgmHELLO is created). Any line that starts with "." is ignored.
Again, with this version, you must end the code with "Stop" in order for it to recognise the end of the file.

I really don't know if I plan to go any farther with this, but I figured it could be useful to somebody other than me :D

To tell the program which program needs to be compiled, Ans must be a string starting with "[" followed by the name of the program.


Last edited by Guest on 08 Feb 2011 04:36:59 pm; edited 1 time in total
Back to top
Xeda112358


Active Member


Joined: 19 May 2009
Posts: 520

Posted: 28 Jul 2011 07:58:38 pm    Post subject:

Haha, this project really isn't all that useful to too many people, but I decided to rewrite it anyway. I haven't added in commenting yet, but I have added in the use of equate files and labels and some other cool stuff. For example, now you can do something like this:

Code:

:[HELLO
:.5EQU
:AsmPrgm
:EF[HOMEUP]
:EF[CLRLCDFULL]
:21[HELLO]
:EF[PUTPS]
:C9
:05"HELLO"
:End

That translates roughly to:

Code:

.include    "equ.inc"
#define     bcall(xxxx)     rst 28h \ .dw xxxx
.org 9D93h
   .db $BB,6Dh
   bcall(_HomeUp)
   bcall(_ClrLCDFull)
   ld hl,HELLO
   bcall(_PutPS)
   ret
   .db 5,"HELLO"
.end


For those interested, I have included a fairly large example as well as a fairly useful program that can be compiled with prgmASMCOMP. I plan to eventually add support for some instructions a little at a time, but that might come in the next cycle of frenzied coding xD

I still need to fix up how it reads an equate file, but once that is done I can add in all the RAM equates and bcalls documented by TI and BrandonW Smile
Back to top
Xeda112358


Active Member


Joined: 19 May 2009
Posts: 520

Posted: 07 Jan 2012 03:56:19 pm    Post subject:

Okay, folks, here is a new (recent) update. I have added more to ASMComp such as relative jumps, 1 and 2 byte equates, the ability to define equates in the source, and the ability to use as many as 50 equate files. Provided are 4 equate files as appvars:
EQU0 contains any bcalls 4000h to 48FDh as well as RAM equates documented (many more than what TI provides)
EQU1 contains the rest of the bcalls (except xorA, DoNothing, and ret#).
MIRAGEQU contains Mirage and ION equates
GRAMEQU contains Grammer Equates

These aren't light on memory (a little over 30 000 bytes), but since they can be in archive, it isn't so bad :)

If you want to make use of this program, here you go:
ASMComp
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