-
Notifications
You must be signed in to change notification settings - Fork 0
/
thread lists.txt
executable file
·78 lines (58 loc) · 1.57 KB
/
thread lists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
*
* Explanation of the various lists
*
Thread element
--------------
* 0,U - pointer to next element
* 2,U - code entry point
* 7,U - pointer to shape
* the rest of the data is thread-specific
Shape element
-------------
* 2,X - address of current raster
* 4,X - destination on screen (word)
* 6,X - pointer to thread
* 8,X - pointer to code ?
* 10,X - msbyte of x?
* 12,X - lsbyte of x?
* 14,X - x (word)
* 16,X - y (word)
* 18,X - MSBit indicates left/right nybble
* 20,X - address of shape table
* 22,X -
$9900 pool
----------
Pool has 180 elements, each 24 bytes.
Free list head pointer is at $1B.
Elements in this list are moved into several different lists.
Active head list pointers are at $17, $1F, $21 and $23.
Format:
0,1 - link to next element
$A9E0 list
----------
This is the main thread list.
List has 120 elements, each 15 bytes.
Active list head pointer is at $11.
Free list head pointer is at $13.
Format:
0,1 - link to next element
2,3 - entry address
4 - 1
5 - period
6 - 0; used to differentiate between this and $B0E8 elements
When an element is installed, it is placed before the current thread.
$B0E8 list
----------
List has 20 elements, each 31 bytes.
Free list head pointer is at $1D
Format:
0,1 - link to next element
2,3 - entry address
4 - 1
5 - period
6 - 1; used to differentiate between this and $A9E0 elements
This is not a thread list dispatched by the heart of Robotron, but
perhaps from a secondary thread dispatcher...
$B354 list ($B354-$B3A3)
----------
List of 80 pointers, probably to active humans