TI Emulator! 2/18/1994 by Edward Swartz -------------------------- BUG/INCOMPATIBILITY REPORT ------------------------- 1) FILE MANAGEMENT ------------------- a) TI Emulator does not support low-level routines like sector read/write, formatting, etc. This is because I never bothered in my TI years to find out how these calls were made to the device service routines. Also, there is no reason to put a layer of secrecy between the PC and the TI by making a so-called "disk file" that contains the disk sectors. This would make it an annoyance to "swap disks," as well. This shouldn't be a problem with most of the programs available, as the reason they use sector read/write is to copy-protect their programs, making it impossible to port to the PC anyway. Some programs, though, use these sector routines to obtain a faster disk catalog. Just shell to DOS. (Ctrl-Alt-F9). b) Included with sector routines is the catalog routine. Accessing DSK1. trying to get a catalog will simply return an error. The DOS shell should make up for this. (It's faster, anyway!) c) There are some ambiguities in error codes, order of operations, etc., with TI files. I've tried to work around most of these, but one program in particular won't work correctly with TI Emulator (TI Base). It's not legal for me to distribute that, anyway, so don't worry. 2) VIDEO --------- a) It is possible on the TI to make an undocumented "text/bitmap" mode, which has 256x192x2 resolution. This usually occured during lockup, anyway, so it isn't emulated. Whichever mode bit was set last will decide what mode is shown. b) The "5-sprites-on-a-line" bug is not emulated in TI Emulator. (What a shame, being able to see all the sprites all the time!) c) Sometimes a sprite whose pattern is being updated will not be redrawn. Just do something like F12 to redraw the screen. 3) KEYBOARD ------------ a) Sometimes, programs that always return uppercase will show undefined characters. Just turn on caps lock in these cases. 4) INVALIDITIES ---------------- a) Several instructions on the TI (CKON,CKOF, etc.) are simply treated as NOP's, rather than locking up the computer. b) Trying to read the GPL write address register would lock up the TI. Nothing happens on the TI Emulator. 5) INSTRUCTION SET ------------------- An extra opcode (>0300->031f), called "DSR," has been implemented to emulate file management access. (Usually, setting a CRU bit would activate device ROM from >4000 to >5FFF, then a branch would be taken to this area to handle files. TI Emulator simply traps branches to this area and calls PC routines.) 6) HARDWARE THINGIES LEFT OUT ------------------------------ a) No speech synthesizer. The speech synthesizer ROM consists of groups of codes to the speech chip which make speech. There is no pattern that I can figure out from just looking at it. I could simply digitize all the Speech Synthesizer built-in words and sample those, etc., but I don't want to. b) No cassette emulation. It would be interesting, but the code for reading/writing to the cassette is entrenched in time/hardware dependent routines. c) No printer support. Apparently, I didn't plan out the file handling stuff well enough. Just print to a file (DSK1.whatever) and write a program to decode it. See FILES.TXT for info. d) Audio-gate support. This is linked directly to the cassette emulation. It allows semi-digitized stuff to go through (like the PC Speaker). e) No noise register on the sound chip. Sorry about this, but I need to find out how to do "drum" sounds on the Adlib... I had a file documenting the registers, but I never got a hiss or a beating sound to work.