| Analysis of the GLS1 Electronics |
| Computer Aided Testing System |
| as pertaining to test requests. |
|
|
|
|
| Example 1: Load the grid pattern (crosshatch) to RAM on a Galaga video board. |
| Request = 0031 00020100030000000000 Load Grid Pattern 8000-9FFF grid.hex |
| Step one | Determine the following Start /End Action Code Objective File Name |
| Start /End = 8000 - 9FFF | Data = hexadecimal data, not a command | ||
| Action Code = 00020100030000000000 | Because the Start / End = hexadecimal, the action code will be interpreted as a sequence of events, and the order in which they will be processed. | ||
| Objective = Grid Pattern = Grid Pattern | The object, objective, or name of current test | ||
| File Name = grid.hex | This is name of the target file used during processing of Action Code . . | ||
| Step two | Translate | Action Code into | Sequence Of Events |
| 1 Load file >> MDR
.....................0 2 Address range >> MDR..................0 3 Generate data >> MDR..................0 4 Convert MDS to MDR....................2 5 Convert MDR to MDS....................0 6 Load file >> MDS......................1 7 Address range to RDR..................0 8 Convert RDR to RDS....................0 9 Compare MDR > RDR.....................0 10 Write MDR >> Address Range............3 11 Write MDR to single address...........0 12 Compare MDS <> RDS....................0 13 Open user interface control...........0 14 Set loop and auto-clear to true.......0 15 Read file as instructions to decode...0 16 Write Comparison results to log file..0 17 Write Read Data Strings to file.......0 18 Write RDR to file.....................0 19 Open error analyze on fault...........0 20 If MDR <> RDR then build MDS RDS......0 |
Action Code
= 00020100030000000000
Translated, this means do
the sixth item The derived Sequence Of Events Code This code is used in
the next phase of
|
||
| Step three | Process the Sequence Of Events Code ( 06 04 10 ) |
| 06 Load file >> MDS | Load file as master data strings |
| 04 Convert MDS to MDR | Convert string data into numeric data |
| 10 Write MDR >> Address Range | Write numeric data to Start /End 8000 - 9FFF |
| This test is visual in nature, and requires the user to examine the video game monitor. | |
|
- End of example 1 - |
|
| Example 2: Verify the RAM chips at locations 4L and 4P, Ms Pacman board. | |
| Request = 0026 0010204503060000000000 Ram 4L 4P 4400-47FF Random 000-255 | |
| (Test number 0026 from test table: mpac_test_table.htm ) | |
| Start /End = 4400 - 47FF | Data = hexadecimal data, not a command |
| Action Code = 0010204503060000000000 = | Sequence of events |
| Objective : = Ram chips 4L and 4P | The object, objective, or name of current test |
| File Name = Random 000-255 | generate random numbers between 0 and 255 for the data source. |
| Sequence Of Events Code is determined to be: 030510070812 | |
| 03 Generate data >> MDR | File Name
= random 000-255, length = subtract Start from End = 3FF <decimal 1023> |
| 05 Convert MDR to MDS | Convert numeric data into string data |
| 10 Write MDR >> Address Range | Write numeric data to Start /End 4000 - 47FF |
| 07 Address range to RDR | Read addresses from 4000 - 47FF |
| 08 Convert RDR to RDS | Convert numeric data into string data |
| 12 Compare MDS > RDS | Compare if write data = read back data |
|
All results are viewable at any
time, although by default, tests are run as Pass / Fail. Examining the data screens is possible on command, though not necessary unless a failure has been detected. Watching pages of good data and addressing is redundant, in most cases, the objective of a test is to find what is failing. However, if a failure is detected, error analysis will begin, the next step would be to analyze all aspects of the <expected data> Vs <received data>. error_analysis.htm |
|
| - end of Example 2 - | |
| Example 3: Combining Test Sequences into one test, Example: Test Patterns |
| Request = 0047 00190016001800090020 Assorted Test Screens Sequence Pause 005 |
| In this example, note that the Start /End variable is determined to be a <command>, and the processing of the Action Code is handled as a series of test requests, in succession. (Test number 0047 from test table: galaga_test_table.htm ) |
| Step one | Determine the following Start /End Action Code Objective File Name |
| Start /End = "Sequence" | this test is a command to sequence |
| Action Code = "00190016001800090020" | Because the Start / End = <command>
the action code will be interpreted as a sequence of test requests, and the order in which to execute. |
| Objective : = "Assorted Test Screens" | The object, objective, or name of current test |
| File Name = "Pause 005" < Modifyer> | This data is now interpreted
as
"Pause for 5 seconds in between tests" (to view test patterns) |
| Step two | Translate: Action Code into Sequence Tests Code |
| Action code is
20-digit number. Sequence Tests Code is derived from every fourth digit, |
Sequence Tests Code = "0019,
0016, 0018, 0009, 0020" |
| Now, these tests are placed into test queue: |
| 0019 00100000020000000000
Clear Screen 8000-9FFF fill
000 0016 10000000020000000000 Test Pattern (Spin) 8000-9FFF spinning.gls 0018 00100000020000000000 Clear text only 8000-87FF fill 000 0009 10300000002000000000 Test Pattern (Grid) 8000-9FFF grid.hex 0020 10000000020000000000 Test Pattern GLS logo 8000-9FFF logogls.gls |
| Step three | Process the Sequence Of Tests Code <as 5 individual tests> |
| Execute # test 0019 | Handled similarly to Example 1 |
| Execute # test 0016 | Handled similarly to Example 1 |
| Execute # test 0018 | Handled similarly to Example 2 |
| Execute # test 0009 | Handled exactly as Example 1 |
| Execute # test 0020 | Handled similarly to Example 1 |
- End of examples -