+retroclouds Posted August 16, 2020 Share Posted August 16, 2020 What is the most advanced assembler on the TI-99/4a and on the Geneve? With advanced I’m thinking of: Features Length of labels Speed Lines of source code it can handle. Linker For starters: how many assemblers are out there? I know: Editor/Assembler Mini Memory line-by-line assembler MG Diskassembler? ... EDIT: do we have source code available for any of the assembler mentioned? Quote Link to comment Share on other sites More sharing options...
GDMike Posted August 16, 2020 Share Posted August 16, 2020 With the "copy" command, linking to another file really does away with keeping all the source code in one file. I actually find it better since I have a library of source code and all I do is use the"copy" command to have it inserted. I also liked RAG assembler, but that's me, and I run it on my Dell laptop using classic 99 in overdrive while assembling my files that I created on my tiPEB and are accessed via TIpi to assemble at top speed! 2 Quote Link to comment Share on other sites More sharing options...
+TheBF Posted August 16, 2020 Share Posted August 16, 2020 I can't resist. (Sorry) Forth Assembler Length of labels : 31 chars Speed : Single pass, pretty quick Max Lines : disk size Structured loops : YES Structured jumps : YES Linker : Forth is the linker Interactive : YES Macros : YES Source Available : YES We now return to our regularly scheduled program... 3 2 Quote Link to comment Share on other sites More sharing options...
GDMike Posted August 16, 2020 Share Posted August 16, 2020 ...and turboforth has a manual that explains the TF assembler as well. And uses r0, r1, r2, etc... Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted August 16, 2020 Share Posted August 16, 2020 1 hour ago, GDMike said: ...and turboforth has a manual that explains the TF assembler as well. And uses r0, r1, r2, etc... As do fbForth and TI Forth, from which all of the Forth Assemblers mentioned derive. Of course, TI Forth does not use R0, R1, etc., but could easily be modified to do so. ...lee 1 Quote Link to comment Share on other sites More sharing options...
+9640News Posted August 16, 2020 Share Posted August 16, 2020 No surprises from me, but the GenPROG package with GenASM and GenLINK. GenASM - Single pass assembler, 31 character label names, macros, conditional assembly directives, macro strings. Probably the fastest compiler unless you step to an assembler on a non 9900/9995 CPU. GenLINK - Supports saving files in multiple formats with and without headers, and the ability to create overlays, and no restrictions on the size of program image files. Ability to use libraries. Beery 1 Quote Link to comment Share on other sites More sharing options...
+adamantyr Posted August 16, 2020 Share Posted August 16, 2020 I use a cross-assembler on my PC, A99. I don't have time to wait for 168k of code to build. 2 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted August 16, 2020 Share Posted August 16, 2020 On the TI, RAG assembler/linker/etc. It is quite a powerful set of tools allowing for overlays, make files, etc. I used this package to link the Horizon Ramdisk DSR (ROS) prior to using the xdt toolset. I agree with Beery re: GenProg as it is hands down the fastest assembler/linker that allows for very complex programs, REF/DEFs across object files, overlays, macros, etc. It is also the only program that can assemble the Geneve OS (now at 128K) but it can also assemble and link standard TI program images. For reference, the Geneve OS source clocks in at around 1600K. (Tom Freeman's DiskAssembler - which has a TI and Geneve version - is a tool that goes hand-in-hand with the above packages, IMHO) 4 Quote Link to comment Share on other sites More sharing options...
+mizapf Posted August 17, 2020 Share Posted August 17, 2020 There is also TASM that I am using, but it does have some issues (does not recognize COC mnemonic and sometimes gets into trouble on the second pass, which I am currently investigating). But it is a two-pass assembler, which I consider conceptually better than single-pass assemblers (like GenAsm). (Yes, it is slower, but I don't care about time. ? ) 3 Quote Link to comment Share on other sites More sharing options...
+retroclouds Posted August 18, 2020 Author Share Posted August 18, 2020 23 hours ago, mizapf said: There is also TASM that I am using, but it does have some issues (does not recognize COC mnemonic and sometimes gets into trouble on the second pass, which I am currently investigating). But it is a two-pass assembler, which I consider conceptually better than single-pass assemblers (like GenAsm). (Yes, it is slower, but I don't care about time. ? ) Does that mean the source code is available? Quote Link to comment Share on other sites More sharing options...
+mizapf Posted August 18, 2020 Share Posted August 18, 2020 1 hour ago, retroclouds said: Does that mean the source code is available? Unfortunately not ... sigh ... this is what I meant by "currently investigating". ? It takes an awful lot of time, but it could reveal a rare bug in GeneveOS, so I'm going for it. Quote Link to comment Share on other sites More sharing options...
+9640News Posted August 18, 2020 Share Posted August 18, 2020 I have been in contact with Al and I am trying to get the source code to TASM. Beery 2 Quote Link to comment Share on other sites More sharing options...
apersson850 Posted August 21, 2020 Share Posted August 21, 2020 The most advanced I normally used back then was the p-system's assembler. Together with the linker, it allows for creating both relocatable and dynamically relocatable (can be moved in memory) code. Access to global Pascal variables and constants is possible, and also to private data, where the routine can save data which will remain across invocations. Labels of unlimited length (8 characters used) and macro assembly capability. Quote Link to comment Share on other sites More sharing options...
RXB Posted August 21, 2020 Share Posted August 21, 2020 I use the Ryte Data GPL Assembler. Length of labels : 32 chars Speed : 2 or endless pass depending on complications to be resolved Max Lines : disk size or hard drive size Structured loops : YES Structured jumps : YES Linker : No linker built in but various do work for it Source Available : NO I had a file that took 400 passes (3 days) to resolve symbol reference statements, it eventually resolved all issues except 1 it could not fix. This was a test to see how long it would take to solve a complicated issue I found in a book on Assemblers. I was very impressed. 2 1 Quote Link to comment Share on other sites More sharing options...
Gary from OPA Posted August 21, 2020 Share Posted August 21, 2020 Just now, RXB said: I use the Ryte Data GPL Assembler. Length of labels : 32 chars Speed : 2 or endless pass depending on complications to be resolved Max Lines : disk size or hard drive size Structured loops : YES Structured jumps : YES Linker : No linker built in but various do work for it Source Available : NO I had a file that took 400 passes (3 days) to resolve symbol reference statements, it eventually resolved all issues except 1 it could not fix. This was a test to see how long it would take to solve a complicated issue I found in a book on Assemblers. I was very impressed. Yes, one of the best out there! -- i still use it myself. than and rag linker. 1 2 Quote Link to comment Share on other sites More sharing options...
GDMike Posted March 1, 2021 Share Posted March 1, 2021 (edited) On 8/16/2020 at 1:58 PM, BeeryMiller said: No surprises from me, but the GenPROG package with GenASM and GenLINK. GenASM - Single pass assembler, 31 character label names, macros, conditional assembly directives, macro strings. Probably the fastest compiler unless you step to an assembler on a non 9900/9995 CPU. GenLINK - Supports saving files in multiple formats with and without headers, and the ability to create overlays, and no restrictions on the size of program image files. Ability to use libraries. Beery I know you're busy these days, but I have gone through the Geneve GENxxx references. I have found the information to be favored towards people who have a familiarity with GENasm N, linker, etc.. But these books don't offer the new user a startup. I am familiar with the TI assembler and the manual. It's put together with examples. And the examples I see, in genxx so far, were really reaching lol, I mean snipits of code don't offer much to people who haven't seen the complete structure of an object file file for geneve, I was left with more questions after reviewing. I can throw 9900 assy code around left and right, but i haven't gotten a clue where to begin with Geneve. I did manage to find that genASM,N (I assume it's One program broke up), can READ DV80 files and it's a one pass. Anyway, the book should alleviate most of my questions, but I didn't get far in them. Thx Edited March 1, 2021 by GDMike Quote Link to comment Share on other sites More sharing options...
+9640News Posted March 1, 2021 Share Posted March 1, 2021 Start browsing some of the source code examples in the issues of 9640News for some examples. Another resource, try telnetting into the BBS fusionbbs.ddns.net port 9640 Look in the Geneve file categories for some files and you will find files with source code. Besides the Genxxx docs, source code examples are how all of us learned. There is no other book. Beery 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted March 2, 2021 Share Posted March 2, 2021 (edited) Thank you. I'm about to get to a comfortable spot with my SNP program and ill pull the plug, literally..I'll pull the peb apart and put in the geneve. I Better go find the geneve assembler and other executables first or I won't have anything to test with . Lol! thanks so much Edited March 2, 2021 by GDMike Quote Link to comment Share on other sites More sharing options...
GDMike Posted March 12, 2021 Share Posted March 12, 2021 (edited) On 2/28/2021 at 8:37 PM, 9640News said: Start browsing some of the source code examples in the issues of 9640News for some examples. Another resource, try telnetting into the BBS fusionbbs.ddns.net port 9640 Look in the Geneve file categories for some files and you will find files with source code. Besides the Genxxx docs, source code examples are how all of us learned. There is no other book. Beery I've decided to NOT get into the assembler, linker, math, etc..etc.. for geneve. I'll investigate geneve Forth instead and see if it has an assembler in it. As long as it runs from MDOS that is. I'm still trying to download the text files as I'm not seeing the download option, each file is opening and I assume from there I'm supposed to copy it and paste it to something.. I was hoping to dl All the files from my phone and push them to my tipi, but it's not appearing I can do that.. I'll just have to go through the process of finding space on my desk for my laptop, and do all the copying/pasting.. Lol Edited March 12, 2021 by GDMike Quote Link to comment Share on other sites More sharing options...
+mizapf Posted March 12, 2021 Share Posted March 12, 2021 Why not go for C? The TIC package is quite OK. 1 Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted March 12, 2021 Share Posted March 12, 2021 Hmm... Obviously, the LINE-BY-LINE ASSEMBLER, is the most advanced!? Label length is simply kept short/sweet.? Speed is, on-the-fly, practically real time!⏱️ Lines of code are limited only by available memory!? No need for linker, since you can load all code/assign branches manually... Good practice!? After-market source, available here from a trusted member...?♂️ #10 P.S. Works well in conjunction w/EASYBUG.? 1 Quote Link to comment Share on other sites More sharing options...
+9640News Posted March 12, 2021 Share Posted March 12, 2021 6 hours ago, GDMike said: I've decided to NOT get into the assembler, linker, math, etc..etc.. for geneve. I'll investigate geneve Forth instead and see if it has an assembler in it. As long as it runs from MDOS that is. I'm still trying to download the text files as I'm not seeing the download option, each file is opening and I assume from there I'm supposed to copy it and paste it to something.. I was hoping to dl All the files from my phone and push them to my tipi, but it's not appearing I can do that.. I'll just have to go through the process of finding space on my desk for my laptop, and do all the copying/pasting.. Lol The GenREF documentation files are in PDF format. Even if you decide to use Forth versus assembly language, you will still need the GenREF documentation to access the resources of the Geneve. The assembler/linker are just very small pieces of the whole package for programming in MDOS. Beery 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted March 12, 2021 Share Posted March 12, 2021 (edited) Yes, I got all that. I'm just trying to avoid the linker, assembler, and other items I'd have to go through. Shoot, I have a program now in EA, and using classic 99 in turbo as my assembler still takes me a bit of time, I kinda know what I'm up against using the genasm and it's components, that in this case Forth might be the ticket here. I was referring to the forth txt files and getting that documentation.. Edited March 12, 2021 by GDMike Quote Link to comment Share on other sites More sharing options...
+mizapf Posted March 12, 2021 Share Posted March 12, 2021 8 minutes ago, GDMike said: Shoot, I have a program now in EA, and using classic 99 in turbo as my assembler still takes me a bit of time... Sigh ... people just don't take their time ? ... isn't it a moment of silent comtemplation while waiting for the assembler to finish? Mind that on the real iron, you still had the chance that the floppy failed. 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted March 12, 2021 Share Posted March 12, 2021 (edited) You wouldn't believe how many times I forgot what my code was actually supposed to do, yes that is a personal issue lol but still...loss of focus is easy to do, or the changes that I made while I was waiting for the thing to assemble or what kind of idea came up with since I started assembling and all the what ifs that happened while I'm assembling, it drives me crazy lol I do know that if I'm in Forth I get to see everything pretty much immediately. Don't talk me out of forth! you're supposed to encourage the use of the most efficient application. And right now I don't see assembler being efficient opposed to using Forth, Unless Geneve forth, whatever it's called these days, doesn't have the capability in it's current kernel. Edited March 12, 2021 by GDMike Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.