Omnimaga

Calculator Community => TI Calculators => ASM => Topic started by: Matrefeytontias on October 14, 2011, 12:57:59 pm

Title: Is there an ASM converter ?
Post by: Matrefeytontias on October 14, 2011, 12:57:59 pm
Hello !

First, I'm 14 and French, so my English can be bad  ;D

Well, I made an Axe game on the Ti-83+ and I try to transfer this program on a Ti-82 stats.fr. For this I disassembled the *.8xp file, and I got a *.z80 file.

Is possible convert z80 ASM into ASM for Ti-82 stats (or Ti-83, it's the same) ? Is there an converter ?
Title: Re: Is there an ASM converter ?
Post by: Yeong on October 14, 2011, 12:58:30 pm
I believe they're a different ASM.
Title: Re: Is there an ASM converter ?
Post by: Matrefeytontias on October 14, 2011, 01:07:11 pm
Yeah, I know, but what I ask is if there is a <u>converter</u>, a program which change some z80 ASM instructions in the ASM of the Ti 83 (I don't know if it has a name XD )
Title: Re: Is there an ASM converter ?
Post by: Mighty Moose on October 14, 2011, 01:09:07 pm
iirc the ASM code is actually the same, but the system calls, system equates, memory spaces, and hardware ports are different.  This means you could compile the code, but you would have to change all of the bcalls to their corresponding routines on the ti-82. However, many of those routines may not actually exist as part of the ti-82. you would also have to change all code dealing with hardware ports, RAM areas that do not exist on the ti-82, and Flash ROM routines because the ti-82 does not have archive support.

As far as I know, there is no converter program out there, but you could try using an assembler such as TASM or SPASM to reassemble the code after you changed it.
Title: Re: Is there an ASM converter ?
Post by: AngelFish on October 14, 2011, 01:10:59 pm
They're both Z80 CPUs. The differences are in the peripheral hardware. As for a converter, try an Assembler instead. Just modify your include file properly.
Title: Re: Is there an ASM converter ?
Post by: Matrefeytontias on October 14, 2011, 01:12:24 pm
That's because it's a hard work I'm looking for a converter :-\ but if it doesn't exist, I will try to do this manually, and in this case ...  :banghead:

I hadn't see the precedent post  ;D

I have the code, he's in a *.z80 file, I'd disassemble it from an Axe program (*.8xp), I want not compile different code !
Title: Re: Is there an ASM converter ?
Post by: TIfanx1999 on October 14, 2011, 01:15:41 pm
Hey Matrefeytontias, welcome here! I'm not really to familar with the TI-82 stats.fr, but here's what I seem to remember:

They are a bit different, and they have hardware differences as well. There is no converter. They are similar though, and it could be possible to port it from TI-83+ASM to TI-83 ASM(TI 83ASM should be the same as what the TI-82stats.fr uses, I think) You would have to be knowledgeable with ASM though.

Someone else would have to verify this information, because as I said; I am not too familiar with the 82-stats.fr model.
Title: Re: Is there an ASM converter ?
Post by: Matrefeytontias on October 14, 2011, 01:17:53 pm
I tried this, but the Ti said I used bad Reglines, so I think that some memories slots ( slots ?) does not exist on the Ti 82 stats

EDIT : you're sure that there isn't any converter ? so I must change my file manually, but I never learned no any ASM (calculator, PC, shower ...) ... If I haven't choice, is anybody who can do it ?
Title: Re: Is there an ASM converter ?
Post by: AngelFish on October 14, 2011, 01:23:27 pm
That's because it's a hard work I'm looking for a converter :-\ but if it doesn't exist, I will try to do this manually, and in this case ...  :banghead:

I hadn't see the precedent post  ;D

I have the code, he's in a *.z80 file, I'd disassemble it from an Axe program (*.8xp), I want not compile different code !

Code in .z80 files won't run. You need to assemble it with an assembler anyways. The thing about ASM is that well written ASM uses a lot of #define statements to allow for small constant changes. These are defined in the include file. For a normal ASM program, most of what you would need to do is change the ports and change the #define statements. However, you're working with disassembled Axe. That's a different story and unless you're extremely good with z80, I'd highly recommend starting with an easier project. Disassembled code is notoriously difficult to understand, let alone port to a new platform (although Axe admittedly doesn't produce the "WTF?" code most compilers do).
Title: Re: Is there an ASM converter ?
Post by: Matrefeytontias on October 14, 2011, 01:25:57 pm
Veeeeeeeeeeeeeeery good ... so, if I understand your post, I can't, drop, there isn't anyway. That's it ?
Title: Re: Is there an ASM converter ?
Post by: AngelFish on October 14, 2011, 01:27:20 pm
I'm not sure I understand your post. Would you mind rephrasing it or writing it in French?
Title: Re: Is there an ASM converter ?
Post by: TIfanx1999 on October 14, 2011, 01:27:58 pm
I tried this, but the Ti said I used bad Reglines, so I think that some memories slots ( slots ?) does not exist on the Ti 82 stats

EDIT : you're sure that there isn't any converter ? so I must change my file manually, but I never learned no any ASM (calculator, PC, shower ...) ... If I haven't choice, is anybody who can do it ?

Yes, I am certain that their is no such converter. It wouldn't work right because of the differences. Their are some things that can be done on one the TI-83+ that do not exist on the TI-83, and if the code made use of those things it would cause problems.

Also,As Qwerty said attempting such a thing would be rather difficult especially with no previous ASM knowledge.
Title: Re: Is there an ASM converter ?
Post by: Matrefeytontias on October 14, 2011, 01:30:42 pm
@Qwerty.55 : sorry, I asked if you said there isn't anyway to port axe issued Ti 83+ ASM on Ti 83

@Art_of_camelot : So, I must do this manually ... :'(
Title: Re: Is there an ASM converter ?
Post by: AngelFish on October 14, 2011, 01:35:57 pm
As far as I know, it's generally done by changing the include file on the assembler. That will be fairly ineffective here, so it would have to be done manually.
Title: Re: Is there an ASM converter ?
Post by: Matrefeytontias on October 14, 2011, 01:37:32 pm
Yeah, great ...

Is there anybody who know how to do it if I post the file ? ;D
Title: Re: Is there an ASM converter ?
Post by: TIfanx1999 on October 14, 2011, 01:42:27 pm
There may be one or two, but most people that program Z80 here do so for the 83+ Series. The TI-83 is almost never seen in the U.S anymore.
Title: Re: Is there an ASM converter ?
Post by: Matrefeytontias on October 14, 2011, 01:50:25 pm
Well, port axe issued Ti 83+ ASM on ti 82 stats is semi-impossible ... and a very little people know Ti 83 ASM (for this case) ... so, I've it in the a*s, as I say in French
Title: Re: Is there an ASM converter ?
Post by: DJ Omnimaga on November 01, 2011, 03:35:49 pm
I tried this, but the Ti said I used bad Reglines, so I think that some memories slots ( slots ?) does not exist on the Ti 82 stats

EDIT : you're sure that there isn't any converter ? so I must change my file manually, but I never learned no any ASM (calculator, PC, shower ...) ... If I haven't choice, is anybody who can do it ?
Nope no converter, because since I joined the TI community in 2001, everybody has been doing it manually. However, the Z80 Unification FAQ on ticalc.org might help porting games between each platforms. http://www.ticalc.org/archives/files/fileinfo/369/36923.html

I remember MirageOS used to have TI-82 emulation, but it barely even worked, so the authors removed it. Not sure if a proper emulator or converter could be written, because as someone mentionned above, some instructions and stuff are not available on each platform.

As for Axe Parser, the only way a TI-82 and 83 port could be done is if the compiler was for the computer. Someone would write his program on the computer or his calculator then convert the Axe source to a 82p or 83p file. It would be limited by the on-calc RAM, although I think on those calcs there's no need for Crabcake/Fullrene.