iws9012@eva.fmi.uni-passau.de (Thomas Opheys) (04/17/91)
Information about my TI-99/4A emulator. I would have answerded all the mails I received but at my university I am not allowed to mail that much outside of Germany because of the costs. So I try to answer all questions in comp.sys.ti hoping not to bore those who aren't interested. The emulator will require the following hardware: an IBM PC, any DOS version, and a standard VGA card capable of the 640x480x16 mode. The faster the machine, the better... The emulator is 100% written in Assembler, for speed reasons. Someone asked me if it was possible to port it to the Amiga. Now you know the answer: naturally I could give you the source code but it will be a full time job to rewrite it for an Amiga or any other machine. You won't get a good TI emulator written in any higher language, not even C. How will the emulator work? You'll see the original TI screen on your PC monitor. While the TI graphics only uses 256x192 pixels, there is enough space to display more information on the PC screen. When running in debug mode, the emulator displays the processor data like registers, status, debugged assem- bler instruction, VDP and GROM addresses and lots more. In addition, there is a display of the current GPL instruction being executed by the GPL inter- preter. The rest of the screen is reserved for some switches (ON/OFF, Load Interrupt) and Lamps (access of the peripheral cards, interrupts). Naturally, the performance of the emulator isn't too good with that huge amount of data displayed. So you can switch it to speed mode which just displays the TI screen. As I see it now, the emulator will be only slightly slower on a 20 MHz 386 than the original TI. But I can get it faster... The whole hardware is supported: Keyboard, Video Display Processor with all modes (text, graphics, bitmap, multicolor), Sound Processor (in the moment, only one sound channel (of four), because of the restrictions in PC sound, but SoundBlaster owners will get the full TI sound), 32k memory expansion, Mini Memory, GROM/ROM modules like Extended Basic, Editor/Assembler and peripheral cards like the P-code card, RS232 and Disk Controller. RS232 and Disk Controller can be the only sources of incompatibilities. Because of timig problems, the Disk Controller and RS232 hardware can't be emulated correctly on the hardware level. So the DSR ROMs will be patched so that every software level call of the card routines are handled by DOS. That means that you can print to "RS232.BA=9600.CR.LF" without problems, but terminal software like Telco won't work because they access the hardware directly. Even more complicated will be the disk controller access. I will provide a patch of the ROMs that enable you to access every file name on your PC hard disk just by giving the normal DOS name (i.e. RUN "C:\TI\LOAD" in Extended Basic). And whenever accessing "DSKx" or using programs that read sectors of these DSKs (like Disk Manager 1000), the emulator accessed special files on your PC hard disk that represent a TI disk. A utility to copy whole TI disks to the PC will be provided. Again, software that directly accessed the hardware of the controller won't work (COPY-C, Turbo-Copy and RapidCopy). Another thing you can forget is the speech synthesizer... But I shure hope that you didn't even expect that. SoundBlaster owners can perhaps play the words in ROM, but I think I can never emulate the Speech Synthesizer due to lack of hardware information... In the moment, the emulator is absolute not ready. The processor is nearly ready (only three instructions are missing) and the TMS9900 intructions, registers and status and the GPL code are correctly displayed debugged on screen. If anyone wants to play a little with the program in its actual state, the only way in the moment is to send me a disk and money for mail return (poor student...) because they kill me if I post it to comp.binaries.ibm.pc... And, as I said before, I CAN, but I am not allowed to E-mail outside Germany. Any suggestions, hints, hardware information (NEDDED!) and testers are welcome! Everyone can get the source and I don't want any money. I am just loving that GREAT machine... Thomas Opheys, Franz-Stockbauer-Weg 1, App. 88, W-8390 Passau, Germany ------------------------------------------------------------------------------ iws9012@eva.fmi.uni-passau.de Sledge Hammer and I - we're just good friends ------------------------------------------------------------------------------
ego@aix01.aix.rpi.edu (Erik G Olson) (04/17/91)
This sounds great! Some thoughts occur to me about two things, speech and graphics. One, speech is probably quite hopeless. But I'm convinced of it. Here some reasons why, or maybe they won't be new to you. The TI speech data, those rather short strings of bytes that cause the speech to form, are complex control codes which regulate a series of seven or eight filters which in turn interconnect via feedback. Because of the extreme specialisation of this hardware, very little data is actually needed to represent the otherwise complex total of audio data. The hardware is specifically tuned to the modeling of human speech, unlike nearly all other speech hardware. (Including the new Disney Sound Source, which sports a large vocabulary of real samples of real speech parts, which it modifies before sending to a plain old 8-bit (logarithmic) D/A device.) On the other hand, the PCjr speech card, last seen around 1983, contains a TI chipset for speech, but might have been a different version of the chipset used for the 4A. I don't know anything about the PCjr's bus, but if these cards can be scrounged up from somewhere, perhaps they can be made to work in a PC? Just a wild idea. And about graphics: would it be so far-fetched to include the full resolution of the 9938 chip while you're at it? It looks to me like that would be rather simple after the basic 9918 functions were programmed. After all, the 9938 is much cleaner than the 9918 in terms of memory layout. And a lot of programs that do come out these days are designed to take advantage of the extra hardware; I bet anyone serious enough to use a TI emulator or rich enough to have a 386, would be the kind of person to be writing software for a 9938 card. But then again, you're just doing this for fun, I take it. -- =======================+========================================= Erik G Olson "There was virtue in the world before there was orthodoxy in it." ego@pawl.rpi.edu --The Independent Whig