Jump to content

Photo

The TI-99/4A Operating System

Operating System Monitor GPL Interpreter KSCAN ISR XML Utilities

29 replies to this topic

#26 Asmusr OFFLINE  

Asmusr

    River Patroller

  • 2,581 posts
  • Location:Denmark

Posted Fri Mar 18, 2016 4:57 PM

 

Oops! :woozy:  Here’s the context that led me astray: post #928 of “Classic99 Updates”.

 

 

You’re most welcome.

 

...lee

 

I'm obviously becoming more forgetful.  :)



#27 kl99 OFFLINE  

kl99

    Dragonstomper

  • 722 posts
  • Location:Vienna, Austria

Posted Sun Mar 20, 2016 3:22 PM

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.

Attached File  TI-99#8-wip.zip   1.14MB   16 downloads

Attached File  System-Software-Lee.zip   269.82KB   17 downloads

 

Maybe its of help.



#28 kl99 OFFLINE  

kl99

    Dragonstomper

  • 722 posts
  • Location:Vienna, Austria

Posted Fri Mar 25, 2016 1:57 AM

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 "****".

 

Attached File  ROM-4A-a-comments.a99   55.22KB   19 downloads

Attached File  intsim.txt   96.83KB   19 downloads



#29 kl99 OFFLINE  

kl99

    Dragonstomper

  • 722 posts
  • Location:Vienna, Austria

Posted Wed Dec 27, 2017 4:13 AM

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.



#30 Lee Stewart OFFLINE  

Lee Stewart

    River Patroller

  • Topic Starter
  • 3,557 posts
  • Location:Silver Run, Maryland

Posted Wed Dec 27, 2017 8:57 AM

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







Also tagged with one or more of these keywords: Operating System, Monitor, GPL Interpreter, KSCAN, ISR, XML Utilities

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users