Asmusr Posted March 18, 2016 Share Posted March 18, 2016 Oops! Here’s the context that led me astray: post #928 of “Classic99 Updates”. You’re most welcome. ...lee I'm obviously becoming more forgetful. 2 Quote Link to comment Share on other sites More sharing options...
kl99 Posted March 20, 2016 Share Posted March 20, 2016 This is a great project and effort Lee! I tried my ways once to recreate a commented version of the console rom / groms for the 99/4a by starting from the 99/8 console source files, which were released. The "official" comments by TI are a great ressource. The 99/8 console rom can be considered to be identical over many parts, so the comments can be "moved" over to a disassembled 99/4a rom/grom file. Diff Tools like WinMerge [www.winmerge.org] are essential for such a comparison project. I also tried to align the sourcecode with Intern to include his comments. This is another source i discovered already on whtech: ftp://ftp.whtech.com/source/console.src The 99/8 source files are in the same ftp-directory. I also discovered another ressource for commented source files inside the Genie. Here is all what I have so far. I got sidetracked by some other "interesting" thing. TI-99#8-wip.zip System-Software-Lee.zip Maybe its of help. 1 Quote Link to comment Share on other sites More sharing options...
kl99 Posted March 25, 2016 Share Posted March 25, 2016 In the last days I have tried to prepare a merge of these two files by adding comment lines to the file if the other had a code or comment line to achieve a better diff comparison. It's not finished yet, but once it is, the extensive original comments from the 99/8 source code [intsim.txt] can be moved over to your work file [ROM-4A-a.a99] quite easily. Unless I made a mistake, the ROM-4A-a-comments.a99 file should still generate the same binary output. Whenever I added a line, i did it with "****". ROM-4A-a-comments.a99 intsim.txt 2 Quote Link to comment Share on other sites More sharing options...
kl99 Posted December 27, 2017 Share Posted December 27, 2017 Hi Guys, I am currently working on something in the direction of this thread. My tool tries to read in all kinds of assembler source code files and automatically identifies the label, opcode, operands and comment fields of each line. So far it is doing a good job I assume. It even validates the used opcodes already, currently trying my ways with validating the allowed operands for each opcode. I already tried my ways generating an html out of it with all parts of the syntaxes in another color to easy up reading. When a Label Reference is used as Operand you can click on it and it goes to the Label Definition. What I am really trying to achieve is auto-combining the comments next to statements from all available Comments Ressources: - 99/4A Rom0 Commented Source - Heiner Martin Rom0 Comments - 99/8 Rom Commented Source - XB Rom0 and Rom1 Commented Source (thx to Rich RXB). The comments should be auto-addable not only to the 99/4A ROM but to any passages of matching disassembled code (like 99/5 rom or Tomy Tutor rom). I am troubling finding documentation on the following instructions of assembler source code files: "SPIN", occurs without any operands (occurs several times in the file ROM-4A_B.a99 and seems to match an instruction in Heiner Martin Disassembly of the ROM to ">13F0 10FF JMP >13F0 Wait for interrupt" "SCRNOP" occurs as opcode with one operand in the 99/8 assembler source code files. Is it common to use "SET0" [Zero Number] instead of the correct "SETO", like happening in the 99/8 source disk files? Is there some editor that marks your line "MOV R1" as red/error as long as the second operand is missing? If not, such an editor might become a nice side-product of the project. 4 Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted December 27, 2017 Author Share Posted December 27, 2017 I am troubling finding documentation on the following instructions of assembler source code files: "SPIN", occurs without any operands (occurs several times in the file ROM-4A_B.a99 and seems to match an instruction in Heiner Martin Disassembly of the ROM to ">13F0 10FF JMP >13F0 Wait for interrupt" “SPIN” is not a TMS9900 Assembler instruction. It is a comment, which is an abbreviation for “spin our wheels”—a reference to a vehicle stuck in a spot and going nowhere because it has lost traction. The TI programmers used “LABEL JMP LABEL” to set up an infinite loop until a timer interrupt forced a return to the instruction following the loop. This code assembles to >10FF and is used in four places in the tape-cassette routine in console ROM0. After an interrupt, the following code increments the return address to the instruction following the infinite loop: * * TIMER INTERRUPT ROUTINE * TIMER SBZ 0 MAKE SURE WE'RE IN INTPT MODE SBO 3 CLEAR DECREMENTER INTPT MOV R1,R1 TEST FLAG REGISTER JLT TIMER1 FLAG SET -> ERROR EXIT LWPI WKSC BACK TO REGULAR WORKSPACE C *R14,@HXSPIN DOING A SPIN? JNE TIMER1 NO, DON'T INC ADR. INCT R14 BYPASS SPIN <----Increments return address past “SPIN” TIMER2 RTWP AND RETURN TIMER1 LWPI WKSC MOV @WKSE+R6+R6,R14 GET EXIT ADDRESS JMP TIMER2 AND EXIT ...lee 1 Quote Link to comment Share on other sites More sharing options...
FSword7 Posted December 12, 2022 Share Posted December 12, 2022 On 3/15/2016 at 1:13 AM, InsaneMultitasker said: Is there such a beast as a dx-10 assembler? I find references to the ti-990 when I look up dx10. There is ti990 emulator on the Internet. Google it. Quote Link to comment Share on other sites More sharing options...
+FarmerPotato Posted December 28, 2022 Share Posted December 28, 2022 On 12/12/2022 at 10:44 AM, FSword7 said:Yes. It is Dave Pitts' asm990, which he provides with sim990. It's a C-source package. It can assemble all instructions for 9900 cpu types up to 990/12. There is also a link editor and some macro support. The output is regular tagged object format as used in the 4A too. The native assemblers in DX10 are SDSMAC and TXMIRA. SDSMAC has a big macro language. Some 4A programs turn out to have the SDSMAC identifier at the bottom... Asm990 runs on any Unix-y system. The accompanying lnk990 has facilities for making the libraries, overlays and segments used in DX10. Don't use those 🙂 Ralphb's xdt99 package has xas99, which is a 4A assembler with specific features for binary images. And you need it's xdm99 to copy files into a DSK image for use in a 4A emulator or TIF files for transfer. 4 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.