-
Content Count
1,055 -
Joined
-
Last visited
-
Days Won
3
Content Type
Profiles
Member Map
Forums
Blogs
Gallery
Calendar
Store
Everything posted by kl99
-
DS990 Commercial Computer System - anyone has experience?
kl99 replied to kl99's topic in TI-99/4A Computers
Remember that the DS990-1 was the lowest (cheapest) possible model to work on. I doubt that many employees got "only" that to work with. But actually the "power" came by loading things from huge harddrives/tapes via network. Most TI-99 software development used GPL as Language, there was a dedicated TI-990 software called GPL10, which is a GPL Debugger. There was also a TMS9900 Emulator Software for the TI-990. I don't know whether that was runnable in a sofware only mode. There was for sure a bridge that plugged into the CPU socket (instead of the actual CPU). The TI-99/4A and /8 operating system (Assembler parts) were compiled with SDSMAC, a very powerful TI-990 Assembler. -
DS990 Commercial Computer System - anyone has experience?
kl99 replied to kl99's topic in TI-99/4A Computers
some small update. the computer arrived. it is huuuuge. i will post photos. it requires a cleanup of the circuit boards, i saw dangerous dust there. metal and plastic also should be cleaned up. the disk drive unit FD1000 was sold as broken as the tests of the ebay seller failed. however i figured yesterday that the internal power cable to the 8" disk drives is not plugged in. in best case that is the only reason. -
TIcode99 output examples (TI-99/4A Rom0 - System Software)
kl99 replied to kl99's topic in TI-99/4A Development
small update: - If a Definition of a Constant (Symbol) has a comment next to it, it is now shown in the tooltip whereever it is referenced. - Checkboxes to hide/show Location Counters, Comment Fields and Comment Lines. - a space is added between each field of the lines to better copy a segment out - internal cleanup of the code Only the first three files got updated. http://www.ti99.eu/wp-content/uploads/TIcode99/ROM-4A_A.html http://www.ti99.eu/wp-content/uploads/TIcode99/ROM-4A_B.html http://www.ti99.eu/wp-content/uploads/TIcode99/ROM-4A_C.html -
TIcode99 output examples (TI-99/4A Rom0 - System Software)
kl99 replied to kl99's topic in TI-99/4A Development
fixed. thx. -
To share more on the progress, this is the current output of the tool I am working on: http://www.ti99.eu/wp-content/uploads/TIcode99/ROM-4A_A.html http://www.ti99.eu/wp-content/uploads/TIcode99/ROM-4A_B.html http://www.ti99.eu/wp-content/uploads/TIcode99/ROM-4A_C.html The content in these files is the original commented source code for TI-99/4A System Rom, created by the TI developers. Basically an assembler source code file is read in by TIcode99 and parsed to generate a new assembler source code file. These html files are something I wanted to do for a long time already, they include rich syntax highlighting, which is only possible because the tool actually understands and categorizes the content in the code. The tooltips (hover with the mouse on certain elements) show you detailed information about the opcode, about the symbols and their resolving, the operand type,... The symbols can be clicked on to jump to the location where they are defined. However with the enhanced tooltips you hardly need to jump for and back just to read the definition of the symbol. All this is done automatically and can be done for any Tms9900 source code file. When I change the render options to always render numbers in hexadecimal format, it generates these instead: http://www.ti99.eu/wp-content/uploads/TIcode99/ROM-4A_A%20-%20Hexadecimal.html http://www.ti99.eu/wp-content/uploads/TIcode99/ROM-4A_B%20-%20Hexadecimal.html http://www.ti99.eu/wp-content/uploads/TIcode99/ROM-4A_C%20-%20Hexadecimal.html When I change the render options to always render numbers in decimal format, it generates these instead: http://www.ti99.eu/wp-content/uploads/TIcode99/ROM-4A_A%20-%20Decimal.html http://www.ti99.eu/wp-content/uploads/TIcode99/ROM-4A_B%20-%20Decimal.html http://www.ti99.eu/wp-content/uploads/TIcode99/ROM-4A_C%20-%20Decimal.html Here are the original source files for reference: http://www.ti99.eu/wp-content/uploads/TIcode99/ROM-4A_A.a99 http://www.ti99.eu/wp-content/uploads/TIcode99/ROM-4A_B.a99 http://www.ti99.eu/wp-content/uploads/TIcode99/ROM-4A_C.a99 See also the formerly used thread where people helped me get this far: http://atariage.com/forums/topic/274552-lots-of-assembler-questions/
-
nice progress. thanks for all the effort!
-
DS990 Commercial Computer System - anyone has experience?
kl99 replied to kl99's topic in TI-99/4A Computers
It is not a TM-990 system! As far as I read it, the DS990-1 is hardware wise not using a TI-990 mainframe (as this would not fit in the case used for the DS990-1). However it is made to run the same Operating System as with the TI-990 mainframes (depending on your CPU/RAM). The DS990 Model 1 runs a TMS 9900 Microprocess and 64Kb Ram. This is the Model I have acquired. It is called DS for Disk System as even the lowest configuration comes with the full TI-990 size FD1000 8inch(!!!) Flexible Disk Drive Unit in its typical seperate case. The boards are plugged in on a main board as can be seen on the photos when clicking the ebay link. http://bitsavers.org/pdf/ti/990/brochures/DS990_Brochure_Apr78.pdf The DS990-2 comes with a TI-990/5 unit in its own case (same size as the FD1000). The case contains - Power Supply - Main Frame with 6 slots (or 13 slots) for half factor/full factor TI-990 boards - a Front Panel - TI-990/5 board (includes a TMS-9940, 64KB RAM and 3 RS232 ports on one full size board) - 911 Video Display Interface controller board. - and I assume some FD1000 Interface board from the TI Computer Family Catalog, July 1979: -
Hello everyone, Are people here with experience on the DS990 and TI-990 Mini Computer systems? Count me interesting in sharing about these systems. I just bought a DS990/1 which comes with a FD1000, which is a dual 8" Floppy Disk Drive Unit. You can find details on the acution: https://www.ebay.it/itm/Texas-Instruments-DS990-Model-1-Intelligent-Computer-and-unit-fd1000/253440639763?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649 My main motivation to go for this was: - approval of my wife - incentive for 2017 from the job is being paid out - some hardware project to improve hardware skills as it seems the Disk Drive is not working - ability to preserve and create 8" TI-990 disks for other owners of the system - ability to run TI-990 software on the real iron - ability to buy and preserve not yet preserved TI-990 software when it shows up - replace the FD1000 functionality by some Pc RS232 Software - testing support for hardware projects that try to "FPGA" a whole TI-990 (speccery) - explore possibilities to use TI-990 programming languages on the TI-99/4A (or TI-99/8). Two years ago I bought a TI-990/5 CPU board and two VDT911 controller boards (with no 911). And a 13 slot backplane and the main power supply for it. But there was no case or Frontpanel. It was all parts only.
- 31 replies
-
- DS990TI-990
- Mini Computer
-
(and 7 more)
Tagged with:
-
https://coolnovelties.co.uk/coolnovelties/texas-instruments-ti-994a/95-texas-instruments-ti-99-4a-component-video-cable-euro-models.html https://www.techexpress.co.nz/products/texas-instruments-ti-994a-component-video-cable-pal-euro-models?variant=4422565167133 Beware: the EU model doesn't feature Composite Out, only Y-Pb-Pr.
-
Google bought the rights on all old newsgroups. And provides free access via their website. https://groups.google.com/forum/#!forum/comp.sys.ti With some web programming this could be completly fetched and stored locally.
-
That would end up with the situation like stated earlier: "Simply showing the commented source code line to the debugging user would gain a bit but not much unless the emulator is actually aware of the symbols referenced in that line."
-
I don't have the code infront of me but there is the VDP interrupt and a timer that count downs. If it is 0, VDP interrupt is executed. This you can use for timing things. This will stay true after compilation. Just peek for the value of this timer and wait with any Basic execution unless it has a certain value. If it has the value then you continue your Basic code.
-
Okay. I can not do the replacement of two BYTE statements by one DATA like I intended it, in case somebody prefers later format-style (or for comparison of two files, where one has the same line as two BYTE and the other has it as DATA). Let's compare memory address >1158, >1159 from all available source codes: TI-Intern-Rom0-The-Cyc-Edition: 1158 BYTE 50 Used in rounding 1159 BYTE 03 Integer overflow error code TI-Intern-Rom0-Heiner-Martin-Edition: 1158 DATA >3203 ROM-4A_B: 1158 HX3203 DATA >3203 con4ar0: 1158 LW50H BYTE 50 1159 ERRI BYTE ERRIOV You could argue that it is a style question. But there are situations where keeping the two BYTE seperate makes much more sense. con4ar0.a99 defines a label for each of the lines. Both labels are used as references from other codelines. con4ar0: 1308 CB *R2+,@LW50H Is rounding necessary ? ... 1330 MOVB @ERRI,@FAC+10 Error code I can not change the >1158 and >1159 into one DATA statement without loosing the information and ability to point to them by their original label (which gives much hint on their purpose to the user). Even, if no labels are used to refer to >1158 or >1159, it makes much more sense to keep the lines as BYTES if somebody references to one of the bytes directly, especially with byte opcodes (MOVB,...). In fact they contain two values for two different purposes. And the way how they are referred individually reveals that. TI-Intern-Rom0-Heiner-Martin-Edition: 1308 CB *2+,@>1158 ... 1330 MOVB @>1159,@>8354 Set error To sum it up, I can not know all the references to a memory address before I have finished scanning in all the lines. Therefore the check whether BYTE or DATA can be replaced has to happen after that. For it to work I will create a List of all References from A to B. I already have a list for Labels and Assembly Constants but not for direct address references. More when I got to it ...
-
wow, seems like a cool project.
-
Hi Erik! Congrats on your progress! Seems like you solved the big mystery of instability issue. Such a penetrant issue that is not even related to the actual project can be de-motivating. I am enjoying very much your updates!
-
Again, it feels like very good progress, however I didn't come to the video(s) I have planned to show the tool off a bit. - a lot of refactoring to get cleaner code, not have spaghetti code and to better structure the code - changed some RenderOptions, especially around the rendering of numbers NumberDigitsRenderOptions DecimalNumberDigits = NumberDigitsRenderOptions.Original; NumberDigitsRenderOptions HexaDecimalNumberDigits = NumberDigitsRenderOptions.Original; NumberRenderOptions RenderNumbers = NumberRenderOptions.Original; NumberDigitsRenderOptions - Original - EnforceZeroLeadingDigits - TrimZeroLeadingDigits NumberRenderOptions - Original - AlwaysHexadecimal - AlwaysDecimal you can specify different Rendering Options for Hexadecimal Numbers versus Decimal Numbers. That always you to leave Decimal Numbers in their original format (as in the source code file), but render Hexadecimal Numbers always with leading zeros. A new thing in the inner workings of TIcode99 called MaximumNumber (set by some xml definition file) defines how many digits are used for rendering the operand if somebody runs the option EnforceZeroLeadingDigits. An operand for Workspace Register Reference should never render as >0009, but only as single Digit in Hexmode like >9, even if EnforceZeroLeadingDigits is active. An operand for the DATA Statement should render as word, therefore >0009, in case EnforceZeroLeadingDigits is active. An operand for the BYTE Statement should render as byte, therefore >09, in case EnforceZeroLeadingDigits is active. Here is some background information on how the tools is operating This is the TMS99xx.xml definition file that the tool is reading. tms99xx.xml It defines the - TMS9900 opcodes - TMS9995 opcodes - TMS9940 opcodes - TMS990/10 opcodes - TMS9900 Editor/Assembler - Assembler Directives - TMS9900 Editor/Assembler - Pseudo Instructions - TMS990/10 Assembler - Assembler Directives - TMS990/10 Assembler - Pseudo Instructions - Operand Type Definitions Basically this defines the language for TIcode99 to work with. I could setup a similar file for TMS7xxx assembler to make it work with that language too. I already started a GPL xml definition file, but that is not in use yet. The text for various tooltips come from the xml file as well.
-
The use of the additional source turned out well: http://ti99ers.org/h...in/tiintern.pdf Download in case you are interested: TI-Intern-Rom0-HeinerMartinEdition.a99 It revealed two mini-issues in The Cyc edition of TI-Intern, which tried to streamlines some things on their own. For example The Cyc edition always renders Workspace Registers with R as prefix. The original TI Intern book did not have that. However for this line I don't think it should be happening for the 2nd operand, the ShiftCount TI-Intern Pdf, Heiner Martin Edition and printed book: 1260 0814 SRA 4,1 Exponent :2, Basis 100!! TI-Intern Pdf, Cyc Edition: 1260 0814 SRA R4,R1 Exponent :2, Base 100!! Same here for the 2nd operand, which is the Cru Bit Addressing TI-Intern Pdf, Heiner Martin Edition and printed book: 0304 3544 STCR 4,5 Fetch CRU TI-Intern Pdf, Cyc Edition: 0304 3544 STCR R4,R5 Fetch CRU Also I don't understand the switch/difference for this line, the change seems motivated to reflect the commented source code by TI: TI-Intern Pdf, Heiner Martin Edition and printed book: 0036 1000 JMP >0038 Turns off GPL extension TI-Intern Pdf, Cyc Edition: 0036 1000 DATA >1000 Used in CZC TI commented source code: 0036 1000 HX1000 DATA >1000 USED IN CZC Would "JMP >0038" really compile to >1000 ? Isn't that rather matching a NOP? Summary of Comparison between - Rom0, TI-Intern Pdf, Heiner Martin Edition - Rom0, TI-Intern Pdf, Cyc Edition I already fixed all issues that were published in the last post before running this comparison. Workspace Register were rendered with Prefix R, since they didn't match originally. Instructions which can be done via Pseudo Instructions were rendered as Pseudo Instructions, as the two files didn't match. The comments and the comment lines were blended out, it seems the cyc was changing and adding some comments. The memory address lines were regenerated by TIcode99 and matching, the original ones were not checked. The binary values were not compared, this will be done once TIcode99 is able to compile on its own.
-
Is this then some hardware we talk about that was not sharable between the two persons? I was assuming that most was documentation with some TI-990 development software on 8" disk. In fact i was mostly hoping for docs and software, when I heard TI Grom developer set. Nowadays we have the TI Grom simulator device for research purposes and the Gram Kracker as hardware device to override Grom0-2.
-
The 99/8 lot I have aquired from an TI employee included a beige PHP1300 Hex Bus Interface for the 99/4(A). It also came with the Hex-Bus Disk Drive Controller. The employee was responsible for parts (parts lists) for the TI Home Computers, and therefore got (or bought) some stuff it seems. From mdude I have aquired the released Hex Bus Peripherals: Plotter, the Printer 80, the CC-40, the Modem and I found the RS-232 Interface some place else. I am missing the wafertape drive. There is also the beige Program Recorder which even shows a 99/2 on the back of the box. Afaik there was a silver/black edition of the PHP1300 Hex-Bus Interface shown on the CES 1983. There are supposed to be beige PHA cassette cables for the 99/8, which have the 3 single cables on both ends instead of the 9pin connector on one side.
-
... Craig was able to get a TI GROM development set. Is that within the lot? Count me supernervous.
-
Rom0 initial comparison done. ### TI Intern Rom0 errors ### they were reported to Mike Wright from the Cyc just now. [1]. 03B0 131A JEQ >03FA Yes, go get old key code versus 03B0 131A JEQ >03E6 [wrong operand address, original books contain no comment for that line] issue in - English printed book (only operand is wrong) - Cyc pdf [2]. 0970 D7E0 MOVB [email protected]>83F1,*R15 Write address motion table versus 0970 D7E0 MOVB @>83F1,*R15 Write address motion table issue in - Cyc pdf [3]. 0A9E D820 MOVB [email protected]>83D9,@>8C02 Load VDP register versus 0A9E D820 MOVB @>83D9,@>8C02 Load VDP register issue in - Cyc pdf [4]. 111C 0604 DEC R3 versus 111C 0604 DEC R4 issue in - Cyc pdf [5]. 17BC 835C DATA >83C5 Pointer address VDP versus 17BC 835C DATA >835C Pointer address VDP issue in - English printed book - German printed book - Cyc pdf - Online pdf by Heiner Martin Not checked was: - compiled binary value (to be done) - memory address line value (only the regenerated one by the tool was compared) TIcode99 was cheating a bit on the feature implementations, in some cases I only did it as far to make the comparison of the two files work. RenderOptions are currently the following, default options are shown and are in a way set to recreate a perfect copy of the original text file. bool KeepLinesOnlyConsistingOfLabel = true; bool SkipEmptyOrWhiteSpaceLines = false; bool TrimWhiteSpaceAtEndOfLine = false; bool RenderAddress = false; bool RenderCommentField = true; bool RenderLabelField = true; bool RenderCommentLine = true; bool ResolveSymbolsInExpressions = false; bool ResolveExpressions = false; bool RenderAssemblerDirectives = true; [comment: this name will change, it's misleading, purpose is to not render EQU, COPY, IDT, DEF, AORG if set to false] bool RenderZeroLeadingDigits = true; PseudoInstructionOptions PseudoInstructions = PseudoInstructionOptions.Original; NumberRenderOptions RenderNumbers = NumberRenderOptions.Original; WorkSpaceRenderOptions RenderWorkspaceRegisterPreFix = WorkSpaceRenderOptions.Original; WorkSpaceRenderOptions - Original - AlwaysRenderPreFix - NeverRenderPreFix NumberRenderOptions - Original - AlwaysHexadecimal - AlwaysDecimal PseudoInstructionOptions - Original - AlwaysUsePseudoInstruction - AlwaysUseResolvedValue [comment: NOP will become JMP >xxxx with >xxxx being the address of the next line, RT will become B *R11] I did not start streamlining DATA versus BYTE statements. There were so few occurences left of differences, so for now I did a manual comparison of those, since coding is quite tricky. con4ar0.txt 0000 DATA >83E0,>0024 Reset vector 0004 DATA >83C0,>0900 Interrupt one (all 9901 interr 0008 INTTIM DATA >83C0,>0A92 Interrupt two 000C CLOCK BYTE >30 3 MHz clock 000D HAA BYTE >AA Valid ROM ID Heiner Martin 0000 DATA >83E0 RESET vector 0002 DATA >0024 0004 DATA >83C0 Interrupt Level 1 (9901) 0006 DATA >0900 0008 DATA >83C0 Interrupt Level 2 000A DATA >0A92 000C BYTE >30 3 MHz clock frequency OOOD BYTE >AA Header validation byte Streamlining these would require merging several lines to the selected standard. Difficult being what to do with comments from the original lines. So the headache on this has to wait a bit To have yet another source, I will now try to extract a text version from the Heiner Martin Pdf book, he released: http://ti99ers.org/hof/bios/HeinerMartin/tiintern.pdf It should mostly match the TI Intern Pdf book of The Cyc, but you never know.
-
Of course once an emulator would be able to run on source code, it could be doable to debug the actual source code of an User Program and abstract all actions around it (Gpl, Xml calls) away unless wanted by the debugger user. Let's see how far this project gets. And whether it can inspire other projects.
-
I was able to finish the festure that resolves the Symbols to their actual address/value. Current challenge is that the Heiner Martin book TI Intern uses not the pseudo codes for RT and NOP but instead a B *R11 and a JMP to the next line. I have to provide render Options for these in order to Streamline them for an automatic comparison. Also I need to provide options to streamline positioning. The expressions need to be resolved now by doing the actual operation. ">8300+>8E". This is the last big type of difference between the Source code files I am comparing. I have created a source code file for Rom0 from the TI Intern Pdf book which compares quite well already to the other Rom0 sources.
-
Your detailing helps me a lot, and for sure other interested members. Much appreciated. I am wondering who you are and if we have met in Chicago or at the TI Treffen in Europe? I am Klaus from Vienna.
