Difference between revisions of "Troubleshooting"
m (Created page with "So your good old TI does not feel good recently? Or you have bought a console or expansion on the Internet and wonder whether something is wrong, or whether you just don't use it...") |
|||
(5 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
We will discuss some trobleshooting strategies on these pages. | We will discuss some trobleshooting strategies on these pages. | ||
== Video issues == | |||
Sometimes you can find weird screen outputs on real TI consoles, some of them shown on Ebay. In most cases the problem is a defect RAM circuit. The video memory is implemented by 8 circuits of TMS4116 (16K x 1); that is, each circuit hold exactly one bit of each byte. | |||
Thanks to MESS, we can simulate various failure symptoms. For instance, when we apply an AND operation with byte 0x7F to every byte written to VDP RAM, the effect is the same as if the memory circuit for the leftmost bit has died - because the binary representation of 0x7F is 01111111. Likewise, if we AND the value 0xBF on each byte (0xBF = 10111111), the result should look as if the second RAM circuit is defect. | |||
From experience we can say that dead circuits should cause these stuck-at-0 symptoms; we never saw a stuck-at-1 or other cross-dependencies. | |||
<gallery caption="Video RAM failures" widths="150px" heights="150px" perrow="4"> | |||
Image:Vram_7f.png | Mask 01111111 | |||
Image:Vram_bf.png | Mask 10111111 | |||
Image:Vram_df.png | Mask 11011111 | |||
Image:Vram_ef.png | Mask 11101111 | |||
Image:Vram_f7.png | Mask 11110111 | |||
Image:Vram_fb.png | Mask 11111011 | |||
Image:Vram_fd.png | Mask 11111101 | |||
Image:Vram_fe.png | Mask 11111110 | |||
</gallery> | |||
If you found your screen output in this gallery, you will have to replace the failing video RAM circuit on the board. The video RAM is on the left side: | |||
[[File:Vram.jpg]] | |||
The image shows the bit numbers on the circuits. Note that Texas Instruments uses a big-endian bit order, i.e. bit 0 is the most significant bit (2<sup>7</sup>), and bit 7 is the least significant bit (2<sup>0</sup>). Accordingly, if your failure symptom is Mask 11011111, this means bit 2 is stuck at 0. | |||
== Disk-related issues == | |||
=== TI BASIC error codes === | |||
Error codes are two-digit codes like | |||
I/O ERROR 56 | |||
First digit: Command which failed | |||
{| class="plain" | |||
! 0 | |||
! 1 | |||
! 2 | |||
! 3 | |||
! 4 | |||
! 5 | |||
! 6 | |||
! 7 | |||
! 8 | |||
! 9 | |||
|- | |||
| OPEN | |||
| CLOSE | |||
| INPUT | |||
| PRINT | |||
| | |||
| OLD | |||
| SAVE | |||
| | |||
| | |||
| | |||
|} | |||
Second digit: Error type | |||
{| width="80%" class="plain" | |||
! width="5%" | Code | |||
! width="15%" | Meaning | |||
! width="75%" | Explanation | |||
|- | |||
| 0 | |||
| Device not found | |||
| The specified device could not be found in the system. This may happen when you spelled the device name wrong (like DKS1) or when you wrote it in lowercase. | |||
|- | |||
| 1 | |||
| | |||
| | |||
|- | |||
| 2 | |||
| | |||
| | |||
|- | |||
| 3 | |||
| | |||
| | |||
|- | |||
| 4 | |||
| | |||
| | |||
|- | |||
| 5 | |||
| | |||
| | |||
|- | |||
| 6 | |||
| Device or media error | |||
| The drive may be defect, the floppy disk scratched, the cables broken. Also, the floppy disk may require to be reformatted or replaced. This error is not caused by an improper use of the command but has physical origin. | |||
|- | |||
| 7 | |||
| File error | |||
| The specified device was found, but not the file. Maybe the file name was misspelled or written in the wrong case. | |||
|} | |||
The lowercase issue is a particularly attractive trap for new users. The TI systems define everything in uppercase (with depressed Alpha Lock), the lowercase letters are mostly used for text display. Also, the lowercase letters are shown as small capitals. In doubt, write DSK1 with Shift held down. | |||
=== Extended Basic error codes === | |||
=== Controller error codes === | |||
These are the error codes from the PHP1240 Disk Controller Card (the original TI disk controller). They are usually only seen during operations of the Disk Manager cartridge. | |||
{| class="plain" | |||
! width="33%" | Operation | |||
! width="15%" | Code | |||
! Meaning | |||
|- | |||
| Various operations | |||
| style="text-align:center" | 06 | |||
| Device error, like track 0 not reached, no READY signal | |||
|- | |||
| Read Sector | |||
| style="text-align:center" | 07 | |||
| Invalid sector number | |||
|- | |||
| Seek | |||
| style="text-align:center" | 11 | |||
| Wrong track ID in header | |||
|- | |||
| rowspan="4" | Read Address (also during Read Sector) | |||
| style="text-align:center" | 06 | |||
| Wrong side in header | |||
|- | |||
| style="text-align:center" | 21 | |||
| Sector header not found | |||
|- | |||
| style="text-align:center" | 22 | |||
| CRC error in sector header | |||
|- | |||
| style="text-align:center" | 23 | |||
| Byte buffer overflow (failure to fetch byte on time) | |||
|- | |||
| rowspan="4" | Write Sector | |||
| style="text-align:center" | 28 | |||
| Compare error (data) | |||
|- | |||
| style="text-align:center" | 31 | |||
| Sector header not found | |||
|- | |||
| style="text-align:center" | 33 | |||
| Byte buffer underflow (failure to deliver byte on time) | |||
|- | |||
| style="text-align:center" | 34 | |||
| Write protection | |||
|} |
Latest revision as of 19:41, 25 May 2021
So your good old TI does not feel good recently? Or you have bought a console or expansion on the Internet and wonder whether something is wrong, or whether you just don't use it correctly?
We will discuss some trobleshooting strategies on these pages.
Video issues
Sometimes you can find weird screen outputs on real TI consoles, some of them shown on Ebay. In most cases the problem is a defect RAM circuit. The video memory is implemented by 8 circuits of TMS4116 (16K x 1); that is, each circuit hold exactly one bit of each byte.
Thanks to MESS, we can simulate various failure symptoms. For instance, when we apply an AND operation with byte 0x7F to every byte written to VDP RAM, the effect is the same as if the memory circuit for the leftmost bit has died - because the binary representation of 0x7F is 01111111. Likewise, if we AND the value 0xBF on each byte (0xBF = 10111111), the result should look as if the second RAM circuit is defect.
From experience we can say that dead circuits should cause these stuck-at-0 symptoms; we never saw a stuck-at-1 or other cross-dependencies.
If you found your screen output in this gallery, you will have to replace the failing video RAM circuit on the board. The video RAM is on the left side:
The image shows the bit numbers on the circuits. Note that Texas Instruments uses a big-endian bit order, i.e. bit 0 is the most significant bit (27), and bit 7 is the least significant bit (20). Accordingly, if your failure symptom is Mask 11011111, this means bit 2 is stuck at 0.
TI BASIC error codes
Error codes are two-digit codes like
I/O ERROR 56
First digit: Command which failed
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|
OPEN | CLOSE | INPUT | OLD | SAVE |
Second digit: Error type
Code | Meaning | Explanation |
---|---|---|
0 | Device not found | The specified device could not be found in the system. This may happen when you spelled the device name wrong (like DKS1) or when you wrote it in lowercase. |
1 | ||
2 | ||
3 | ||
4 | ||
5 | ||
6 | Device or media error | The drive may be defect, the floppy disk scratched, the cables broken. Also, the floppy disk may require to be reformatted or replaced. This error is not caused by an improper use of the command but has physical origin. |
7 | File error | The specified device was found, but not the file. Maybe the file name was misspelled or written in the wrong case. |
The lowercase issue is a particularly attractive trap for new users. The TI systems define everything in uppercase (with depressed Alpha Lock), the lowercase letters are mostly used for text display. Also, the lowercase letters are shown as small capitals. In doubt, write DSK1 with Shift held down.
Extended Basic error codes
Controller error codes
These are the error codes from the PHP1240 Disk Controller Card (the original TI disk controller). They are usually only seen during operations of the Disk Manager cartridge.
Operation | Code | Meaning |
---|---|---|
Various operations | 06 | Device error, like track 0 not reached, no READY signal |
Read Sector | 07 | Invalid sector number |
Seek | 11 | Wrong track ID in header |
Read Address (also during Read Sector) | 06 | Wrong side in header |
21 | Sector header not found | |
22 | CRC error in sector header | |
23 | Byte buffer overflow (failure to fetch byte on time) | |
Write Sector | 28 | Compare error (data) |
31 | Sector header not found | |
33 | Byte buffer underflow (failure to deliver byte on time) | |
34 | Write protection |