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
LolBbq


Advanced Member


Joined: 08 Apr 2006
Posts: 351

Posted: 15 Nov 2006 07:21:05 pm    Post subject:

I believe I speak for the community when I say we need a better Z80 ASM editor and compiler that resides on the calc. Of the current ASM compilers, TASM-on-calc is very hard to use (in my opinion), and not very user-friendly. There are various other compilers, but none of them are quite developed. Now, if I were to coerce UTI to group together and develop a flash app ASM editor and compiler, would anyone agree or try to take on this project? For starting ideas, I guess z80.tab and ti83plus.inc could be included in the app itself by using multiple ROM pages. All the functions could be accessed through menus similar to TI-BASIC editor's interface, and we would need to find a good syntax parser. I think if we can get enough members to accept the idea, then we could assemble a project forum and get discussion going there.
Back to top
Fallen Ghost


Elite


Joined: 15 Jun 2006
Posts: 955

Posted: 15 Nov 2006 07:57:46 pm    Post subject:

Ok, why not, there is already Chasm, but it does not tell if there is an error in the lines, so if there was one, then your calc is pretty much assured ram-clearing. The only things missing in it are the error detection, and relative adresses (for jr and djnz). And maybe somehow equates for TI-OS rom calls and why not even Ion ones.

I'm working on something else now, but I should be able to spare time for that project too.
Back to top
LolBbq


Advanced Member


Joined: 08 Apr 2006
Posts: 351

Posted: 15 Nov 2006 08:09:13 pm    Post subject:

This flash app should address all the shortcomings of previous assemblers, but also should provide menus for registers and commands to provide ease of programming. Equates should be handled with a large part of the rom page partitioned off to contain purely all rom calls and manifest constants.
Back to top
Fallen Ghost


Elite


Joined: 15 Jun 2006
Posts: 955

Posted: 15 Nov 2006 08:17:11 pm    Post subject:

Chasm had all the instructions hard-coded registers. Menus, well, they might be usefull. Like you want ld h,l, then go in menu "Data" and there will be the ld sub-menu, which will contain the instruction with all types of parameters (hey, that sounds like tokens, but in the place, it will be the instruction's opcode). And also let's make the .db instruction available!!!! (the most useful thing that most compilers don't even have). Using tokens should be nice because you know you can't have errors (except synthax)

Some menu like the TI menus, stored in archive, preferably 1 page, but if all (equates, instructions, GUI, compiler) is added, then 2.


Last edited by Guest on 15 Nov 2006 08:19:35 pm; edited 1 time in total
Back to top
LolBbq


Advanced Member


Joined: 08 Apr 2006
Posts: 351

Posted: 15 Nov 2006 08:24:31 pm    Post subject:

I like that idea for menus, but I was thinking about maybe pressing [PRGM] to access, say, XOR, and then pressing [VARS] to access all valid registers that can be used with that command. It would lessen the size of the [PRGM] menu and would allow the programmer to press a few shortcuts to access either command or register.

Edit: Instead of accessing XOR thru [PRGM], I think it should be more related to TI-BASIC's interface of [2nd][Test], or using [2nd][Draw] for common bcalls for LCD clearing, etc. Also, I guess the use of "tokens" or just a plain conversion to hex could suffice if the user needed to save the asm code but not compile it.


Last edited by Guest on 15 Nov 2006 08:37:41 pm; edited 1 time in total
Back to top
Fallen Ghost


Elite


Joined: 15 Jun 2006
Posts: 955

Posted: 15 Nov 2006 08:41:12 pm    Post subject:

Here is what I think about your idea: Great! (what were you expecting?)

So here's the scheme ({} are keypresses, [] are menus, - are options, they can be combined). They could also be sub-menued classed like in the TI-OS menus (right, left keys)

{2nd}{Catalog}[Overall]
-[Data move]
-[Arithmetic]
-[Bit test]
-[Shift/Rotate]
-[Control]
-[Hardware]
-[B_CALLs]

{Prgm}[Control]
-Call
-DJNZ
-JP
-JR
-Nop
-Ret
-Reti
-Retn
-RST

{Stat}[Data move]
-EX
-EXX
-LD
-LDD
-LDDR
-LDI
-LDIR
-POP
-PUSH

{Apps}[Hardware]
-DI
-EI
-HALT
-IM
-IN
-IND
-INDR
-INI
-INIR
-OTDR
-OTIR
-OUT
-OUTD
-OUTI

{2nd}{Test}[Bit test]
-And
-Bit
-CCF
-Or
-Res
-SCF
-Set
-Xor

{X-1}[Arithmetic]
-ADC
-ADD
-CP
-CPD
-CPDR
-CPI
-CPIR
-CPL
-DAA
-DEC
-INC
-NEG
-SBC
-SUB

{X2}[Shift/Rotate]
-RL
-RLA
-RLC
-RLCA
-RLD
-RR
-RRA
-RRC
-RRCA
-RRD
-SLA
-SLL
-SRA
-SRL

{Vars}[B_CALLs]
-List of all possible B_CALLs classed in graphic, and all kind of stuff.



[Edit]Is it only me or we are kind of alone?


Last edited by Guest on 15 Nov 2006 08:41:46 pm; edited 1 time in total
Back to top
LolBbq


Advanced Member


Joined: 08 Apr 2006
Posts: 351

Posted: 15 Nov 2006 08:45:12 pm    Post subject:

Yes, Fallen Ghost, we are alone in this cold void of what we call UTI. =P lol. I'm loving the menus idea a lot, especially the organization and classification of commands. If only this could attract more attention...maybe we'll have to wait a few days.
Back to top
Fallen Ghost


Elite


Joined: 15 Jun 2006
Posts: 955

Posted: 15 Nov 2006 08:57:58 pm    Post subject:

Or maybe because of the hour it is now. Too late for Europe, suppertime for western america, news time for easterna america.

Or maybe just a feeling of boringness after a school day.

The only thing I think about is how the registers would have to be. Self-token registers? (would require to add certain numbers to the opcode, and also the fact that the register codes are the same for most instructions, so choose a difference between each) Instruction+register token, which could take a bit more space in the table, but save much for the compiler code (and less errors possible). Text-file (like Chasm or Computer version of TASM32 with .z80 files), that require more space, but let the user choose more and decide what to do (hmm), but alot more errors, code-check, string check for determining instruction, and errors (again!?!), a huge more memory taking of the source-code and instruction table. (so really not an option if we want a 1-page apps).

The GUI wouldn't exactly need to be beautiful (the normal one is okay, but just getting of that lousy line in the top of screen "prgm:ABCDEFGH")

501th post!! youppi

[Edit]Now I am really alone in a place called UTI forums


Last edited by Guest on 15 Nov 2006 09:07:11 pm; edited 1 time in total
Back to top
LolBbq


Advanced Member


Joined: 08 Apr 2006
Posts: 351

Posted: 15 Nov 2006 09:21:39 pm    Post subject:

I'm not in favor of the text file because of the immense amount of processing power required to go through the entire file to find maybe one command. I still like the token idea, where an instruction combined with a register would automatically be recognized by the program as the appropriate hex code, therefore easy to save the asm code or to compile.

As for the GUI, I don't want one as simplistic as the TI-BASIC one, maybe one where pressing [Y=] could bring up a menu for saving the code or compiling, etc.

Well, I'll just let it roll, I guess, I'll be out in Boston for the whole day tomorrow and I'll get back to this on Friday. Laughing


Last edited by Guest on 15 Nov 2006 09:24:04 pm; edited 1 time in total
Back to top
Fallen Ghost


Elite


Joined: 15 Jun 2006
Posts: 955

Posted: 15 Nov 2006 09:57:54 pm    Post subject:

LolBbq wrote:
I'm not in favor of the text file because of the immense amount of processing power required to go through the entire file to find maybe one command. I still like the token idea, where an instruction combined with a register would automatically be recognized by the program as the appropriate hex code, therefore easy to save the asm code or to compile.

As for the GUI, I don't want one as simplistic as the TI-BASIC one, maybe one where pressing [Y=] could bring up a menu for saving the code or compiling, etc.

Well, I'll just let it roll, I guess, I'll be out in Boston for the whole day tomorrow and I'll get back to this on Friday.  Laughing
[post="91117"]<{POST_SNAPBACK}>[/post]


Not as simplistic as the Basic one. I know, but that was to give you an idea. Also, since ther will NOT be a somehow buffer, then it means it will write directly into the file.

Like just choosing the instruction, then choosing the registers and then poof association is made (and token too, but tokenise requires to have the text stored somewhere too, so that takes place, as 1 opcodeversion=1token, unless there is some processing done to save space in the table). (choice of register is done by a menu). So since we already have the text and opcode stored, wouldn't it be easier to do text-files?

Also, look at this pseudocode:

menu([Control]
-ld a,(reg16)
-ld a,(imm16)

If choice= ld a,(reg16)
Then
Menu(Register: "BC",0,"DE",1
if opcode instruction=00001010b ;0 is set to b4 because we don't know where it will be
Then
if choice=DE:Then
put 00011010 into opcode
End
End
check length of opcode
put opcode in file
Display text-file
Back to top
c_plus_plus
My Face Hertz


Active Member


Joined: 30 Jan 2006
Posts: 575

Posted: 16 Nov 2006 04:36:16 pm    Post subject:

I am working on an on-calc asm! It is called Phasm. It gives errors too. I will later make a editor after I have completed the assembler itself. If you would like, I will add menus to the editor (good idea!) The first version I am currently working on is a ram program. I will later change it to an app (when I finish the assembler, should I make the app first or the editor?)
Back to top
Fallen Ghost


Elite


Joined: 15 Jun 2006
Posts: 955

Posted: 16 Nov 2006 08:55:04 pm    Post subject:

c_plus_plus wrote:
I am working on an on-calc asm! It is called Phasm. It gives errors too. I will later make a editor after I have completed the assembler itself. If you would like, I will add menus to the editor (good idea!) The first version I am currently working on is a ram program.  I will later change it to an app (when I finish the assembler, should I make the app first or the editor?)
[post="91141"]<{POST_SNAPBACK}>[/post]


I think you should design it firstly as an apps, because that way, if the program crashes or there's something, you won't loose the compiler. Also, it makes more place for the user's program. The difference is slight between apps and RAM programs, just like SMC. Instead of having the variable as a label in the end of the program, you define it as some place in scrap RAM. That's pretty much it. But it can really be annoying when you have to change it when it's all done for RAM.

If you need help, I could try.
Back to top
elfprince13
Retired


Super Elite (Last Title)


Joined: 11 Apr 2005
Posts: 3500

Posted: 16 Nov 2006 09:03:05 pm    Post subject:

http://www.ticalc.org/archives/files/fileinfo/392/39241.html

yes it works, and yes its in Basic, and yes its the best one Ive seen thus far.
Back to top
Fallen Ghost


Elite


Joined: 15 Jun 2006
Posts: 955

Posted: 16 Nov 2006 10:14:53 pm    Post subject:

Oh my god! that is really nice. Ok, the program is big, but it should work. I'll try it tomorrow (cause I need sleep).

I'll try to make an ASM program that Arcs that all when the Basic program quits (if needed, I don't want to redownload the compiler each time), with it, just to see how it works well.

I'll also try to get what instructions are accepted and what are not.

[Edit]After reading, the z80 instruction file is in BASIC, so editable on-calc too, so we can add instructions (I think). I'll contact the creator for it.


Last edited by Guest on 16 Nov 2006 10:20:34 pm; edited 1 time in total
Back to top
Iambian


Advanced Member


Joined: 13 Mar 2004
Posts: 423

Posted: 16 Nov 2006 11:00:39 pm    Post subject:

I couldn't help but notice this topic has gotten some interest. If you're still planning to build this project, you may want to consider the use of this utility:

http://www.unitedti.org/index.php?download=228
Back to top
LolBbq


Advanced Member


Joined: 08 Apr 2006
Posts: 351

Posted: 17 Nov 2006 03:43:13 pm    Post subject:

Well I'm considering that it would be run with asm, but I don't want to hijack C++'s program and totally run it. I really don't know what is best, I guess trial and error would provide information about that. Anyways, if we can get a group instead of a few wandering souls, maybe we can assemble a project team.
Back to top
Fallen Ghost


Elite


Joined: 15 Jun 2006
Posts: 955

Posted: 17 Nov 2006 04:07:02 pm    Post subject:

After testing out that compiler, hem, I really am not sure at all about if it works that great. He says it does look errors, but it doesn't really.

Ok, well, if the first letter of the instruction isn't in the z80inc.8xp file, then there's an error return, but otherwise, it justs give out some strange data. And as it must all be in lowercase, it takes so much space (for the source code)

Home-made solutions are often better. I'll stick with a new one.


Last edited by Guest on 17 Nov 2006 04:13:42 pm; edited 1 time in total
Back to top
LolBbq


Advanced Member


Joined: 08 Apr 2006
Posts: 351

Posted: 17 Nov 2006 05:26:20 pm    Post subject:

I still am flipfloppy on the decision of how to use the includes. I think the we should supply editable .incs with it, but I don't think we can make them part of the program if the program is going to be an app (it resides in flash rom, therefore no data of itself can be edited). Then again, keeping them as .8xp files are ok I guess.
Back to top
Fallen Ghost


Elite


Joined: 15 Jun 2006
Posts: 955

Posted: 17 Nov 2006 06:51:58 pm    Post subject:

LolBbq wrote:
I still am flipfloppy on the decision of how to use the includes. I think the we should supply editable .incs with it, but I don't think we can make them part of the program if the program is going to be an app (it resides in flash rom, therefore no data of itself can be edited). Then again, keeping them as .8xp files are ok I guess.
[post="91192"]<{POST_SNAPBACK}>[/post]


Non-editable Mirage and Ion .inc files stored in the apps and editable .8xp.inc files that user makes in a separate program.
Back to top
LolBbq


Advanced Member


Joined: 08 Apr 2006
Posts: 351

Posted: 17 Nov 2006 07:15:52 pm    Post subject:

Or, just have all three part of the app and just let the user define their own include if they want to. So that way if people are fine with the standard .inc then just let them be.
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
    » Goto page 1, 2, 3  Next
» View previous topic :: View next topic  
Page 1 of 3 » All times are UTC - 5 Hours

 

Advertisement