about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--317abort.subx11
-rwxr-xr-xtranslate_subx4
-rwxr-xr-xtranslate_subx_emulated4
3 files changed, 11 insertions, 8 deletions
diff --git a/317abort.subx b/317abort.subx
index 99e841c0..941862f9 100644
--- a/317abort.subx
+++ b/317abort.subx
@@ -27,10 +27,10 @@ dump-call-stack:
     51/push-ecx
     52/push-edx
     53/push-ebx
-    # var labels/edx: (addr stream {start-address, label-slice} 0x1000)
+    # var labels/edx: (addr stream {start-address, label-slice} 0x4000)
     # start addresses are in ascending order
-    81 5/subop/subtract %esp 0xc000/imm32
-    68/push  0xc000/imm32
+    81 5/subop/subtract %esp 0x30000/imm32  # 0x4000 labels * 12 bytes per label
+    68/push  0x30000/imm32
     68/push  0/imm32/read
     68/push  0/imm32/write
     89/<- %edx 4/r32/esp
@@ -81,8 +81,11 @@ load-debug-symbols:  # labels: (addr stream {start-address, label-slice})
     c7 0/subop/copy *ecx 0/imm32  # write index
     c7 0/subop/copy *(ecx+4) 0/imm32  # read index
     c7 0/subop/copy *(ecx+8) 0x01000000/imm32  # stream capacity = 16MB
-    # load 0x100 sectors starting from sector 10080 = 0x2760
+    # load 0x400 sectors starting from sector 10080 = 0x2760
     (load-sectors Primary-bus-primary-drive 0x2760 0x100 %ecx)
+    (load-sectors Primary-bus-primary-drive 0x2860 0x100 %ecx)
+    (load-sectors Primary-bus-primary-drive 0x2960 0x100 %ecx)
+    (load-sectors Primary-bus-primary-drive 0x2a60 0x100 %ecx)
     # - parse pointers to portions of this stream into labels
     # var curr/ecx: (addr byte) = s->data
     81 0/subop/add %ecx 0xc/imm32
diff --git a/translate_subx b/translate_subx
index 8d97b197..7b16425c 100755
--- a/translate_subx
+++ b/translate_subx
@@ -43,13 +43,13 @@ fi
 
 # Latter half of disk is for debug info.
 dd if=labels of=code.img seek=10080 conv=notrunc  # keep this sync'd with abort.subx
-if [ `stat --printf="%s" labels` -ge 131072 ]  # 256 sectors * 512 bytes per sector, the most an ATA drive can read in a single command
+if [ `stat --printf="%s" labels` -ge 524288 ]  # 4 reads * 256 sectors * 512 bytes per sector
 then
   echo "labels won't all be loaded on abort"
   exit 1
 fi
 
-if [ `wc -l < labels` -gt 4096 ]  # 0x1000 stream capacity in abort.subx
+if [ `wc -l < labels` -gt 16384 ]  # 0x4000 stream capacity in abort.subx
 then
   echo "abort will go into infinite regress"
   exit 1
diff --git a/translate_subx_emulated b/translate_subx_emulated
index 439befcd..fb89bfaf 100755
--- a/translate_subx_emulated
+++ b/translate_subx_emulated
@@ -47,13 +47,13 @@ fi
 
 # Latter half of disk is for debug info.
 dd if=labels of=code.img seek=10080 conv=notrunc  # keep this sync'd with abort.subx
-if [ `stat --printf="%s" labels` -ge 131072 ]  # 256 sectors * 512 bytes per sector, the most an ATA drive can read in a single command
+if [ `stat --printf="%s" labels` -ge 524288 ]  # 4 reads * 256 sectors * 512 bytes per sector
 then
   echo "labels won't all be loaded on abort"
   exit 1
 fi
 
-if [ `wc -l < labels` -gt 4096 ]  # 0x1000 stream capacity in abort.subx
+if [ `wc -l < labels` -gt 16384 ]  # 0x4000 stream capacity in abort.subx
 then
   echo "abort will go into infinite regress"
   exit 1
flect changes to reply bindings' href='/akspecs/aerc/commit/doc/aerc-tutorial.7.scd?h=0.5.2&id=58a0f438df4844013361ecac9f2455b74d71792e'>58a0f43 ^
58bc15b ^







14d58c2 ^

062f00e ^
432d2b1 ^
58bc15b ^



c4c8648 ^


58bc15b ^



















































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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155