diff --git a/ch01/01-01.html b/01-01.html
similarity index 96%
rename from ch01/01-01.html
rename to 01-01.html
index 622a51b..43571c9 100644
--- a/ch01/01-01.html
+++ b/01-01.html
@@ -29,8 +29,8 @@
@@ -65,8 +65,8 @@
diff --git a/ch01/01-02.html b/01-02.html
similarity index 97%
rename from ch01/01-02.html
rename to 01-02.html
index a65d492..70e591e 100644
--- a/ch01/01-02.html
+++ b/01-02.html
@@ -30,7 +30,7 @@
@@ -117,7 +117,7 @@ main(int argc, char *argv[]) {
diff --git a/ch01/01-03.html b/01-03.html
similarity index 96%
rename from ch01/01-03.html
rename to 01-03.html
index 4d1487c..498f159 100644
--- a/ch01/01-03.html
+++ b/01-03.html
@@ -30,7 +30,7 @@
@@ -215,7 +215,7 @@ _ChecksumFileendp
diff --git a/ch01/01-04.html b/01-04.html
similarity index 96%
rename from ch01/01-04.html
rename to 01-04.html
index 35cbdae..599a2f0 100644
--- a/ch01/01-04.html
+++ b/01-04.html
@@ -30,7 +30,7 @@
@@ -101,7 +101,7 @@ main(int argc, char *argv[]) {
diff --git a/ch01/01-05.html b/01-05.html
similarity index 96%
rename from ch01/01-05.html
rename to 01-05.html
index 53ecffd..157c5be 100644
--- a/ch01/01-05.html
+++ b/01-05.html
@@ -30,7 +30,7 @@
@@ -169,7 +169,7 @@ main(int argc, char *argv[]) {
diff --git a/ch01/01-06.html b/01-06.html
similarity index 95%
rename from ch01/01-06.html
rename to 01-06.html
index 89595d0..530ea45 100644
--- a/ch01/01-06.html
+++ b/01-06.html
@@ -30,8 +30,8 @@
@@ -109,8 +109,8 @@ _ChecksumChunkendp
diff --git a/ch02/02-01.html b/02-01.html
similarity index 95%
rename from ch02/02-01.html
rename to 02-01.html
index 5961b7b..054af38 100644
--- a/ch02/02-01.html
+++ b/02-01.html
@@ -29,8 +29,8 @@
@@ -85,8 +85,8 @@ LoopTop:
diff --git a/ch02/02-02.html b/02-02.html
similarity index 97%
rename from ch02/02-02.html
rename to 02-02.html
index e2c4ced..b1cd455 100644
--- a/ch02/02-02.html
+++ b/02-02.html
@@ -30,7 +30,7 @@
@@ -63,7 +63,7 @@
diff --git a/ch02/02-03.html b/02-03.html
similarity index 96%
rename from ch02/02-03.html
rename to 02-03.html
index 4151d31..19a6396 100644
--- a/ch02/02-03.html
+++ b/02-03.html
@@ -30,8 +30,8 @@
@@ -57,8 +57,8 @@
diff --git a/ch03/03-01.html b/03-01.html
similarity index 96%
rename from ch03/03-01.html
rename to 03-01.html
index df9d234..bbda66f 100644
--- a/ch03/03-01.html
+++ b/03-01.html
@@ -29,8 +29,8 @@
@@ -58,8 +58,8 @@
diff --git a/ch03/03-02.html b/03-02.html
similarity index 95%
rename from ch03/03-02.html
rename to 03-02.html
index 8565619..42df062 100644
--- a/ch03/03-02.html
+++ b/03-02.html
@@ -30,7 +30,7 @@
@@ -485,7 +485,7 @@ Code ends
diff --git a/ch03/03-03.html b/03-03.html
similarity index 97%
rename from ch03/03-03.html
rename to 03-03.html
index 3d8e754..675d274 100644
--- a/ch03/03-03.html
+++ b/03-03.html
@@ -30,7 +30,7 @@
@@ -62,7 +62,7 @@
diff --git a/ch03/03-04.html b/03-04.html
similarity index 98%
rename from ch03/03-04.html
rename to 03-04.html
index 19efa9e..a7fa3aa 100644
--- a/ch03/03-04.html
+++ b/03-04.html
@@ -30,7 +30,7 @@
@@ -61,7 +61,7 @@
diff --git a/ch03/03-05.html b/03-05.html
similarity index 97%
rename from ch03/03-05.html
rename to 03-05.html
index 6cbbd98..b2965b7 100644
--- a/ch03/03-05.html
+++ b/03-05.html
@@ -30,7 +30,7 @@
@@ -122,7 +122,7 @@ Skip:
diff --git a/ch03/03-06.html b/03-06.html
similarity index 97%
rename from ch03/03-06.html
rename to 03-06.html
index 6021958..598e353 100644
--- a/ch03/03-06.html
+++ b/03-06.html
@@ -30,7 +30,7 @@
@@ -131,7 +131,7 @@ pztime <filename>
diff --git a/ch03/03-07.html b/03-07.html
similarity index 96%
rename from ch03/03-07.html
rename to 03-07.html
index e23daea..3db9ca5 100644
--- a/ch03/03-07.html
+++ b/03-07.html
@@ -30,7 +30,7 @@
@@ -690,7 +690,7 @@ Code ends
diff --git a/ch03/03-08.html b/03-08.html
similarity index 96%
rename from ch03/03-08.html
rename to 03-08.html
index 62481ed..f42efb6 100644
--- a/ch03/03-08.html
+++ b/03-08.html
@@ -30,7 +30,7 @@
@@ -114,7 +114,7 @@ Code ends
diff --git a/ch03/03-09.html b/03-09.html
similarity index 96%
rename from ch03/03-09.html
rename to 03-09.html
index a4fb634..2b9a76a 100644
--- a/ch03/03-09.html
+++ b/03-09.html
@@ -30,7 +30,7 @@
@@ -158,7 +158,7 @@ extern C ZTimerOn(void);
diff --git a/ch03/03-10.html b/03-10.html
similarity index 96%
rename from ch03/03-10.html
rename to 03-10.html
index b1c49fa..1d71526 100644
--- a/ch03/03-10.html
+++ b/03-10.html
@@ -30,8 +30,8 @@
@@ -90,8 +90,8 @@ call near ptr ReferenceZTimerOn
diff --git a/ch04/04-01.html b/04-01.html
similarity index 97%
rename from ch04/04-01.html
rename to 04-01.html
index ab0cf1b..afd3db6 100644
--- a/ch04/04-01.html
+++ b/04-01.html
@@ -29,8 +29,8 @@
@@ -69,8 +69,8 @@
diff --git a/ch04/04-02.html b/04-02.html
similarity index 97%
rename from ch04/04-02.html
rename to 04-02.html
index be62a09..6846855 100644
--- a/ch04/04-02.html
+++ b/04-02.html
@@ -30,7 +30,7 @@
@@ -119,7 +119,7 @@ LoopTop:
diff --git a/ch04/04-03.html b/04-03.html
similarity index 97%
rename from ch04/04-03.html
rename to 04-03.html
index 4d7575f..c9e9553 100644
--- a/ch04/04-03.html
+++ b/04-03.html
@@ -30,7 +30,7 @@
@@ -113,7 +113,7 @@ shr ax,1
diff --git a/ch04/04-04.html b/04-04.html
similarity index 97%
rename from ch04/04-04.html
rename to 04-04.html
index 3c96022..71e776f 100644
--- a/ch04/04-04.html
+++ b/04-04.html
@@ -30,7 +30,7 @@
@@ -92,7 +92,7 @@
diff --git a/ch04/04-05.html b/04-05.html
similarity index 97%
rename from ch04/04-05.html
rename to 04-05.html
index ce8d95f..a325834 100644
--- a/ch04/04-05.html
+++ b/04-05.html
@@ -30,7 +30,7 @@
@@ -88,7 +88,7 @@
diff --git a/ch04/04-06.html b/04-06.html
similarity index 98%
rename from ch04/04-06.html
rename to 04-06.html
index 5fb0526..84d5fae 100644
--- a/ch04/04-06.html
+++ b/04-06.html
@@ -30,7 +30,7 @@
@@ -60,7 +60,7 @@
diff --git a/ch04/04-07.html b/04-07.html
similarity index 97%
rename from ch04/04-07.html
rename to 04-07.html
index eefa9b7..caa5bb6 100644
--- a/ch04/04-07.html
+++ b/04-07.html
@@ -30,7 +30,7 @@
@@ -87,7 +87,7 @@
diff --git a/ch04/04-08.html b/04-08.html
similarity index 98%
rename from ch04/04-08.html
rename to 04-08.html
index 9fc1854..e4d6b13 100644
--- a/ch04/04-08.html
+++ b/04-08.html
@@ -30,7 +30,7 @@
@@ -66,7 +66,7 @@
diff --git a/ch04/04-09.html b/04-09.html
similarity index 97%
rename from ch04/04-09.html
rename to 04-09.html
index 85ae8f4..6f973ea 100644
--- a/ch04/04-09.html
+++ b/04-09.html
@@ -30,7 +30,7 @@
@@ -108,7 +108,7 @@
diff --git a/ch04/04-10.html b/04-10.html
similarity index 96%
rename from ch04/04-10.html
rename to 04-10.html
index f67b2b8..4895cf5 100644
--- a/ch04/04-10.html
+++ b/04-10.html
@@ -30,8 +30,8 @@
@@ -68,8 +68,8 @@
diff --git a/ch05/05-01.html b/05-01.html
similarity index 96%
rename from ch05/05-01.html
rename to 05-01.html
index a4b04a3..b80b8b0 100644
--- a/ch05/05-01.html
+++ b/05-01.html
@@ -29,8 +29,8 @@
@@ -61,8 +61,8 @@
diff --git a/ch05/05-02.html b/05-02.html
similarity index 97%
rename from ch05/05-02.html
rename to 05-02.html
index a168246..631fd4d 100644
--- a/ch05/05-02.html
+++ b/05-02.html
@@ -30,7 +30,7 @@
@@ -65,7 +65,7 @@
diff --git a/ch05/05-03.html b/05-03.html
similarity index 96%
rename from ch05/05-03.html
rename to 05-03.html
index a410249..9d4554c 100644
--- a/ch05/05-03.html
+++ b/05-03.html
@@ -30,7 +30,7 @@
@@ -211,7 +211,7 @@ main(int argc, char *argv[]) {
diff --git a/ch05/05-04.html b/05-04.html
similarity index 96%
rename from ch05/05-04.html
rename to 05-04.html
index f484152..05fe6bb 100644
--- a/ch05/05-04.html
+++ b/05-04.html
@@ -30,7 +30,7 @@
@@ -53,7 +53,7 @@
diff --git a/ch05/05-05.html b/05-05.html
similarity index 95%
rename from ch05/05-05.html
rename to 05-05.html
index e3abe12..922e790 100644
--- a/ch05/05-05.html
+++ b/05-05.html
@@ -30,8 +30,8 @@
@@ -58,8 +58,8 @@
diff --git a/ch06/06-01.html b/06-01.html
similarity index 96%
rename from ch06/06-01.html
rename to 06-01.html
index 6a93dab..17632b2 100644
--- a/ch06/06-01.html
+++ b/06-01.html
@@ -29,8 +29,8 @@
@@ -78,8 +78,8 @@ mov al,[bx+si]
diff --git a/ch06/06-02.html b/06-02.html
similarity index 96%
rename from ch06/06-02.html
rename to 06-02.html
index d8103e4..ca561d2 100644
--- a/ch06/06-02.html
+++ b/06-02.html
@@ -30,8 +30,8 @@
@@ -139,8 +139,8 @@ add ebx,edx
diff --git a/ch07/07-01.html b/07-01.html
similarity index 96%
rename from ch07/07-01.html
rename to 07-01.html
index ff20a45..02d49c8 100644
--- a/ch07/07-01.html
+++ b/07-01.html
@@ -29,8 +29,8 @@
@@ -65,8 +65,8 @@
diff --git a/ch07/07-02.html b/07-02.html
similarity index 97%
rename from ch07/07-02.html
rename to 07-02.html
index 241fbd8..c3e0fee 100644
--- a/ch07/07-02.html
+++ b/07-02.html
@@ -30,7 +30,7 @@
@@ -68,7 +68,7 @@ jz SkipLoop ;If field is 0, dont bother
diff --git a/ch07/07-03.html b/07-03.html
similarity index 95%
rename from ch07/07-03.html
rename to 07-03.html
index b3fc0fb..47fdb19 100644
--- a/ch07/07-03.html
+++ b/07-03.html
@@ -30,7 +30,7 @@
@@ -137,7 +137,7 @@ SearchMaxLengthendp
diff --git a/ch07/07-04.html b/07-04.html
similarity index 96%
rename from ch07/07-04.html
rename to 07-04.html
index c0aa1eb..33a59fb 100644
--- a/ch07/07-04.html
+++ b/07-04.html
@@ -30,7 +30,7 @@
@@ -177,7 +177,7 @@ SearchMaxLengthendp
diff --git a/ch07/07-05.html b/07-05.html
similarity index 96%
rename from ch07/07-05.html
rename to 07-05.html
index b0543ed..ff45267 100644
--- a/ch07/07-05.html
+++ b/07-05.html
@@ -30,8 +30,8 @@
@@ -145,8 +145,8 @@ ADC DX,0
diff --git a/ch08/08-01.html b/08-01.html
similarity index 96%
rename from ch08/08-01.html
rename to 08-01.html
index 63ae8ee..ac6e17d 100644
--- a/ch08/08-01.html
+++ b/08-01.html
@@ -29,8 +29,8 @@
@@ -62,8 +62,8 @@
diff --git a/ch08/08-02.html b/08-02.html
similarity index 97%
rename from ch08/08-02.html
rename to 08-02.html
index baae009..523c98b 100644
--- a/ch08/08-02.html
+++ b/08-02.html
@@ -30,7 +30,7 @@
@@ -92,7 +92,7 @@ jz Match
diff --git a/ch08/08-03.html b/08-03.html
similarity index 96%
rename from ch08/08-03.html
rename to 08-03.html
index 2d8be8a..3a7ecd7 100644
--- a/ch08/08-03.html
+++ b/08-03.html
@@ -30,7 +30,7 @@
@@ -204,7 +204,7 @@ $FB264:
diff --git a/ch08/08-04.html b/08-04.html
similarity index 96%
rename from ch08/08-04.html
rename to 08-04.html
index beeb63a..4c15803 100644
--- a/ch08/08-04.html
+++ b/08-04.html
@@ -30,7 +30,7 @@
@@ -250,7 +250,7 @@ _FindIDAverage ENDP
diff --git a/ch08/08-05.html b/08-05.html
similarity index 95%
rename from ch08/08-05.html
rename to 08-05.html
index 4e12541..ff73c0e 100644
--- a/ch08/08-05.html
+++ b/08-05.html
@@ -30,8 +30,8 @@
@@ -197,8 +197,8 @@ _FindIDAverage2 ENDP
diff --git a/ch09/09-01.html b/09-01.html
similarity index 96%
rename from ch09/09-01.html
rename to 09-01.html
index b196b31..713ec72 100644
--- a/ch09/09-01.html
+++ b/09-01.html
@@ -29,8 +29,8 @@
@@ -140,8 +140,8 @@ CopyDone:
diff --git a/ch09/09-02.html b/09-02.html
similarity index 97%
rename from ch09/09-02.html
rename to 09-02.html
index 2c9a02e..2bf87d7 100644
--- a/ch09/09-02.html
+++ b/09-02.html
@@ -30,7 +30,7 @@
@@ -101,7 +101,7 @@ ADD AX,BX ;*80
diff --git a/ch09/09-03.html b/09-03.html
similarity index 96%
rename from ch09/09-03.html
rename to 09-03.html
index 3c86a16..7573fc6 100644
--- a/ch09/09-03.html
+++ b/09-03.html
@@ -30,7 +30,7 @@
@@ -144,7 +144,7 @@ _FindStringendp
diff --git a/ch09/09-04.html b/09-04.html
similarity index 96%
rename from ch09/09-04.html
rename to 09-04.html
index 76e158a..8cf2173 100644
--- a/ch09/09-04.html
+++ b/09-04.html
@@ -30,7 +30,7 @@
@@ -179,7 +179,7 @@ void main() {
diff --git a/ch09/09-05.html b/09-05.html
similarity index 97%
rename from ch09/09-05.html
rename to 09-05.html
index d3e0518..ba46df0 100644
--- a/ch09/09-05.html
+++ b/09-05.html
@@ -30,7 +30,7 @@
@@ -90,7 +90,7 @@ _sort: pop dx ;get return address (entry point)
diff --git a/ch09/09-06.html b/09-06.html
similarity index 96%
rename from ch09/09-06.html
rename to 09-06.html
index c1f842f..ef93281 100644
--- a/ch09/09-06.html
+++ b/09-06.html
@@ -30,7 +30,7 @@
@@ -140,7 +140,7 @@ main() {
diff --git a/ch09/09-07.html b/09-07.html
similarity index 96%
rename from ch09/09-07.html
rename to 09-07.html
index 3af62c3..3f8e023 100644
--- a/ch09/09-07.html
+++ b/09-07.html
@@ -30,8 +30,8 @@
@@ -117,8 +117,8 @@ move bx,-1
diff --git a/ch10/10-01.html b/10-01.html
similarity index 96%
rename from ch10/10-01.html
rename to 10-01.html
index c7c2289..7fb4e21 100644
--- a/ch10/10-01.html
+++ b/10-01.html
@@ -29,8 +29,8 @@
@@ -60,8 +60,8 @@
diff --git a/ch10/10-02.html b/10-02.html
similarity index 96%
rename from ch10/10-02.html
rename to 10-02.html
index feb7f7d..0101de2 100644
--- a/ch10/10-02.html
+++ b/10-02.html
@@ -30,7 +30,7 @@
@@ -178,7 +178,7 @@ unsigned int gcd(unsigned int int1, unsigned int int2) {
diff --git a/ch10/10-03.html b/10-03.html
similarity index 97%
rename from ch10/10-03.html
rename to 10-03.html
index b264105..a074fd6 100644
--- a/ch10/10-03.html
+++ b/10-03.html
@@ -30,7 +30,7 @@
@@ -144,7 +144,7 @@ unsigned int gcd(unsigned int int1, unsigned int int2) {
diff --git a/ch10/10-04.html b/10-04.html
similarity index 95%
rename from ch10/10-04.html
rename to 10-04.html
index 47afda5..51afa7e 100644
--- a/ch10/10-04.html
+++ b/10-04.html
@@ -30,8 +30,8 @@
@@ -139,8 +139,8 @@ _gcd endp
diff --git a/ch11/11-01.html b/11-01.html
similarity index 96%
rename from ch11/11-01.html
rename to 11-01.html
index d9be9e2..59c791e 100644
--- a/ch11/11-01.html
+++ b/11-01.html
@@ -29,8 +29,8 @@
@@ -76,8 +76,8 @@ mov dx,word ptr [LongVar+2]
diff --git a/ch11/11-02.html b/11-02.html
similarity index 97%
rename from ch11/11-02.html
rename to 11-02.html
index 6f744bf..08d0356 100644
--- a/ch11/11-02.html
+++ b/11-02.html
@@ -30,7 +30,7 @@
@@ -82,7 +82,7 @@ Skip:
diff --git a/ch11/11-03.html b/11-03.html
similarity index 97%
rename from ch11/11-03.html
rename to 11-03.html
index 5fa838a..731feca 100644
--- a/ch11/11-03.html
+++ b/11-03.html
@@ -30,7 +30,7 @@
@@ -123,7 +123,7 @@ Skip:
diff --git a/ch11/11-04.html b/11-04.html
similarity index 97%
rename from ch11/11-04.html
rename to 11-04.html
index 94e5e8c..63589aa 100644
--- a/ch11/11-04.html
+++ b/11-04.html
@@ -30,7 +30,7 @@
@@ -104,7 +104,7 @@ FindChar proc near
diff --git a/ch11/11-05.html b/11-05.html
similarity index 98%
rename from ch11/11-05.html
rename to 11-05.html
index 9374ee9..1adca75 100644
--- a/ch11/11-05.html
+++ b/11-05.html
@@ -30,7 +30,7 @@
@@ -63,7 +63,7 @@
diff --git a/ch11/11-06.html b/11-06.html
similarity index 97%
rename from ch11/11-06.html
rename to 11-06.html
index 118a938..5ea8201 100644
--- a/ch11/11-06.html
+++ b/11-06.html
@@ -30,7 +30,7 @@
@@ -74,7 +74,7 @@
diff --git a/ch11/11-07.html b/11-07.html
similarity index 97%
rename from ch11/11-07.html
rename to 11-07.html
index 1ea5b15..7c26619 100644
--- a/ch11/11-07.html
+++ b/11-07.html
@@ -30,7 +30,7 @@
@@ -74,7 +74,7 @@ Skip:
diff --git a/ch11/11-08.html b/11-08.html
similarity index 95%
rename from ch11/11-08.html
rename to 11-08.html
index 90b3451..64f1d5f 100644
--- a/ch11/11-08.html
+++ b/11-08.html
@@ -30,8 +30,8 @@
@@ -113,8 +113,8 @@ EMULATE_POPFmacro
diff --git a/ch12/12-01.html b/12-01.html
similarity index 96%
rename from ch12/12-01.html
rename to 12-01.html
index c67fdf3..a760451 100644
--- a/ch12/12-01.html
+++ b/12-01.html
@@ -29,8 +29,8 @@
@@ -89,8 +89,8 @@ LoopTop:
diff --git a/ch12/12-02.html b/12-02.html
similarity index 97%
rename from ch12/12-02.html
rename to 12-02.html
index bfdf687..0f577b0 100644
--- a/ch12/12-02.html
+++ b/12-02.html
@@ -30,7 +30,7 @@
@@ -130,7 +130,7 @@ jnz LoopTop
diff --git a/ch12/12-03.html b/12-03.html
similarity index 97%
rename from ch12/12-03.html
rename to 12-03.html
index 9b4eacc..ffca8db 100644
--- a/ch12/12-03.html
+++ b/12-03.html
@@ -30,7 +30,7 @@
@@ -125,7 +125,7 @@ xlat
diff --git a/ch12/12-04.html b/12-04.html
similarity index 96%
rename from ch12/12-04.html
rename to 12-04.html
index 6e3cb21..f504c8f 100644
--- a/ch12/12-04.html
+++ b/12-04.html
@@ -30,8 +30,8 @@
@@ -136,8 +136,8 @@ Done:
diff --git a/ch13/13-01.html b/13-01.html
similarity index 96%
rename from ch13/13-01.html
rename to 13-01.html
index b53bb70..68b08d8 100644
--- a/ch13/13-01.html
+++ b/13-01.html
@@ -29,8 +29,8 @@
@@ -77,8 +77,8 @@ add dx,[bx+8000h] ;increment word and line count
diff --git a/ch13/13-02.html b/13-02.html
similarity index 97%
rename from ch13/13-02.html
rename to 13-02.html
index bca2aa8..55de497 100644
--- a/ch13/13-02.html
+++ b/13-02.html
@@ -30,7 +30,7 @@
@@ -94,7 +94,7 @@ looptop:
diff --git a/ch13/13-03.html b/13-03.html
similarity index 96%
rename from ch13/13-03.html
rename to 13-03.html
index 6d21769..2d1cfbf 100644
--- a/ch13/13-03.html
+++ b/13-03.html
@@ -30,7 +30,7 @@
@@ -90,7 +90,7 @@ mov dx,ax
diff --git a/ch13/13-04.html b/13-04.html
similarity index 96%
rename from ch13/13-04.html
rename to 13-04.html
index 0f1605a..124ee83 100644
--- a/ch13/13-04.html
+++ b/13-04.html
@@ -30,8 +30,8 @@
@@ -81,8 +81,8 @@ LoopTop:
diff --git a/ch14/14-01.html b/14-01.html
similarity index 96%
rename from ch14/14-01.html
rename to 14-01.html
index 4a988c4..9c24503 100644
--- a/ch14/14-01.html
+++ b/14-01.html
@@ -29,8 +29,8 @@
@@ -61,8 +61,8 @@
diff --git a/ch14/14-02.html b/14-02.html
similarity index 97%
rename from ch14/14-02.html
rename to 14-02.html
index 4fe1ea9..7d3578b 100644
--- a/ch14/14-02.html
+++ b/14-02.html
@@ -30,7 +30,7 @@
@@ -65,7 +65,7 @@
diff --git a/ch14/14-03.html b/14-03.html
similarity index 95%
rename from ch14/14-03.html
rename to 14-03.html
index 55abbd5..49f791f 100644
--- a/ch14/14-03.html
+++ b/14-03.html
@@ -30,7 +30,7 @@
@@ -119,7 +119,7 @@
diff --git a/ch14/14-04.html b/14-04.html
similarity index 96%
rename from ch14/14-04.html
rename to 14-04.html
index 794c74c..5523aab 100644
--- a/ch14/14-04.html
+++ b/14-04.html
@@ -30,7 +30,7 @@
@@ -190,7 +190,7 @@ void main() {
diff --git a/ch14/14-05.html b/14-05.html
similarity index 96%
rename from ch14/14-05.html
rename to 14-05.html
index 2e8cdaf..3ee480d 100644
--- a/ch14/14-05.html
+++ b/14-05.html
@@ -30,7 +30,7 @@
@@ -206,7 +206,7 @@ _FindString endp
diff --git a/ch14/14-06.html b/14-06.html
similarity index 96%
rename from ch14/14-06.html
rename to 14-06.html
index 6d351b5..9f9c02e 100644
--- a/ch14/14-06.html
+++ b/14-06.html
@@ -30,8 +30,8 @@
@@ -200,8 +200,8 @@ _FindString endp
diff --git a/ch15/15-01.html b/15-01.html
similarity index 97%
rename from ch15/15-01.html
rename to 15-01.html
index d2a5920..7f67bdf 100644
--- a/ch15/15-01.html
+++ b/15-01.html
@@ -29,8 +29,8 @@
@@ -63,8 +63,8 @@
diff --git a/ch15/15-02.html b/15-02.html
similarity index 97%
rename from ch15/15-02.html
rename to 15-02.html
index 5934411..3014016 100644
--- a/ch15/15-02.html
+++ b/15-02.html
@@ -30,7 +30,7 @@
@@ -145,7 +145,7 @@ struct LinkNode *FindNodeBeforeValueNotLess(
diff --git a/ch15/15-03.html b/15-03.html
similarity index 96%
rename from ch15/15-03.html
rename to 15-03.html
index e91090b..7debdaf 100644
--- a/ch15/15-03.html
+++ b/15-03.html
@@ -30,7 +30,7 @@
@@ -150,7 +150,7 @@ struct LinkNode *InsertNodeSorted(struct LinkNode *HeadOfListNode,
diff --git a/ch15/15-04.html b/15-04.html
similarity index 95%
rename from ch15/15-04.html
rename to 15-04.html
index a93d39b..f9a3461 100644
--- a/ch15/15-04.html
+++ b/15-04.html
@@ -30,8 +30,8 @@
@@ -229,8 +229,8 @@ around: ja save
diff --git a/ch16/16-01.html b/16-01.html
similarity index 95%
rename from ch16/16-01.html
rename to 16-01.html
index 6ea076a..74189b7 100644
--- a/ch16/16-01.html
+++ b/16-01.html
@@ -29,8 +29,8 @@
@@ -162,8 +162,8 @@
diff --git a/ch16/16-02.html b/16-02.html
similarity index 96%
rename from ch16/16-02.html
rename to 16-02.html
index a7a08dc..9453f11 100644
--- a/ch16/16-02.html
+++ b/16-02.html
@@ -30,7 +30,7 @@
@@ -192,7 +192,7 @@
diff --git a/ch16/16-03.html b/16-03.html
similarity index 97%
rename from ch16/16-03.html
rename to 16-03.html
index ccfe617..779b3ac 100644
--- a/ch16/16-03.html
+++ b/16-03.html
@@ -30,7 +30,7 @@
@@ -145,7 +145,7 @@
diff --git a/ch16/16-04.html b/16-04.html
similarity index 98%
rename from ch16/16-04.html
rename to 16-04.html
index 3ae58ff..925c643 100644
--- a/ch16/16-04.html
+++ b/16-04.html
@@ -30,7 +30,7 @@
@@ -67,7 +67,7 @@
diff --git a/ch16/16-05.html b/16-05.html
similarity index 96%
rename from ch16/16-05.html
rename to 16-05.html
index 35804fd..81caccb 100644
--- a/ch16/16-05.html
+++ b/16-05.html
@@ -30,7 +30,7 @@
@@ -284,7 +284,7 @@ jumping.
diff --git a/ch16/16-06.html b/16-06.html
similarity index 97%
rename from ch16/16-06.html
rename to 16-06.html
index ca6f326..1d1017c 100644
--- a/ch16/16-06.html
+++ b/16-06.html
@@ -30,7 +30,7 @@
@@ -53,7 +53,7 @@
diff --git a/ch16/16-07.html b/16-07.html
similarity index 97%
rename from ch16/16-07.html
rename to 16-07.html
index 21f6db5..6e173f9 100644
--- a/ch16/16-07.html
+++ b/16-07.html
@@ -30,7 +30,7 @@
@@ -157,7 +157,7 @@
diff --git a/ch16/16-08.html b/16-08.html
similarity index 96%
rename from ch16/16-08.html
rename to 16-08.html
index 0488118..0f07652 100644
--- a/ch16/16-08.html
+++ b/16-08.html
@@ -30,8 +30,8 @@
@@ -122,8 +122,8 @@
diff --git a/ch17/17-01.html b/17-01.html
similarity index 95%
rename from ch17/17-01.html
rename to 17-01.html
index e810f25..0b67ae8 100644
--- a/ch17/17-01.html
+++ b/17-01.html
@@ -29,8 +29,8 @@
@@ -57,8 +57,8 @@
diff --git a/ch17/17-02.html b/17-02.html
similarity index 95%
rename from ch17/17-02.html
rename to 17-02.html
index 2eb76bf..1e4b4de 100644
--- a/ch17/17-02.html
+++ b/17-02.html
@@ -30,7 +30,7 @@
@@ -301,7 +301,7 @@ void show_text(int x, int y, char *text)
diff --git a/ch17/17-03.html b/17-03.html
similarity index 97%
rename from ch17/17-03.html
rename to 17-03.html
index 5836337..d2f0bbf 100644
--- a/ch17/17-03.html
+++ b/17-03.html
@@ -30,7 +30,7 @@
@@ -108,7 +108,7 @@
diff --git a/ch17/17-04.html b/17-04.html
similarity index 96%
rename from ch17/17-04.html
rename to 17-04.html
index d130b60..b35b951 100644
--- a/ch17/17-04.html
+++ b/17-04.html
@@ -30,7 +30,7 @@
@@ -218,7 +218,7 @@ void cellmap::next_generation(cellmap& next_map)
diff --git a/ch17/17-05.html b/17-05.html
similarity index 97%
rename from ch17/17-05.html
rename to 17-05.html
index 9d4d444..7c1431a 100644
--- a/ch17/17-05.html
+++ b/17-05.html
@@ -30,7 +30,7 @@
@@ -137,7 +137,7 @@ neighbor_count++;
diff --git a/ch17/17-06.html b/17-06.html
similarity index 97%
rename from ch17/17-06.html
rename to 17-06.html
index ab5163e..a9831be 100644
--- a/ch17/17-06.html
+++ b/17-06.html
@@ -30,7 +30,7 @@
@@ -68,7 +68,7 @@
diff --git a/ch17/17-07.html b/17-07.html
similarity index 95%
rename from ch17/17-07.html
rename to 17-07.html
index a14ebba..78518ca 100644
--- a/ch17/17-07.html
+++ b/17-07.html
@@ -30,7 +30,7 @@
@@ -319,7 +319,7 @@ void cellmap::init()
diff --git a/ch17/17-08.html b/17-08.html
similarity index 95%
rename from ch17/17-08.html
rename to 17-08.html
index 22f4917..32616b6 100644
--- a/ch17/17-08.html
+++ b/17-08.html
@@ -30,8 +30,8 @@
@@ -61,8 +61,8 @@
diff --git a/ch18/18-01.html b/18-01.html
similarity index 96%
rename from ch18/18-01.html
rename to 18-01.html
index 85274e7..216275c 100644
--- a/ch18/18-01.html
+++ b/18-01.html
@@ -29,8 +29,8 @@
@@ -55,8 +55,8 @@
diff --git a/ch18/18-02.html b/18-02.html
similarity index 96%
rename from ch18/18-02.html
rename to 18-02.html
index 035996c..50ee801 100644
--- a/ch18/18-02.html
+++ b/18-02.html
@@ -30,7 +30,7 @@
@@ -75,7 +75,7 @@
diff --git a/ch18/18-03.html b/18-03.html
similarity index 96%
rename from ch18/18-03.html
rename to 18-03.html
index 5426248..0e61293 100644
--- a/ch18/18-03.html
+++ b/18-03.html
@@ -30,7 +30,7 @@
@@ -548,7 +548,7 @@ void main( void )
diff --git a/ch18/18-04.html b/18-04.html
similarity index 96%
rename from ch18/18-04.html
rename to 18-04.html
index 0c33dc9..e586f12 100644
--- a/ch18/18-04.html
+++ b/18-04.html
@@ -30,7 +30,7 @@
@@ -206,7 +206,7 @@ extern unsigned short far ChangeList1[];
diff --git a/ch18/18-05.html b/18-05.html
similarity index 96%
rename from ch18/18-05.html
rename to 18-05.html
index 6443323..fdd860d 100644
--- a/ch18/18-05.html
+++ b/18-05.html
@@ -30,8 +30,8 @@
@@ -72,8 +72,8 @@ jmp dx
diff --git a/ch19/19-01.html b/19-01.html
similarity index 96%
rename from ch19/19-01.html
rename to 19-01.html
index d38404e..1c41bb7 100644
--- a/ch19/19-01.html
+++ b/19-01.html
@@ -29,8 +29,8 @@
@@ -57,8 +57,8 @@
diff --git a/ch19/19-02.html b/19-02.html
similarity index 97%
rename from ch19/19-02.html
rename to 19-02.html
index c2731d0..cd020cd 100644
--- a/ch19/19-02.html
+++ b/19-02.html
@@ -30,7 +30,7 @@
@@ -80,7 +80,7 @@ add edx,4 ;V-pipe cycle 2
diff --git a/ch19/19-03.html b/19-03.html
similarity index 97%
rename from ch19/19-03.html
rename to 19-03.html
index a4a865d..1567a68 100644
--- a/ch19/19-03.html
+++ b/19-03.html
@@ -30,7 +30,7 @@
@@ -59,7 +59,7 @@ mov eax,[ebx]
diff --git a/ch19/19-04.html b/19-04.html
similarity index 96%
rename from ch19/19-04.html
rename to 19-04.html
index 2a91bbf..4ccc75c 100644
--- a/ch19/19-04.html
+++ b/19-04.html
@@ -30,8 +30,8 @@
@@ -60,8 +60,8 @@
diff --git a/ch20/20-01.html b/20-01.html
similarity index 97%
rename from ch20/20-01.html
rename to 20-01.html
index 79f1d59..03bebe9 100644
--- a/ch20/20-01.html
+++ b/20-01.html
@@ -29,8 +29,8 @@
@@ -61,8 +61,8 @@
diff --git a/ch20/20-02.html b/20-02.html
similarity index 97%
rename from ch20/20-02.html
rename to 20-02.html
index 2f08410..c2f8bc4 100644
--- a/ch20/20-02.html
+++ b/20-02.html
@@ -30,7 +30,7 @@
@@ -170,7 +170,7 @@ mov [MemVar],edx
diff --git a/ch20/20-03.html b/20-03.html
similarity index 97%
rename from ch20/20-03.html
rename to 20-03.html
index cf9b4db..aeb7e26 100644
--- a/ch20/20-03.html
+++ b/20-03.html
@@ -30,7 +30,7 @@
@@ -89,7 +89,7 @@ add edi,[DestinationSkip] ;V-pipe cycles 1 and 2
diff --git a/ch20/20-04.html b/20-04.html
similarity index 96%
rename from ch20/20-04.html
rename to 20-04.html
index ff8ad4c..d520d58 100644
--- a/ch20/20-04.html
+++ b/20-04.html
@@ -30,8 +30,8 @@
@@ -80,8 +80,8 @@ mov [ebx],dl
diff --git a/ch21/21-01.html b/21-01.html
similarity index 96%
rename from ch21/21-01.html
rename to 21-01.html
index 147c1cb..bf66de8 100644
--- a/ch21/21-01.html
+++ b/21-01.html
@@ -29,8 +29,8 @@
@@ -78,8 +78,8 @@ mov edx,[ebp-8] ;V-pipe cycle 3 lockstep idle
diff --git a/ch21/21-02.html b/21-02.html
similarity index 96%
rename from ch21/21-02.html
rename to 21-02.html
index e42a682..bcbacfb 100644
--- a/ch21/21-02.html
+++ b/21-02.html
@@ -30,7 +30,7 @@
@@ -161,7 +161,7 @@ LoopTop:
diff --git a/ch21/21-03.html b/21-03.html
similarity index 96%
rename from ch21/21-03.html
rename to 21-03.html
index cf13c09..27d7609 100644
--- a/ch21/21-03.html
+++ b/21-03.html
@@ -30,7 +30,7 @@
@@ -79,7 +79,7 @@ ckloop:
diff --git a/ch21/21-04.html b/21-04.html
similarity index 97%
rename from ch21/21-04.html
rename to 21-04.html
index e28ec2a..086de8b 100644
--- a/ch21/21-04.html
+++ b/21-04.html
@@ -30,7 +30,7 @@
@@ -128,7 +128,7 @@ ckloopdone:
diff --git a/ch21/21-05.html b/21-05.html
similarity index 95%
rename from ch21/21-05.html
rename to 21-05.html
index e6b42ec..f390a0e 100644
--- a/ch21/21-05.html
+++ b/21-05.html
@@ -30,8 +30,8 @@
@@ -128,8 +128,8 @@ ckloopdone:
diff --git a/ch22/22-01.html b/22-01.html
similarity index 95%
rename from ch22/22-01.html
rename to 22-01.html
index ac6bb0e..b4220f8 100644
--- a/ch22/22-01.html
+++ b/22-01.html
@@ -29,8 +29,8 @@
@@ -90,8 +90,8 @@ ClearS endp
diff --git a/ch22/22-02.html b/22-02.html
similarity index 96%
rename from ch22/22-02.html
rename to 22-02.html
index 2032c66..d5e742c 100644
--- a/ch22/22-02.html
+++ b/22-02.html
@@ -30,7 +30,7 @@
@@ -128,7 +128,7 @@ ClearS endp
diff --git a/ch22/22-03.html b/22-03.html
similarity index 95%
rename from ch22/22-03.html
rename to 22-03.html
index a4f012b..022496c 100644
--- a/ch22/22-03.html
+++ b/22-03.html
@@ -30,8 +30,8 @@
@@ -117,8 +117,8 @@ ClearS endp
diff --git a/ch23/23-01.html b/23-01.html
similarity index 96%
rename from ch23/23-01.html
rename to 23-01.html
index 61a76f5..2397ef1 100644
--- a/ch23/23-01.html
+++ b/23-01.html
@@ -29,8 +29,8 @@
@@ -59,8 +59,8 @@
diff --git a/ch23/23-02.html b/23-02.html
similarity index 97%
rename from ch23/23-02.html
rename to 23-02.html
index c4324ab..b4f5cfd 100644
--- a/ch23/23-02.html
+++ b/23-02.html
@@ -30,7 +30,7 @@
@@ -145,7 +145,7 @@
diff --git a/ch23/23-03.html b/23-03.html
similarity index 97%
rename from ch23/23-03.html
rename to 23-03.html
index 7a76c2a..4884c88 100644
--- a/ch23/23-03.html
+++ b/23-03.html
@@ -30,7 +30,7 @@
@@ -613,7 +613,7 @@ cseg ends
diff --git a/ch23/23-04.html b/23-04.html
similarity index 97%
rename from ch23/23-04.html
rename to 23-04.html
index 7dda5c1..4a5aea0 100644
--- a/ch23/23-04.html
+++ b/23-04.html
@@ -30,7 +30,7 @@
@@ -56,7 +56,7 @@
diff --git a/ch23/23-05.html b/23-05.html
similarity index 97%
rename from ch23/23-05.html
rename to 23-05.html
index bcd8f28..fe8df7e 100644
--- a/ch23/23-05.html
+++ b/23-05.html
@@ -30,7 +30,7 @@
@@ -58,7 +58,7 @@
diff --git a/ch23/23-06.html b/23-06.html
similarity index 96%
rename from ch23/23-06.html
rename to 23-06.html
index 9b5f940..8efdca2 100644
--- a/ch23/23-06.html
+++ b/23-06.html
@@ -30,8 +30,8 @@
@@ -59,8 +59,8 @@
diff --git a/ch24/24-01.html b/24-01.html
similarity index 96%
rename from ch24/24-01.html
rename to 24-01.html
index da0e1aa..cf5b0c8 100644
--- a/ch24/24-01.html
+++ b/24-01.html
@@ -29,8 +29,8 @@
@@ -58,8 +58,8 @@
diff --git a/ch24/24-02.html b/24-02.html
similarity index 96%
rename from ch24/24-02.html
rename to 24-02.html
index 94f74cb..8334654 100644
--- a/ch24/24-02.html
+++ b/24-02.html
@@ -30,7 +30,7 @@
@@ -298,7 +298,7 @@ cseg ends
diff --git a/ch24/24-03.html b/24-03.html
similarity index 96%
rename from ch24/24-03.html
rename to 24-03.html
index 3985609..51be3c4 100644
--- a/ch24/24-03.html
+++ b/24-03.html
@@ -30,8 +30,8 @@
@@ -67,8 +67,8 @@ MOV DX,(VALUE2 SHL 8) OR VALUE1
diff --git a/ch25/25-01.html b/25-01.html
similarity index 96%
rename from ch25/25-01.html
rename to 25-01.html
index 944004b..f96ebd0 100644
--- a/ch25/25-01.html
+++ b/25-01.html
@@ -29,8 +29,8 @@
@@ -62,8 +62,8 @@
diff --git a/ch25/25-02.html b/25-02.html
similarity index 95%
rename from ch25/25-02.html
rename to 25-02.html
index 5625db4..4f89445 100644
--- a/ch25/25-02.html
+++ b/25-02.html
@@ -30,7 +30,7 @@
@@ -278,7 +278,7 @@ cseg ends
diff --git a/ch25/25-03.html b/25-03.html
similarity index 97%
rename from ch25/25-03.html
rename to 25-03.html
index 0220bad..d9a3838 100644
--- a/ch25/25-03.html
+++ b/25-03.html
@@ -30,7 +30,7 @@
@@ -56,7 +56,7 @@
diff --git a/ch25/25-04.html b/25-04.html
similarity index 95%
rename from ch25/25-04.html
rename to 25-04.html
index d196b96..3a37aa9 100644
--- a/ch25/25-04.html
+++ b/25-04.html
@@ -30,7 +30,7 @@
@@ -132,7 +132,7 @@ cseg ends
diff --git a/ch25/25-05.html b/25-05.html
similarity index 95%
rename from ch25/25-05.html
rename to 25-05.html
index 0b47a11..654dbda 100644
--- a/ch25/25-05.html
+++ b/25-05.html
@@ -30,7 +30,7 @@
@@ -271,7 +271,7 @@ cseg ends
diff --git a/ch25/25-06.html b/25-06.html
similarity index 94%
rename from ch25/25-06.html
rename to 25-06.html
index bc169c4..db8d08d 100644
--- a/ch25/25-06.html
+++ b/25-06.html
@@ -30,8 +30,8 @@
@@ -49,8 +49,8 @@
diff --git a/ch26/26-01.html b/26-01.html
similarity index 95%
rename from ch26/26-01.html
rename to 26-01.html
index 69585ad..41b27dc 100644
--- a/ch26/26-01.html
+++ b/26-01.html
@@ -29,8 +29,8 @@
@@ -50,8 +50,8 @@
diff --git a/ch26/26-02.html b/26-02.html
similarity index 95%
rename from ch26/26-02.html
rename to 26-02.html
index 5012434..0f0bbac 100644
--- a/ch26/26-02.html
+++ b/26-02.html
@@ -30,7 +30,7 @@
@@ -339,7 +339,7 @@ cseg ends
diff --git a/ch26/26-03.html b/26-03.html
similarity index 96%
rename from ch26/26-03.html
rename to 26-03.html
index 69d7286..26f1229 100644
--- a/ch26/26-03.html
+++ b/26-03.html
@@ -30,8 +30,8 @@
@@ -379,8 +379,8 @@ cseg ends
diff --git a/ch27/27-01.html b/27-01.html
similarity index 96%
rename from ch27/27-01.html
rename to 27-01.html
index 188274e..09e59a1 100644
--- a/ch27/27-01.html
+++ b/27-01.html
@@ -29,8 +29,8 @@
@@ -64,8 +64,8 @@
diff --git a/ch27/27-02.html b/27-02.html
similarity index 96%
rename from ch27/27-02.html
rename to 27-02.html
index 784ca10..7e5d645 100644
--- a/ch27/27-02.html
+++ b/27-02.html
@@ -30,7 +30,7 @@
@@ -269,7 +269,7 @@ Code ends
diff --git a/ch27/27-03.html b/27-03.html
similarity index 96%
rename from ch27/27-03.html
rename to 27-03.html
index ba90e2d..295cb17 100644
--- a/ch27/27-03.html
+++ b/27-03.html
@@ -30,7 +30,7 @@
@@ -379,7 +379,7 @@ Code ends
diff --git a/ch27/27-04.html b/27-04.html
similarity index 97%
rename from ch27/27-04.html
rename to 27-04.html
index 3c286d0..6a7b03e 100644
--- a/ch27/27-04.html
+++ b/27-04.html
@@ -30,7 +30,7 @@
@@ -59,7 +59,7 @@
diff --git a/ch27/27-05.html b/27-05.html
similarity index 95%
rename from ch27/27-05.html
rename to 27-05.html
index 0c43e38..ea072b8 100644
--- a/ch27/27-05.html
+++ b/27-05.html
@@ -30,8 +30,8 @@
@@ -241,8 +241,8 @@ Code ends
diff --git a/ch28/28-01.html b/28-01.html
similarity index 94%
rename from ch28/28-01.html
rename to 28-01.html
index 1d56c29..d14abc8 100644
--- a/ch28/28-01.html
+++ b/28-01.html
@@ -29,8 +29,8 @@
@@ -52,8 +52,8 @@
diff --git a/ch28/28-02.html b/28-02.html
similarity index 95%
rename from ch28/28-02.html
rename to 28-02.html
index ccd70e6..77892ac 100644
--- a/ch28/28-02.html
+++ b/28-02.html
@@ -30,7 +30,7 @@
@@ -281,7 +281,7 @@ code ends
diff --git a/ch28/28-03.html b/28-03.html
similarity index 96%
rename from ch28/28-03.html
rename to 28-03.html
index fdce6a7..622868d 100644
--- a/ch28/28-03.html
+++ b/28-03.html
@@ -30,7 +30,7 @@
@@ -50,7 +50,7 @@
diff --git a/ch28/28-04.html b/28-04.html
similarity index 96%
rename from ch28/28-04.html
rename to 28-04.html
index 394c02a..dd90161 100644
--- a/ch28/28-04.html
+++ b/28-04.html
@@ -30,7 +30,7 @@
@@ -214,7 +214,7 @@ end Start
diff --git a/ch28/28-05.html b/28-05.html
similarity index 94%
rename from ch28/28-05.html
rename to 28-05.html
index 06a4531..38991f6 100644
--- a/ch28/28-05.html
+++ b/28-05.html
@@ -30,8 +30,8 @@
@@ -154,8 +154,8 @@ code ends
diff --git a/ch29/29-01.html b/29-01.html
similarity index 96%
rename from ch29/29-01.html
rename to 29-01.html
index 5c4f0d9..06d618e 100644
--- a/ch29/29-01.html
+++ b/29-01.html
@@ -29,8 +29,8 @@
@@ -190,8 +190,8 @@ Code ends
diff --git a/ch29/29-02.html b/29-02.html
similarity index 96%
rename from ch29/29-02.html
rename to 29-02.html
index e6af0db..407bfcc 100644
--- a/ch29/29-02.html
+++ b/29-02.html
@@ -30,7 +30,7 @@
@@ -161,7 +161,7 @@ Code ends
diff --git a/ch29/29-03.html b/29-03.html
similarity index 97%
rename from ch29/29-03.html
rename to 29-03.html
index a3a8372..17f8025 100644
--- a/ch29/29-03.html
+++ b/29-03.html
@@ -30,7 +30,7 @@
@@ -67,7 +67,7 @@ DISPLAYED_SCREEN_SIZEequ(640/8)*480
diff --git a/ch29/29-04.html b/29-04.html
similarity index 97%
rename from ch29/29-04.html
rename to 29-04.html
index 2372cf6..6da10e6 100644
--- a/ch29/29-04.html
+++ b/29-04.html
@@ -30,7 +30,7 @@
@@ -307,7 +307,7 @@ Code ends
diff --git a/ch29/29-05.html b/29-05.html
similarity index 95%
rename from ch29/29-05.html
rename to 29-05.html
index 66770fb..2d16015 100644
--- a/ch29/29-05.html
+++ b/29-05.html
@@ -30,7 +30,7 @@
@@ -135,7 +135,7 @@ Code ends
diff --git a/ch29/29-06.html b/29-06.html
similarity index 95%
rename from ch29/29-06.html
rename to 29-06.html
index 22bf9e2..a48b86d 100644
--- a/ch29/29-06.html
+++ b/29-06.html
@@ -30,8 +30,8 @@
@@ -63,8 +63,8 @@ out dx,al ;set write mode 1
diff --git a/ch30/30-01.html b/30-01.html
similarity index 96%
rename from ch30/30-01.html
rename to 30-01.html
index 4b6c4cb..7d3a9e0 100644
--- a/ch30/30-01.html
+++ b/30-01.html
@@ -29,8 +29,8 @@
@@ -62,8 +62,8 @@
diff --git a/ch30/30-02.html b/30-02.html
similarity index 96%
rename from ch30/30-02.html
rename to 30-02.html
index fd63636..9ad06bf 100644
--- a/ch30/30-02.html
+++ b/30-02.html
@@ -30,7 +30,7 @@
@@ -420,7 +420,7 @@ Code ends
diff --git a/ch30/30-03.html b/30-03.html
similarity index 97%
rename from ch30/30-03.html
rename to 30-03.html
index fbdce24..049b136 100644
--- a/ch30/30-03.html
+++ b/30-03.html
@@ -30,7 +30,7 @@
@@ -62,7 +62,7 @@
diff --git a/ch30/30-04.html b/30-04.html
similarity index 96%
rename from ch30/30-04.html
rename to 30-04.html
index 459efc6..d5eb6e8 100644
--- a/ch30/30-04.html
+++ b/30-04.html
@@ -30,7 +30,7 @@
@@ -52,7 +52,7 @@
diff --git a/ch30/30-05.html b/30-05.html
similarity index 96%
rename from ch30/30-05.html
rename to 30-05.html
index 0e13749..a6fd3ae 100644
--- a/ch30/30-05.html
+++ b/30-05.html
@@ -30,7 +30,7 @@
@@ -464,7 +464,7 @@ endStart
diff --git a/ch30/30-06.html b/30-06.html
similarity index 97%
rename from ch30/30-06.html
rename to 30-06.html
index 88544e0..4d540de 100644
--- a/ch30/30-06.html
+++ b/30-06.html
@@ -30,7 +30,7 @@
@@ -52,7 +52,7 @@
diff --git a/ch30/30-07.html b/30-07.html
similarity index 94%
rename from ch30/30-07.html
rename to 30-07.html
index 1d18a70..cee4028 100644
--- a/ch30/30-07.html
+++ b/30-07.html
@@ -30,8 +30,8 @@
@@ -49,8 +49,8 @@
diff --git a/ch31/31-01.html b/31-01.html
similarity index 96%
rename from ch31/31-01.html
rename to 31-01.html
index 7dc278f..4502c95 100644
--- a/ch31/31-01.html
+++ b/31-01.html
@@ -29,8 +29,8 @@
@@ -60,8 +60,8 @@
diff --git a/ch31/31-02.html b/31-02.html
similarity index 96%
rename from ch31/31-02.html
rename to 31-02.html
index 112d6a7..fdc984f 100644
--- a/ch31/31-02.html
+++ b/31-02.html
@@ -30,7 +30,7 @@
@@ -59,7 +59,7 @@
diff --git a/ch31/31-03.html b/31-03.html
similarity index 96%
rename from ch31/31-03.html
rename to 31-03.html
index 508e1fb..3036e56 100644
--- a/ch31/31-03.html
+++ b/31-03.html
@@ -30,7 +30,7 @@
@@ -373,7 +373,7 @@ end Start
diff --git a/ch31/31-04.html b/31-04.html
similarity index 97%
rename from ch31/31-04.html
rename to 31-04.html
index 6643d8d..f6268a9 100644
--- a/ch31/31-04.html
+++ b/31-04.html
@@ -30,7 +30,7 @@
@@ -59,7 +59,7 @@
diff --git a/ch31/31-05.html b/31-05.html
similarity index 95%
rename from ch31/31-05.html
rename to 31-05.html
index 24fea68..01b0cb9 100644
--- a/ch31/31-05.html
+++ b/31-05.html
@@ -30,8 +30,8 @@
@@ -308,8 +308,8 @@ endStart
diff --git a/ch32/32-01.html b/32-01.html
similarity index 96%
rename from ch32/32-01.html
rename to 32-01.html
index 7de737a..24cf411 100644
--- a/ch32/32-01.html
+++ b/32-01.html
@@ -29,8 +29,8 @@
@@ -59,8 +59,8 @@
diff --git a/ch32/32-02.html b/32-02.html
similarity index 95%
rename from ch32/32-02.html
rename to 32-02.html
index 0332ce7..9d54df1 100644
--- a/ch32/32-02.html
+++ b/32-02.html
@@ -30,7 +30,7 @@
@@ -257,7 +257,7 @@ _TEX Tends
diff --git a/ch32/32-03.html b/32-03.html
similarity index 95%
rename from ch32/32-03.html
rename to 32-03.html
index 3563fd5..799d0ac 100644
--- a/ch32/32-03.html
+++ b/32-03.html
@@ -30,7 +30,7 @@
@@ -250,7 +250,7 @@ void main()
diff --git a/ch32/32-04.html b/32-04.html
similarity index 97%
rename from ch32/32-04.html
rename to 32-04.html
index b360216..725eae7 100644
--- a/ch32/32-04.html
+++ b/32-04.html
@@ -30,7 +30,7 @@
@@ -55,7 +55,7 @@
diff --git a/ch32/32-05.html b/32-05.html
similarity index 96%
rename from ch32/32-05.html
rename to 32-05.html
index 36538ee..2139749 100644
--- a/ch32/32-05.html
+++ b/32-05.html
@@ -30,8 +30,8 @@
@@ -61,8 +61,8 @@
diff --git a/ch33/33-01.html b/33-01.html
similarity index 96%
rename from ch33/33-01.html
rename to 33-01.html
index abff5a0..8bc4ad5 100644
--- a/ch33/33-01.html
+++ b/33-01.html
@@ -29,8 +29,8 @@
@@ -62,8 +62,8 @@
diff --git a/ch33/33-02.html b/33-02.html
similarity index 97%
rename from ch33/33-02.html
rename to 33-02.html
index 5c58e89..4684ab6 100644
--- a/ch33/33-02.html
+++ b/33-02.html
@@ -30,7 +30,7 @@
@@ -55,7 +55,7 @@
diff --git a/ch33/33-03.html b/33-03.html
similarity index 98%
rename from ch33/33-03.html
rename to 33-03.html
index 0163aed..a9bd23b 100644
--- a/ch33/33-03.html
+++ b/33-03.html
@@ -30,7 +30,7 @@
@@ -58,7 +58,7 @@
diff --git a/ch33/33-04.html b/33-04.html
similarity index 95%
rename from ch33/33-04.html
rename to 33-04.html
index 69761f1..7d6d6f5 100644
--- a/ch33/33-04.html
+++ b/33-04.html
@@ -30,8 +30,8 @@
@@ -224,8 +224,8 @@ FillVertLoop:
diff --git a/ch34/34-01.html b/34-01.html
similarity index 96%
rename from ch34/34-01.html
rename to 34-01.html
index 8f3565c..74b123f 100644
--- a/ch34/34-01.html
+++ b/34-01.html
@@ -29,8 +29,8 @@
@@ -56,8 +56,8 @@
diff --git a/ch34/34-02.html b/34-02.html
similarity index 97%
rename from ch34/34-02.html
rename to 34-02.html
index eae7c73..8466fc3 100644
--- a/ch34/34-02.html
+++ b/34-02.html
@@ -30,7 +30,7 @@
@@ -53,7 +53,7 @@
diff --git a/ch34/34-03.html b/34-03.html
similarity index 96%
rename from ch34/34-03.html
rename to 34-03.html
index baf2d6c..a05692c 100644
--- a/ch34/34-03.html
+++ b/34-03.html
@@ -30,7 +30,7 @@
@@ -299,7 +299,7 @@ endif;USE_BIOS
diff --git a/ch34/34-04.html b/34-04.html
similarity index 98%
rename from ch34/34-04.html
rename to 34-04.html
index 20bd231..9aa4081 100644
--- a/ch34/34-04.html
+++ b/34-04.html
@@ -30,7 +30,7 @@
@@ -58,7 +58,7 @@
diff --git a/ch34/34-05.html b/34-05.html
similarity index 96%
rename from ch34/34-05.html
rename to 34-05.html
index 0d07eed..5218452 100644
--- a/ch34/34-05.html
+++ b/34-05.html
@@ -30,8 +30,8 @@
@@ -59,8 +59,8 @@
diff --git a/ch35/35-01.html b/35-01.html
similarity index 96%
rename from ch35/35-01.html
rename to 35-01.html
index dc8a57a..d7aef79 100644
--- a/ch35/35-01.html
+++ b/35-01.html
@@ -29,8 +29,8 @@
@@ -61,8 +61,8 @@
diff --git a/ch35/35-02.html b/35-02.html
similarity index 97%
rename from ch35/35-02.html
rename to 35-02.html
index 8ca6334..279674f 100644
--- a/ch35/35-02.html
+++ b/35-02.html
@@ -30,7 +30,7 @@
@@ -67,7 +67,7 @@
diff --git a/ch35/35-03.html b/35-03.html
similarity index 95%
rename from ch35/35-03.html
rename to 35-03.html
index 14e113a..353cf7d 100644
--- a/ch35/35-03.html
+++ b/35-03.html
@@ -30,7 +30,7 @@
@@ -238,7 +238,7 @@ char Color; /* color to draw line in */
diff --git a/ch35/35-04.html b/35-04.html
similarity index 96%
rename from ch35/35-04.html
rename to 35-04.html
index 6613fff..83284db 100644
--- a/ch35/35-04.html
+++ b/35-04.html
@@ -30,7 +30,7 @@
@@ -138,7 +138,7 @@ void main()
diff --git a/ch35/35-05.html b/35-05.html
similarity index 98%
rename from ch35/35-05.html
rename to 35-05.html
index a5442e0..a20c217 100644
--- a/ch35/35-05.html
+++ b/35-05.html
@@ -30,7 +30,7 @@
@@ -57,7 +57,7 @@
diff --git a/ch35/35-06.html b/35-06.html
similarity index 97%
rename from ch35/35-06.html
rename to 35-06.html
index 11094bc..098231c 100644
--- a/ch35/35-06.html
+++ b/35-06.html
@@ -30,7 +30,7 @@
@@ -49,7 +49,7 @@
diff --git a/ch35/35-07.html b/35-07.html
similarity index 96%
rename from ch35/35-07.html
rename to 35-07.html
index 0e2e396..11eb99b 100644
--- a/ch35/35-07.html
+++ b/35-07.html
@@ -30,8 +30,8 @@
@@ -417,8 +417,8 @@ _EVGALine endp
diff --git a/ch36/36-01.html b/36-01.html
similarity index 95%
rename from ch36/36-01.html
rename to 36-01.html
index 44b745b..412ef2d 100644
--- a/ch36/36-01.html
+++ b/36-01.html
@@ -29,8 +29,8 @@
@@ -98,8 +98,8 @@ else
diff --git a/ch36/36-02.html b/36-02.html
similarity index 97%
rename from ch36/36-02.html
rename to 36-02.html
index cbddaf6..b57d89e 100644
--- a/ch36/36-02.html
+++ b/36-02.html
@@ -30,7 +30,7 @@
@@ -62,7 +62,7 @@
diff --git a/ch36/36-03.html b/36-03.html
similarity index 96%
rename from ch36/36-03.html
rename to 36-03.html
index 1673888..388a904 100644
--- a/ch36/36-03.html
+++ b/36-03.html
@@ -30,7 +30,7 @@
@@ -294,7 +294,7 @@ void DrawVerticalRun(char far **ScreenPtr, int XAdvance,
diff --git a/ch36/36-04.html b/36-04.html
similarity index 93%
rename from ch36/36-04.html
rename to 36-04.html
index 7b0299c..d903589 100644
--- a/ch36/36-04.html
+++ b/36-04.html
@@ -30,8 +30,8 @@
@@ -121,8 +121,8 @@ int main()
diff --git a/ch37/37-01.html b/37-01.html
similarity index 97%
rename from ch37/37-01.html
rename to 37-01.html
index 238caf7..66bb187 100644
--- a/ch37/37-01.html
+++ b/37-01.html
@@ -29,8 +29,8 @@
@@ -406,8 +406,8 @@ _LineDraw endp
diff --git a/ch37/37-02.html b/37-02.html
similarity index 96%
rename from ch37/37-02.html
rename to 37-02.html
index 0ab049f..9b95b8b 100644
--- a/ch37/37-02.html
+++ b/37-02.html
@@ -30,8 +30,8 @@
@@ -59,8 +59,8 @@
diff --git a/ch38/38-01.html b/38-01.html
similarity index 96%
rename from ch38/38-01.html
rename to 38-01.html
index d4bae99..692f698 100644
--- a/ch38/38-01.html
+++ b/38-01.html
@@ -29,8 +29,8 @@
@@ -67,8 +67,8 @@
diff --git a/ch38/38-02.html b/38-02.html
similarity index 97%
rename from ch38/38-02.html
rename to 38-02.html
index 5f3b7a5..dd6fdca 100644
--- a/ch38/38-02.html
+++ b/38-02.html
@@ -30,7 +30,7 @@
@@ -322,7 +322,7 @@
diff --git a/ch38/38-03.html b/38-03.html
similarity index 95%
rename from ch38/38-03.html
rename to 38-03.html
index 2206a04..b86c14b 100644
--- a/ch38/38-03.html
+++ b/38-03.html
@@ -30,7 +30,7 @@
@@ -176,7 +176,7 @@
diff --git a/ch38/38-04.html b/38-04.html
similarity index 95%
rename from ch38/38-04.html
rename to 38-04.html
index 76fd310..d120b86 100644
--- a/ch38/38-04.html
+++ b/38-04.html
@@ -30,8 +30,8 @@
@@ -57,8 +57,8 @@
diff --git a/ch39/39-01.html b/39-01.html
similarity index 96%
rename from ch39/39-01.html
rename to 39-01.html
index e4f9c06..44e9e21 100644
--- a/ch39/39-01.html
+++ b/39-01.html
@@ -29,8 +29,8 @@
@@ -63,8 +63,8 @@
diff --git a/ch39/39-02.html b/39-02.html
similarity index 97%
rename from ch39/39-02.html
rename to 39-02.html
index b0ebf3a..0879e81 100644
--- a/ch39/39-02.html
+++ b/39-02.html
@@ -30,7 +30,7 @@
@@ -160,7 +160,7 @@ void DrawHorizontalLineList(struct HLineList * HLineListPtr,
diff --git a/ch39/39-03.html b/39-03.html
similarity index 96%
rename from ch39/39-03.html
rename to 39-03.html
index 87fb20e..2cba434 100644
--- a/ch39/39-03.html
+++ b/39-03.html
@@ -30,7 +30,7 @@
@@ -166,7 +166,7 @@ void ScanEdge(int X1, int Y1, int X2, int Y2, int SetXStart,
diff --git a/ch39/39-04.html b/39-04.html
similarity index 97%
rename from ch39/39-04.html
rename to 39-04.html
index 44d8953..ffeb29d 100644
--- a/ch39/39-04.html
+++ b/39-04.html
@@ -30,7 +30,7 @@
@@ -146,7 +146,7 @@ _DrawHorizontalLineList endp
diff --git a/ch39/39-05.html b/39-05.html
similarity index 95%
rename from ch39/39-05.html
rename to 39-05.html
index ba44cfe..29bfa04 100644
--- a/ch39/39-05.html
+++ b/39-05.html
@@ -30,8 +30,8 @@
@@ -212,8 +212,8 @@ _ScanEdge endp
diff --git a/ch40/40-01.html b/40-01.html
similarity index 96%
rename from ch40/40-01.html
rename to 40-01.html
index 9b48ba4..74a7716 100644
--- a/ch40/40-01.html
+++ b/40-01.html
@@ -29,8 +29,8 @@
@@ -63,8 +63,8 @@
diff --git a/ch40/40-02.html b/40-02.html
similarity index 97%
rename from ch40/40-02.html
rename to 40-02.html
index 7e2ea1b..cc97d6b 100644
--- a/ch40/40-02.html
+++ b/40-02.html
@@ -30,7 +30,7 @@
@@ -340,7 +340,7 @@
diff --git a/ch40/40-03.html b/40-03.html
similarity index 96%
rename from ch40/40-03.html
rename to 40-03.html
index f6ffcee..863164a 100644
--- a/ch40/40-03.html
+++ b/40-03.html
@@ -30,7 +30,7 @@
@@ -206,7 +206,7 @@
diff --git a/ch40/40-04.html b/40-04.html
similarity index 96%
rename from ch40/40-04.html
rename to 40-04.html
index 69c095f..e699bb1 100644
--- a/ch40/40-04.html
+++ b/40-04.html
@@ -30,7 +30,7 @@
@@ -106,7 +106,7 @@
diff --git a/ch40/40-05.html b/40-05.html
similarity index 96%
rename from ch40/40-05.html
rename to 40-05.html
index 0f8f559..4a10c6c 100644
--- a/ch40/40-05.html
+++ b/40-05.html
@@ -30,8 +30,8 @@
@@ -56,8 +56,8 @@
diff --git a/ch41/41-01.html b/41-01.html
similarity index 96%
rename from ch41/41-01.html
rename to 41-01.html
index 98005b3..f0bbe81 100644
--- a/ch41/41-01.html
+++ b/41-01.html
@@ -29,8 +29,8 @@
@@ -100,8 +100,8 @@ int PolygonIsMonotoneVertical(struct PointListHeader * VertexList)
diff --git a/ch41/41-02.html b/41-02.html
similarity index 96%
rename from ch41/41-02.html
rename to 41-02.html
index fbd71b1..e046528 100644
--- a/ch41/41-02.html
+++ b/41-02.html
@@ -30,7 +30,7 @@
@@ -169,7 +169,7 @@ int FillMonotoneVerticalPolygon(struct PointListHeader * VertexList,
diff --git a/ch41/41-03.html b/41-03.html
similarity index 95%
rename from ch41/41-03.html
rename to 41-03.html
index bacc87d..df3e999 100644
--- a/ch41/41-03.html
+++ b/41-03.html
@@ -30,7 +30,7 @@
@@ -137,7 +137,7 @@ _DrawHorizontalLineList endp
diff --git a/ch41/41-04.html b/41-04.html
similarity index 96%
rename from ch41/41-04.html
rename to 41-04.html
index 17e17c9..953b624 100644
--- a/ch41/41-04.html
+++ b/41-04.html
@@ -30,8 +30,8 @@
@@ -374,8 +374,8 @@ struct RGB { unsigned char Red, Green, Blue, Spare; };
diff --git a/ch42/42-01.html b/42-01.html
similarity index 96%
rename from ch42/42-01.html
rename to 42-01.html
index 019e277..94bf30f 100644
--- a/ch42/42-01.html
+++ b/42-01.html
@@ -29,8 +29,8 @@
@@ -61,8 +61,8 @@
diff --git a/ch42/42-02.html b/42-02.html
similarity index 97%
rename from ch42/42-02.html
rename to 42-02.html
index e23ffea..dde8655 100644
--- a/ch42/42-02.html
+++ b/42-02.html
@@ -30,7 +30,7 @@
@@ -190,7 +190,7 @@ void DrawWuLine(int X0, int Y0, int X1, int Y1, int BaseColor, int NumLevels,
diff --git a/ch42/42-03.html b/42-03.html
similarity index 96%
rename from ch42/42-03.html
rename to 42-03.html
index fec5e20..0dbe7ec 100644
--- a/ch42/42-03.html
+++ b/42-03.html
@@ -30,7 +30,7 @@
@@ -207,7 +207,7 @@ void SetMode()
diff --git a/ch42/42-04.html b/42-04.html
similarity index 96%
rename from ch42/42-04.html
rename to 42-04.html
index 7c4543b..49f94f4 100644
--- a/ch42/42-04.html
+++ b/42-04.html
@@ -30,7 +30,7 @@
@@ -159,7 +159,7 @@ void SetMode()
diff --git a/ch42/42-05.html b/42-05.html
similarity index 97%
rename from ch42/42-05.html
rename to 42-05.html
index 9750ecd..c97c2e5 100644
--- a/ch42/42-05.html
+++ b/42-05.html
@@ -30,8 +30,8 @@
@@ -323,8 +323,8 @@ _DrawWuLine endp
diff --git a/ch43/43-01.html b/43-01.html
similarity index 97%
rename from ch43/43-01.html
rename to 43-01.html
index 65c24de..4692377 100644
--- a/ch43/43-01.html
+++ b/43-01.html
@@ -29,8 +29,8 @@
@@ -67,8 +67,8 @@
diff --git a/ch43/43-02.html b/43-02.html
similarity index 96%
rename from ch43/43-02.html
rename to 43-02.html
index 9df5a91..706a21d 100644
--- a/ch43/43-02.html
+++ b/43-02.html
@@ -30,7 +30,7 @@
@@ -132,7 +132,7 @@
diff --git a/ch43/43-03.html b/43-03.html
similarity index 96%
rename from ch43/43-03.html
rename to 43-03.html
index 661cea8..c59234b 100644
--- a/ch43/43-03.html
+++ b/43-03.html
@@ -30,7 +30,7 @@
@@ -541,7 +541,7 @@ Code ends
diff --git a/ch43/43-04.html b/43-04.html
similarity index 97%
rename from ch43/43-04.html
rename to 43-04.html
index f5129eb..00e35e2 100644
--- a/ch43/43-04.html
+++ b/43-04.html
@@ -30,7 +30,7 @@
@@ -52,7 +52,7 @@
diff --git a/ch43/43-05.html b/43-05.html
similarity index 96%
rename from ch43/43-05.html
rename to 43-05.html
index 7accbfa..293d941 100644
--- a/ch43/43-05.html
+++ b/43-05.html
@@ -30,7 +30,7 @@
@@ -115,7 +115,7 @@
diff --git a/ch43/43-06.html b/43-06.html
similarity index 95%
rename from ch43/43-06.html
rename to 43-06.html
index cc11d2a..f1bd9fe 100644
--- a/ch43/43-06.html
+++ b/43-06.html
@@ -30,8 +30,8 @@
@@ -50,8 +50,8 @@
diff --git a/ch44/44-01.html b/44-01.html
similarity index 94%
rename from ch44/44-01.html
rename to 44-01.html
index df8939d..0eadc4b 100644
--- a/ch44/44-01.html
+++ b/44-01.html
@@ -29,8 +29,8 @@
@@ -55,8 +55,8 @@
diff --git a/ch44/44-02.html b/44-02.html
similarity index 96%
rename from ch44/44-02.html
rename to 44-02.html
index 8606267..2578ba6 100644
--- a/ch44/44-02.html
+++ b/44-02.html
@@ -30,7 +30,7 @@
@@ -333,7 +333,7 @@ void MoveBouncer(bouncer *Bouncer, bumper *BumperPtr, int NumBumpers) {
diff --git a/ch44/44-03.html b/44-03.html
similarity index 96%
rename from ch44/44-03.html
rename to 44-03.html
index 300f706..66db6aa 100644
--- a/ch44/44-03.html
+++ b/44-03.html
@@ -30,7 +30,7 @@
@@ -368,7 +368,7 @@ CharUpLoop:
diff --git a/ch44/44-04.html b/44-04.html
similarity index 97%
rename from ch44/44-04.html
rename to 44-04.html
index 99110a8..1a0c857 100644
--- a/ch44/44-04.html
+++ b/44-04.html
@@ -30,7 +30,7 @@
@@ -87,7 +87,7 @@ mov byte ptr es:[di],0ffh
diff --git a/ch44/44-05.html b/44-05.html
similarity index 97%
rename from ch44/44-05.html
rename to 44-05.html
index 0a8bf1b..8023d8e 100644
--- a/ch44/44-05.html
+++ b/44-05.html
@@ -30,7 +30,7 @@
@@ -54,7 +54,7 @@
diff --git a/ch44/44-06.html b/44-06.html
similarity index 97%
rename from ch44/44-06.html
rename to 44-06.html
index e504649..41474a9 100644
--- a/ch44/44-06.html
+++ b/44-06.html
@@ -30,8 +30,8 @@
@@ -60,8 +60,8 @@
diff --git a/ch45/45-01.html b/45-01.html
similarity index 96%
rename from ch45/45-01.html
rename to 45-01.html
index af1e59c..75d1320 100644
--- a/ch45/45-01.html
+++ b/45-01.html
@@ -29,8 +29,8 @@
@@ -56,8 +56,8 @@
diff --git a/ch45/45-02.html b/45-02.html
similarity index 97%
rename from ch45/45-02.html
rename to 45-02.html
index 08ad018..d544bea 100644
--- a/ch45/45-02.html
+++ b/45-02.html
@@ -30,7 +30,7 @@
@@ -106,7 +106,7 @@
diff --git a/ch45/45-03.html b/45-03.html
similarity index 96%
rename from ch45/45-03.html
rename to 45-03.html
index aa4511b..b7a74fd 100644
--- a/ch45/45-03.html
+++ b/45-03.html
@@ -30,7 +30,7 @@
@@ -309,7 +309,7 @@ void EraseEntities()
diff --git a/ch45/45-04.html b/45-04.html
similarity index 97%
rename from ch45/45-04.html
rename to 45-04.html
index 1b6e37d..274e698 100644
--- a/ch45/45-04.html
+++ b/45-04.html
@@ -30,7 +30,7 @@
@@ -89,7 +89,7 @@ void Set640×400()
diff --git a/ch45/45-05.html b/45-05.html
similarity index 96%
rename from ch45/45-05.html
rename to 45-05.html
index 6ad0cbe..ebc824d 100644
--- a/ch45/45-05.html
+++ b/45-05.html
@@ -30,7 +30,7 @@
@@ -142,7 +142,7 @@ void Set640×400()
diff --git a/ch45/45-06.html b/45-06.html
similarity index 96%
rename from ch45/45-06.html
rename to 45-06.html
index 03ac1d5..2e66b4a 100644
--- a/ch45/45-06.html
+++ b/45-06.html
@@ -30,8 +30,8 @@
@@ -70,8 +70,8 @@
diff --git a/ch46/46-01.html b/46-01.html
similarity index 95%
rename from ch46/46-01.html
rename to 46-01.html
index 1d4bac1..919eb55 100644
--- a/ch46/46-01.html
+++ b/46-01.html
@@ -29,8 +29,8 @@
@@ -52,8 +52,8 @@
diff --git a/ch46/46-02.html b/46-02.html
similarity index 96%
rename from ch46/46-02.html
rename to 46-02.html
index 5f32d74..114ce09 100644
--- a/ch46/46-02.html
+++ b/46-02.html
@@ -30,7 +30,7 @@
@@ -564,7 +564,7 @@ RowLoop3:
diff --git a/ch46/46-03.html b/46-03.html
similarity index 97%
rename from ch46/46-03.html
rename to 46-03.html
index 2127e27..048325d 100644
--- a/ch46/46-03.html
+++ b/46-03.html
@@ -30,8 +30,8 @@
@@ -55,8 +55,8 @@
diff --git a/ch47/47-01.html b/47-01.html
similarity index 96%
rename from ch47/47-01.html
rename to 47-01.html
index abad77f..c8ba123 100644
--- a/ch47/47-01.html
+++ b/47-01.html
@@ -29,8 +29,8 @@
@@ -58,8 +58,8 @@
diff --git a/ch47/47-02.html b/47-02.html
similarity index 96%
rename from ch47/47-02.html
rename to 47-02.html
index 5f8c99e..ad52ee6 100644
--- a/ch47/47-02.html
+++ b/47-02.html
@@ -30,7 +30,7 @@
@@ -146,7 +146,7 @@ _Set320x240Mode endp
diff --git a/ch47/47-03.html b/47-03.html
similarity index 97%
rename from ch47/47-03.html
rename to 47-03.html
index 65d1348..9d56053 100644
--- a/ch47/47-03.html
+++ b/47-03.html
@@ -30,7 +30,7 @@
@@ -160,7 +160,7 @@ _ReadPixelX endp
diff --git a/ch47/47-04.html b/47-04.html
similarity index 96%
rename from ch47/47-04.html
rename to 47-04.html
index 818eeb7..825bf7a 100644
--- a/ch47/47-04.html
+++ b/47-04.html
@@ -30,7 +30,7 @@
@@ -140,7 +140,7 @@ _FillRectangleX endp
diff --git a/ch47/47-05.html b/47-05.html
similarity index 96%
rename from ch47/47-05.html
rename to 47-05.html
index 2ff6f79..3362d9e 100644
--- a/ch47/47-05.html
+++ b/47-05.html
@@ -30,7 +30,7 @@
@@ -176,7 +176,7 @@ _FillRectangleX endp
diff --git a/ch47/47-06.html b/47-06.html
similarity index 96%
rename from ch47/47-06.html
rename to 47-06.html
index 525b1f1..4f34381 100644
--- a/ch47/47-06.html
+++ b/47-06.html
@@ -30,7 +30,7 @@
@@ -49,7 +49,7 @@
diff --git a/ch47/47-07.html b/47-07.html
similarity index 95%
rename from ch47/47-07.html
rename to 47-07.html
index 1795d6b..5318696 100644
--- a/ch47/47-07.html
+++ b/47-07.html
@@ -30,8 +30,8 @@
@@ -191,8 +191,8 @@ void main() {
diff --git a/ch48/48-01.html b/48-01.html
similarity index 95%
rename from ch48/48-01.html
rename to 48-01.html
index 4926e23..a0dc8f2 100644
--- a/ch48/48-01.html
+++ b/48-01.html
@@ -29,8 +29,8 @@
@@ -105,8 +105,8 @@ void main() {
diff --git a/ch48/48-02.html b/48-02.html
similarity index 97%
rename from ch48/48-02.html
rename to 48-02.html
index 5a73373..35695bc 100644
--- a/ch48/48-02.html
+++ b/48-02.html
@@ -30,7 +30,7 @@
@@ -221,7 +221,7 @@ _FillPatternX endp
diff --git a/ch48/48-03.html b/48-03.html
similarity index 97%
rename from ch48/48-03.html
rename to 48-03.html
index 0b13a2c..56eda57 100644
--- a/ch48/48-03.html
+++ b/48-03.html
@@ -30,7 +30,7 @@
@@ -59,7 +59,7 @@
diff --git a/ch48/48-04.html b/48-04.html
similarity index 96%
rename from ch48/48-04.html
rename to 48-04.html
index 64a63c6..62c0847 100644
--- a/ch48/48-04.html
+++ b/48-04.html
@@ -30,7 +30,7 @@
@@ -219,7 +219,7 @@ _CopyScreenToScreenX endp
diff --git a/ch48/48-05.html b/48-05.html
similarity index 96%
rename from ch48/48-05.html
rename to 48-05.html
index 344973c..66e26f7 100644
--- a/ch48/48-05.html
+++ b/48-05.html
@@ -30,8 +30,8 @@
@@ -173,8 +173,8 @@ _CopySystemToScreenX endp
diff --git a/ch49/49-01.html b/49-01.html
similarity index 96%
rename from ch49/49-01.html
rename to 49-01.html
index e617a29..8fbc9b1 100644
--- a/ch49/49-01.html
+++ b/49-01.html
@@ -29,8 +29,8 @@
@@ -189,8 +189,8 @@ _CopySystemToScreenMaskedX endp
diff --git a/ch49/49-02.html b/49-02.html
similarity index 97%
rename from ch49/49-02.html
rename to 49-02.html
index 1c3fa14..31eb08e 100644
--- a/ch49/49-02.html
+++ b/49-02.html
@@ -30,7 +30,7 @@
@@ -212,7 +212,7 @@ _CopyScreenToScreenMaskedX endp
diff --git a/ch49/49-03.html b/49-03.html
similarity index 96%
rename from ch49/49-03.html
rename to 49-03.html
index 0146188..321080c 100644
--- a/ch49/49-03.html
+++ b/49-03.html
@@ -30,7 +30,7 @@
@@ -141,7 +141,7 @@ typedef struct {
diff --git a/ch49/49-04.html b/49-04.html
similarity index 97%
rename from ch49/49-04.html
rename to 49-04.html
index 0fc54b7..53eb586 100644
--- a/ch49/49-04.html
+++ b/49-04.html
@@ -30,7 +30,7 @@
@@ -290,7 +290,7 @@ void MoveObject(AnimatedObject * ObjectToMove) {
diff --git a/ch49/49-05.html b/49-05.html
similarity index 94%
rename from ch49/49-05.html
rename to 49-05.html
index 8a35416..1f30314 100644
--- a/ch49/49-05.html
+++ b/49-05.html
@@ -30,8 +30,8 @@
@@ -98,8 +98,8 @@ _ShowPage endp
diff --git a/ch50/50-01.html b/50-01.html
similarity index 96%
rename from ch50/50-01.html
rename to 50-01.html
index 31b434b..56842e2 100644
--- a/ch50/50-01.html
+++ b/50-01.html
@@ -29,8 +29,8 @@
@@ -58,8 +58,8 @@
diff --git a/ch50/50-02.html b/50-02.html
similarity index 98%
rename from ch50/50-02.html
rename to 50-02.html
index b0faeb8..09a40ec 100644
--- a/ch50/50-02.html
+++ b/50-02.html
@@ -30,7 +30,7 @@
@@ -72,7 +72,7 @@
diff --git a/ch50/50-03.html b/50-03.html
similarity index 96%
rename from ch50/50-03.html
rename to 50-03.html
index e1a6eb8..fe96d9d 100644
--- a/ch50/50-03.html
+++ b/50-03.html
@@ -30,7 +30,7 @@
@@ -202,7 +202,7 @@ _DrawHorizontalLineList endp
diff --git a/ch50/50-04.html b/50-04.html
similarity index 96%
rename from ch50/50-04.html
rename to 50-04.html
index bb9844f..dd33347 100644
--- a/ch50/50-04.html
+++ b/50-04.html
@@ -30,7 +30,7 @@
@@ -152,7 +152,7 @@ void XformAndProjectPoly(double Xform[4][4], struct Point3 * Poly,
diff --git a/ch50/50-05.html b/50-05.html
similarity index 94%
rename from ch50/50-05.html
rename to 50-05.html
index e1771c0..6bc1172 100644
--- a/ch50/50-05.html
+++ b/50-05.html
@@ -30,7 +30,7 @@
@@ -118,7 +118,7 @@ extern struct Rect EraseRect[];
diff --git a/ch50/50-06.html b/50-06.html
similarity index 95%
rename from ch50/50-06.html
rename to 50-06.html
index ec5fc1c..736311e 100644
--- a/ch50/50-06.html
+++ b/50-06.html
@@ -30,7 +30,7 @@
@@ -166,7 +166,7 @@ void main() {
diff --git a/ch50/50-07.html b/50-07.html
similarity index 95%
rename from ch50/50-07.html
rename to 50-07.html
index 29e6597..074230f 100644
--- a/ch50/50-07.html
+++ b/50-07.html
@@ -30,8 +30,8 @@
@@ -50,8 +50,8 @@
diff --git a/ch51/51-01.html b/51-01.html
similarity index 96%
rename from ch51/51-01.html
rename to 51-01.html
index 4e1f512..d41405e 100644
--- a/ch51/51-01.html
+++ b/51-01.html
@@ -29,8 +29,8 @@
@@ -53,8 +53,8 @@
diff --git a/ch51/51-02.html b/51-02.html
similarity index 97%
rename from ch51/51-02.html
rename to 51-02.html
index 2d23efc..870fafa 100644
--- a/ch51/51-02.html
+++ b/51-02.html
@@ -30,7 +30,7 @@
@@ -59,7 +59,7 @@
diff --git a/ch51/51-03.html b/51-03.html
similarity index 96%
rename from ch51/51-03.html
rename to 51-03.html
index 9ffd0f3..cfaa355 100644
--- a/ch51/51-03.html
+++ b/51-03.html
@@ -30,7 +30,7 @@
@@ -206,7 +206,7 @@ void main() {
diff --git a/ch51/51-04.html b/51-04.html
similarity index 96%
rename from ch51/51-04.html
rename to 51-04.html
index ab1aa12..ab729ea 100644
--- a/ch51/51-04.html
+++ b/51-04.html
@@ -30,7 +30,7 @@
@@ -149,7 +149,7 @@ void DrawVisibleFaces(struct Object * ObjectToXform)
diff --git a/ch51/51-05.html b/51-05.html
similarity index 96%
rename from ch51/51-05.html
rename to 51-05.html
index deda16e..cd107a5 100644
--- a/ch51/51-05.html
+++ b/51-05.html
@@ -30,7 +30,7 @@
@@ -114,7 +114,7 @@
diff --git a/ch51/51-06.html b/51-06.html
similarity index 95%
rename from ch51/51-06.html
rename to 51-06.html
index 48d75ee..e0f7e4f 100644
--- a/ch51/51-06.html
+++ b/51-06.html
@@ -30,8 +30,8 @@
@@ -133,8 +133,8 @@ extern struct Rect EraseRect[];
diff --git a/ch52/52-01.html b/52-01.html
similarity index 95%
rename from ch52/52-01.html
rename to 52-01.html
index 524cbc5..1737763 100644
--- a/ch52/52-01.html
+++ b/52-01.html
@@ -29,8 +29,8 @@
@@ -60,8 +60,8 @@
diff --git a/ch52/52-02.html b/52-02.html
similarity index 95%
rename from ch52/52-02.html
rename to 52-02.html
index 3d3137e..71beb4b 100644
--- a/ch52/52-02.html
+++ b/52-02.html
@@ -30,7 +30,7 @@
@@ -168,7 +168,7 @@ void XformAndProjectPObject(PObject * ObjectToXform)
diff --git a/ch52/52-03.html b/52-03.html
similarity index 96%
rename from ch52/52-03.html
rename to 52-03.html
index af4fc72..77abf81 100644
--- a/ch52/52-03.html
+++ b/52-03.html
@@ -30,7 +30,7 @@
@@ -205,7 +205,7 @@ void InitializeFixedPoint()
diff --git a/ch52/52-04.html b/52-04.html
similarity index 95%
rename from ch52/52-04.html
rename to 52-04.html
index 3a61f74..aac9ddc 100644
--- a/ch52/52-04.html
+++ b/52-04.html
@@ -30,7 +30,7 @@
@@ -145,7 +145,7 @@ void DrawPObject(PObject * ObjectToXform)
diff --git a/ch52/52-05.html b/52-05.html
similarity index 96%
rename from ch52/52-05.html
rename to 52-05.html
index a0912cb..6c4bed2 100644
--- a/ch52/52-05.html
+++ b/52-05.html
@@ -30,7 +30,7 @@
@@ -168,7 +168,7 @@ void InitializeCubes()
diff --git a/ch52/52-06.html b/52-06.html
similarity index 96%
rename from ch52/52-06.html
rename to 52-06.html
index 66add3d..0767093 100644
--- a/ch52/52-06.html
+++ b/52-06.html
@@ -30,7 +30,7 @@
@@ -222,7 +222,7 @@ extern Point3 CubeVerts[];
diff --git a/ch52/52-07.html b/52-07.html
similarity index 97%
rename from ch52/52-07.html
rename to 52-07.html
index 32db360..ad9981e 100644
--- a/ch52/52-07.html
+++ b/52-07.html
@@ -30,7 +30,7 @@
@@ -48,7 +48,7 @@
diff --git a/ch52/52-08.html b/52-08.html
similarity index 96%
rename from ch52/52-08.html
rename to 52-08.html
index 6174fea..2eefa47 100644
--- a/ch52/52-08.html
+++ b/52-08.html
@@ -30,8 +30,8 @@
@@ -51,8 +51,8 @@
diff --git a/ch53/53-01.html b/53-01.html
similarity index 95%
rename from ch53/53-01.html
rename to 53-01.html
index 5dfe978..3e6b859 100644
--- a/ch53/53-01.html
+++ b/53-01.html
@@ -29,8 +29,8 @@
@@ -52,8 +52,8 @@
diff --git a/ch53/53-02.html b/53-02.html
similarity index 96%
rename from ch53/53-02.html
rename to 53-02.html
index 7529969..9c86fd6 100644
--- a/ch53/53-02.html
+++ b/53-02.html
@@ -30,7 +30,7 @@
@@ -433,7 +433,7 @@ end
diff --git a/ch53/53-03.html b/53-03.html
similarity index 97%
rename from ch53/53-03.html
rename to 53-03.html
index 3ae3dad..a16363d 100644
--- a/ch53/53-03.html
+++ b/53-03.html
@@ -30,7 +30,7 @@
@@ -54,7 +54,7 @@
diff --git a/ch53/53-04.html b/53-04.html
similarity index 95%
rename from ch53/53-04.html
rename to 53-04.html
index c8dd90b..af2122b 100644
--- a/ch53/53-04.html
+++ b/53-04.html
@@ -30,8 +30,8 @@
@@ -133,8 +133,8 @@ void SortObjects()
diff --git a/ch54/54-01.html b/54-01.html
similarity index 95%
rename from ch54/54-01.html
rename to 54-01.html
index dfb095d..45a6ae8 100644
--- a/ch54/54-01.html
+++ b/54-01.html
@@ -29,8 +29,8 @@
@@ -51,8 +51,8 @@
diff --git a/ch54/54-02.html b/54-02.html
similarity index 97%
rename from ch54/54-02.html
rename to 54-02.html
index db0219a..120306d 100644
--- a/ch54/54-02.html
+++ b/54-02.html
@@ -30,7 +30,7 @@
@@ -905,7 +905,7 @@ end
diff --git a/ch54/54-03.html b/54-03.html
similarity index 97%
rename from ch54/54-03.html
rename to 54-03.html
index b229729..8a8b5ee 100644
--- a/ch54/54-03.html
+++ b/54-03.html
@@ -30,7 +30,7 @@
@@ -58,7 +58,7 @@
diff --git a/ch54/54-04.html b/54-04.html
similarity index 96%
rename from ch54/54-04.html
rename to 54-04.html
index 435b049..2c43d16 100644
--- a/ch54/54-04.html
+++ b/54-04.html
@@ -30,7 +30,7 @@
@@ -172,7 +172,7 @@ void DrawPObject(PObject * ObjectToXform)
diff --git a/ch54/54-05.html b/54-05.html
similarity index 95%
rename from ch54/54-05.html
rename to 54-05.html
index cb04c89..4901b06 100644
--- a/ch54/54-05.html
+++ b/54-05.html
@@ -30,8 +30,8 @@
@@ -52,8 +52,8 @@
diff --git a/ch55/55-01.html b/55-01.html
similarity index 96%
rename from ch55/55-01.html
rename to 55-01.html
index db25af8..8aecf96 100644
--- a/ch55/55-01.html
+++ b/55-01.html
@@ -29,8 +29,8 @@
@@ -77,8 +77,8 @@
diff --git a/ch55/55-02.html b/55-02.html
similarity index 96%
rename from ch55/55-02.html
rename to 55-02.html
index 0f3dce6..9ac0470 100644
--- a/ch55/55-02.html
+++ b/55-02.html
@@ -30,7 +30,7 @@
@@ -134,7 +134,7 @@
diff --git a/ch55/55-03.html b/55-03.html
similarity index 97%
rename from ch55/55-03.html
rename to 55-03.html
index aca7fa6..3937bf3 100644
--- a/ch55/55-03.html
+++ b/55-03.html
@@ -30,7 +30,7 @@
@@ -84,7 +84,7 @@
diff --git a/ch55/55-04.html b/55-04.html
similarity index 96%
rename from ch55/55-04.html
rename to 55-04.html
index 4571091..95f7271 100644
--- a/ch55/55-04.html
+++ b/55-04.html
@@ -30,8 +30,8 @@
@@ -223,8 +223,8 @@ DrawTextString endp
diff --git a/ch56/56-01.html b/56-01.html
similarity index 96%
rename from ch56/56-01.html
rename to 56-01.html
index be37528..8304722 100644
--- a/ch56/56-01.html
+++ b/56-01.html
@@ -29,8 +29,8 @@
@@ -64,8 +64,8 @@
diff --git a/ch56/56-02.html b/56-02.html
similarity index 98%
rename from ch56/56-02.html
rename to 56-02.html
index 3f9d90c..b08f428 100644
--- a/ch56/56-02.html
+++ b/56-02.html
@@ -30,7 +30,7 @@
@@ -59,7 +59,7 @@
diff --git a/ch56/56-03.html b/56-03.html
similarity index 96%
rename from ch56/56-03.html
rename to 56-03.html
index 7a1af8b..63bc916 100644
--- a/ch56/56-03.html
+++ b/56-03.html
@@ -30,8 +30,8 @@
@@ -354,8 +354,8 @@ void ScanOutLine(EdgeScan * LeftEdge, EdgeScan * RightEdge)
diff --git a/ch57/57-01.html b/57-01.html
similarity index 96%
rename from ch57/57-01.html
rename to 57-01.html
index 8d10b96..f2fe0b9 100644
--- a/ch57/57-01.html
+++ b/57-01.html
@@ -29,8 +29,8 @@
@@ -61,8 +61,8 @@
diff --git a/ch57/57-02.html b/57-02.html
similarity index 97%
rename from ch57/57-02.html
rename to 57-02.html
index d80055a..ef66d12 100644
--- a/ch57/57-02.html
+++ b/57-02.html
@@ -30,7 +30,7 @@
@@ -132,7 +132,7 @@ void ScanOutLine(EdgeScan * LeftEdge, EdgeScan * RightEdge)
diff --git a/ch57/57-03.html b/57-03.html
similarity index 97%
rename from ch57/57-03.html
rename to 57-03.html
index 6fd16a4..f3df556 100644
--- a/ch57/57-03.html
+++ b/57-03.html
@@ -30,7 +30,7 @@
@@ -345,7 +345,7 @@ ScanDone:
diff --git a/ch57/57-04.html b/57-04.html
similarity index 95%
rename from ch57/57-04.html
rename to 57-04.html
index a503560..082d9c0 100644
--- a/ch57/57-04.html
+++ b/57-04.html
@@ -30,8 +30,8 @@
@@ -45,8 +45,8 @@
diff --git a/ch58/58-01.html b/58-01.html
similarity index 96%
rename from ch58/58-01.html
rename to 58-01.html
index cf5b1fd..741e43d 100644
--- a/ch58/58-01.html
+++ b/58-01.html
@@ -29,8 +29,8 @@
@@ -62,8 +62,8 @@
diff --git a/ch58/58-02.html b/58-02.html
similarity index 97%
rename from ch58/58-02.html
rename to 58-02.html
index 6560c74..60791ca 100644
--- a/ch58/58-02.html
+++ b/58-02.html
@@ -30,7 +30,7 @@
@@ -152,7 +152,7 @@ ENDM
diff --git a/ch58/58-03.html b/58-03.html
similarity index 97%
rename from ch58/58-03.html
rename to 58-03.html
index 7d0fbbc..dd4457e 100644
--- a/ch58/58-03.html
+++ b/58-03.html
@@ -30,7 +30,7 @@
@@ -89,7 +89,7 @@ MOV [EDI+SCANOFFSET],AH
diff --git a/ch58/58-04.html b/58-04.html
similarity index 96%
rename from ch58/58-04.html
rename to 58-04.html
index 2c5b390..4b07b46 100644
--- a/ch58/58-04.html
+++ b/58-04.html
@@ -30,7 +30,7 @@
@@ -93,7 +93,7 @@ SCANOFFSET = SCANOFFSET + SCANWIDTH
diff --git a/ch58/58-05.html b/58-05.html
similarity index 95%
rename from ch58/58-05.html
rename to 58-05.html
index 4477fb1..a019939 100644
--- a/ch58/58-05.html
+++ b/58-05.html
@@ -30,8 +30,8 @@
@@ -104,8 +104,8 @@ ADD EDX,EBP ;cycle 3 V-pipe
diff --git a/ch59/59-01.html b/59-01.html
similarity index 96%
rename from ch59/59-01.html
rename to 59-01.html
index a4a0fbb..b275b6e 100644
--- a/ch59/59-01.html
+++ b/59-01.html
@@ -29,8 +29,8 @@
@@ -63,8 +63,8 @@
diff --git a/ch59/59-02.html b/59-02.html
similarity index 97%
rename from ch59/59-02.html
rename to 59-02.html
index 627c4ec..d51685f 100644
--- a/ch59/59-02.html
+++ b/59-02.html
@@ -30,7 +30,7 @@
@@ -62,7 +62,7 @@
diff --git a/ch59/59-03.html b/59-03.html
similarity index 97%
rename from ch59/59-03.html
rename to 59-03.html
index c627337..ae0b5a7 100644
--- a/ch59/59-03.html
+++ b/59-03.html
@@ -30,7 +30,7 @@
@@ -104,7 +104,7 @@ void WalkBSPTree(NODE *pNode)
diff --git a/ch59/59-04.html b/59-04.html
similarity index 96%
rename from ch59/59-04.html
rename to 59-04.html
index 4d54f3b..f2e5fd1 100644
--- a/ch59/59-04.html
+++ b/59-04.html
@@ -30,7 +30,7 @@
@@ -172,7 +172,7 @@ void WalkTree(NODE *pNode)
diff --git a/ch59/59-05.html b/59-05.html
similarity index 96%
rename from ch59/59-05.html
rename to 59-05.html
index 432a975..24b9606 100644
--- a/ch59/59-05.html
+++ b/59-05.html
@@ -30,7 +30,7 @@
@@ -124,7 +124,7 @@ void Visit(NODE *pNode)
diff --git a/ch59/59-06.html b/59-06.html
similarity index 95%
rename from ch59/59-06.html
rename to 59-06.html
index a73dba5..feb5c31 100644
--- a/ch59/59-06.html
+++ b/59-06.html
@@ -30,8 +30,8 @@
@@ -61,8 +61,8 @@
diff --git a/ch60/60-01.html b/60-01.html
similarity index 96%
rename from ch60/60-01.html
rename to 60-01.html
index d124a79..5cd84da 100644
--- a/ch60/60-01.html
+++ b/60-01.html
@@ -29,8 +29,8 @@
@@ -56,8 +56,8 @@
diff --git a/ch60/60-02.html b/60-02.html
similarity index 97%
rename from ch60/60-02.html
rename to 60-02.html
index 0b9ae8a..67b9e34 100644
--- a/ch60/60-02.html
+++ b/60-02.html
@@ -30,7 +30,7 @@
@@ -74,7 +74,7 @@
diff --git a/ch60/60-03.html b/60-03.html
similarity index 96%
rename from ch60/60-03.html
rename to 60-03.html
index ded09a5..fb8efb6 100644
--- a/ch60/60-03.html
+++ b/60-03.html
@@ -30,7 +30,7 @@
@@ -303,7 +303,7 @@ LINESEG * BuildBSPTree(LINESEG * plineseghead, LINESEG * prootline,
diff --git a/ch60/60-04.html b/60-04.html
similarity index 95%
rename from ch60/60-04.html
rename to 60-04.html
index 198ef36..12050f0 100644
--- a/ch60/60-04.html
+++ b/60-04.html
@@ -30,8 +30,8 @@
@@ -53,8 +53,8 @@
diff --git a/ch61/61-01.html b/61-01.html
similarity index 96%
rename from ch61/61-01.html
rename to 61-01.html
index 7d4a69f..7d3ef18 100644
--- a/ch61/61-01.html
+++ b/61-01.html
@@ -29,8 +29,8 @@
@@ -62,8 +62,8 @@
diff --git a/ch61/61-02.html b/61-02.html
similarity index 97%
rename from ch61/61-02.html
rename to 61-02.html
index 65b3dc2..6ae2b75 100644
--- a/ch61/61-02.html
+++ b/61-02.html
@@ -30,7 +30,7 @@
@@ -81,7 +81,7 @@
diff --git a/ch61/61-03.html b/61-03.html
similarity index 97%
rename from ch61/61-03.html
rename to 61-03.html
index 0f1e74b..7cb3701 100644
--- a/ch61/61-03.html
+++ b/61-03.html
@@ -30,7 +30,7 @@
@@ -69,7 +69,7 @@
diff --git a/ch61/61-04.html b/61-04.html
similarity index 96%
rename from ch61/61-04.html
rename to 61-04.html
index f69ee06..ef8c5ec 100644
--- a/ch61/61-04.html
+++ b/61-04.html
@@ -30,8 +30,8 @@
@@ -108,8 +108,8 @@ void LineIntersectPlane (float *linestart, float *lineend,
diff --git a/ch62/62-01.html b/62-01.html
similarity index 96%
rename from ch62/62-01.html
rename to 62-01.html
index f8a4a82..09fdd40 100644
--- a/ch62/62-01.html
+++ b/62-01.html
@@ -29,8 +29,8 @@
@@ -63,8 +63,8 @@
diff --git a/ch62/62-02.html b/62-02.html
similarity index 97%
rename from ch62/62-02.html
rename to 62-02.html
index c9b4c15..9a36e40 100644
--- a/ch62/62-02.html
+++ b/62-02.html
@@ -30,7 +30,7 @@
@@ -485,7 +485,7 @@ void UpdateWorld()
diff --git a/ch62/62-03.html b/62-03.html
similarity index 97%
rename from ch62/62-03.html
rename to 62-03.html
index fb7751c..da95a72 100644
--- a/ch62/62-03.html
+++ b/62-03.html
@@ -30,7 +30,7 @@
@@ -72,7 +72,7 @@
diff --git a/ch62/62-04.html b/62-04.html
similarity index 96%
rename from ch62/62-04.html
rename to 62-04.html
index 9d4eeac..ccf0692 100644
--- a/ch62/62-04.html
+++ b/62-04.html
@@ -30,8 +30,8 @@
@@ -57,8 +57,8 @@
diff --git a/ch63/63-01.html b/63-01.html
similarity index 96%
rename from ch63/63-01.html
rename to 63-01.html
index 122eb1e..bdc5f92 100644
--- a/ch63/63-01.html
+++ b/63-01.html
@@ -29,8 +29,8 @@
@@ -65,8 +65,8 @@
diff --git a/ch63/63-02.html b/63-02.html
similarity index 97%
rename from ch63/63-02.html
rename to 63-02.html
index 49dad26..d5e498e 100644
--- a/ch63/63-02.html
+++ b/63-02.html
@@ -30,7 +30,7 @@
@@ -125,7 +125,7 @@ FSUB ST(0),ST(1)
diff --git a/ch63/63-03.html b/63-03.html
similarity index 96%
rename from ch63/63-03.html
rename to 63-03.html
index 5381426..d6d2ba5 100644
--- a/ch63/63-03.html
+++ b/63-03.html
@@ -30,7 +30,7 @@
@@ -170,7 +170,7 @@ v3 = m31u1 + m32u2
diff --git a/ch63/63-04.html b/63-04.html
similarity index 96%
rename from ch63/63-04.html
rename to 63-04.html
index be0e4d8..4a81975 100644
--- a/ch63/63-04.html
+++ b/63-04.html
@@ -30,8 +30,8 @@
@@ -98,8 +98,8 @@
diff --git a/ch64/64-01.html b/64-01.html
similarity index 96%
rename from ch64/64-01.html
rename to 64-01.html
index e7fd2fa..a63d458 100644
--- a/ch64/64-01.html
+++ b/64-01.html
@@ -29,8 +29,8 @@
@@ -61,8 +61,8 @@
diff --git a/ch64/64-02.html b/64-02.html
similarity index 97%
rename from ch64/64-02.html
rename to 64-02.html
index a6cabf8..af6351f 100644
--- a/ch64/64-02.html
+++ b/64-02.html
@@ -30,7 +30,7 @@
@@ -71,7 +71,7 @@
diff --git a/ch64/64-03.html b/64-03.html
similarity index 98%
rename from ch64/64-03.html
rename to 64-03.html
index 04191b1..23ff40c 100644
--- a/ch64/64-03.html
+++ b/64-03.html
@@ -30,7 +30,7 @@
@@ -73,7 +73,7 @@
diff --git a/ch64/64-04.html b/64-04.html
similarity index 96%
rename from ch64/64-04.html
rename to 64-04.html
index bf6f67e..d405f69 100644
--- a/ch64/64-04.html
+++ b/64-04.html
@@ -30,8 +30,8 @@
@@ -64,8 +64,8 @@
diff --git a/ch65/65-01.html b/65-01.html
similarity index 96%
rename from ch65/65-01.html
rename to 65-01.html
index 09c3b26..8b8e90b 100644
--- a/ch65/65-01.html
+++ b/65-01.html
@@ -29,8 +29,8 @@
@@ -59,8 +59,8 @@
diff --git a/ch65/65-02.html b/65-02.html
similarity index 97%
rename from ch65/65-02.html
rename to 65-02.html
index f21ef44..65c8bf3 100644
--- a/ch65/65-02.html
+++ b/65-02.html
@@ -30,7 +30,7 @@
@@ -97,7 +97,7 @@ typedef struct {
diff --git a/ch65/65-03.html b/65-03.html
similarity index 96%
rename from ch65/65-03.html
rename to 65-03.html
index 85ec6f3..b8f746b 100644
--- a/ch65/65-03.html
+++ b/65-03.html
@@ -30,7 +30,7 @@
@@ -417,7 +417,7 @@ void UpdateWorld()
diff --git a/ch65/65-04.html b/65-04.html
similarity index 96%
rename from ch65/65-04.html
rename to 65-04.html
index 097c07c..40e1cee 100644
--- a/ch65/65-04.html
+++ b/65-04.html
@@ -30,8 +30,8 @@
@@ -55,8 +55,8 @@
diff --git a/ch66/66-01.html b/66-01.html
similarity index 96%
rename from ch66/66-01.html
rename to 66-01.html
index bae1e30..b3dd0f9 100644
--- a/ch66/66-01.html
+++ b/66-01.html
@@ -29,8 +29,8 @@
@@ -61,8 +61,8 @@
diff --git a/ch66/66-02.html b/66-02.html
similarity index 97%
rename from ch66/66-02.html
rename to 66-02.html
index 08311d5..2751c7c 100644
--- a/ch66/66-02.html
+++ b/66-02.html
@@ -30,7 +30,7 @@
@@ -67,7 +67,7 @@
diff --git a/ch66/66-03.html b/66-03.html
similarity index 97%
rename from ch66/66-03.html
rename to 66-03.html
index bda3611..d81de9c 100644
--- a/ch66/66-03.html
+++ b/66-03.html
@@ -30,7 +30,7 @@
@@ -62,7 +62,7 @@
diff --git a/ch66/66-04.html b/66-04.html
similarity index 95%
rename from ch66/66-04.html
rename to 66-04.html
index 5d5e7f5..4e46b62 100644
--- a/ch66/66-04.html
+++ b/66-04.html
@@ -30,8 +30,8 @@
@@ -63,8 +63,8 @@
diff --git a/ch67/67-01.html b/67-01.html
similarity index 96%
rename from ch67/67-01.html
rename to 67-01.html
index b2b9ea3..3c19352 100644
--- a/ch67/67-01.html
+++ b/67-01.html
@@ -29,8 +29,8 @@
@@ -55,8 +55,8 @@
diff --git a/ch67/67-02.html b/67-02.html
similarity index 97%
rename from ch67/67-02.html
rename to 67-02.html
index b3d7be3..3bd9d3a 100644
--- a/ch67/67-02.html
+++ b/67-02.html
@@ -30,7 +30,7 @@
@@ -67,7 +67,7 @@
diff --git a/ch67/67-03.html b/67-03.html
similarity index 97%
rename from ch67/67-03.html
rename to 67-03.html
index 1ed382a..c2850f7 100644
--- a/ch67/67-03.html
+++ b/67-03.html
@@ -30,7 +30,7 @@
@@ -485,7 +485,7 @@ void UpdateWorld()
diff --git a/ch67/67-04.html b/67-04.html
similarity index 97%
rename from ch67/67-04.html
rename to 67-04.html
index 2e14b7f..d7c02f1 100644
--- a/ch67/67-04.html
+++ b/67-04.html
@@ -30,7 +30,7 @@
@@ -48,7 +48,7 @@
diff --git a/ch67/67-05.html b/67-05.html
similarity index 95%
rename from ch67/67-05.html
rename to 67-05.html
index 4b1ab00..a287784 100644
--- a/ch67/67-05.html
+++ b/67-05.html
@@ -30,8 +30,8 @@
@@ -47,8 +47,8 @@
diff --git a/ch68/68-01.html b/68-01.html
similarity index 96%
rename from ch68/68-01.html
rename to 68-01.html
index b77e004..28f9526 100644
--- a/ch68/68-01.html
+++ b/68-01.html
@@ -29,8 +29,8 @@
@@ -58,8 +58,8 @@
diff --git a/ch68/68-02.html b/68-02.html
similarity index 98%
rename from ch68/68-02.html
rename to 68-02.html
index a68376b..4ff7444 100644
--- a/ch68/68-02.html
+++ b/68-02.html
@@ -30,7 +30,7 @@
@@ -67,7 +67,7 @@
diff --git a/ch68/68-03.html b/68-03.html
similarity index 97%
rename from ch68/68-03.html
rename to 68-03.html
index 0bfd44d..4b28bb5 100644
--- a/ch68/68-03.html
+++ b/68-03.html
@@ -30,7 +30,7 @@
@@ -56,7 +56,7 @@
diff --git a/ch68/68-04.html b/68-04.html
similarity index 96%
rename from ch68/68-04.html
rename to 68-04.html
index 7d836cf..fdf6243 100644
--- a/ch68/68-04.html
+++ b/68-04.html
@@ -30,8 +30,8 @@
@@ -56,8 +56,8 @@
diff --git a/ch69/69-01.html b/69-01.html
similarity index 96%
rename from ch69/69-01.html
rename to 69-01.html
index 8033c32..523e60d 100644
--- a/ch69/69-01.html
+++ b/69-01.html
@@ -29,8 +29,8 @@
@@ -57,8 +57,8 @@
diff --git a/ch69/69-02.html b/69-02.html
similarity index 97%
rename from ch69/69-02.html
rename to 69-02.html
index 8f29fa5..bf4e339 100644
--- a/ch69/69-02.html
+++ b/69-02.html
@@ -30,7 +30,7 @@
@@ -55,7 +55,7 @@
diff --git a/ch69/69-03.html b/69-03.html
similarity index 97%
rename from ch69/69-03.html
rename to 69-03.html
index 651353c..12f32b4 100644
--- a/ch69/69-03.html
+++ b/69-03.html
@@ -30,7 +30,7 @@
@@ -60,7 +60,7 @@
diff --git a/ch69/69-04.html b/69-04.html
similarity index 96%
rename from ch69/69-04.html
rename to 69-04.html
index 8cb5b99..4ceb086 100644
--- a/ch69/69-04.html
+++ b/69-04.html
@@ -30,8 +30,8 @@
@@ -169,8 +169,8 @@ D_PolysetRecursiveTriangle (lp3, new, lp2);
diff --git a/ch70/70-01.html b/70-01.html
similarity index 96%
rename from ch70/70-01.html
rename to 70-01.html
index 91fa90f..8534437 100644
--- a/ch70/70-01.html
+++ b/70-01.html
@@ -29,8 +29,8 @@
@@ -52,8 +52,8 @@
diff --git a/ch70/70-02.html b/70-02.html
similarity index 97%
rename from ch70/70-02.html
rename to 70-02.html
index f93ad8c..6c2b7b8 100644
--- a/ch70/70-02.html
+++ b/70-02.html
@@ -30,7 +30,7 @@
@@ -50,7 +50,7 @@
diff --git a/ch70/70-03.html b/70-03.html
similarity index 98%
rename from ch70/70-03.html
rename to 70-03.html
index 6ed5e58..06c97ee 100644
--- a/ch70/70-03.html
+++ b/70-03.html
@@ -30,7 +30,7 @@
@@ -54,7 +54,7 @@
diff --git a/ch70/70-04.html b/70-04.html
similarity index 98%
rename from ch70/70-04.html
rename to 70-04.html
index 6db4cd4..7ccdca0 100644
--- a/ch70/70-04.html
+++ b/70-04.html
@@ -30,7 +30,7 @@
@@ -55,7 +55,7 @@
diff --git a/ch70/70-05.html b/70-05.html
similarity index 98%
rename from ch70/70-05.html
rename to 70-05.html
index 2e6795b..38f8ea0 100644
--- a/ch70/70-05.html
+++ b/70-05.html
@@ -30,7 +30,7 @@
@@ -55,7 +55,7 @@
diff --git a/ch70/70-06.html b/70-06.html
similarity index 98%
rename from ch70/70-06.html
rename to 70-06.html
index 1fff723..ec183ca 100644
--- a/ch70/70-06.html
+++ b/70-06.html
@@ -30,7 +30,7 @@
@@ -58,7 +58,7 @@
diff --git a/ch70/70-07.html b/70-07.html
similarity index 97%
rename from ch70/70-07.html
rename to 70-07.html
index d9dbf6b..762702c 100644
--- a/ch70/70-07.html
+++ b/70-07.html
@@ -30,7 +30,7 @@
@@ -56,7 +56,7 @@
diff --git a/ch70/70-08.html b/70-08.html
similarity index 98%
rename from ch70/70-08.html
rename to 70-08.html
index a99650d..263aa6c 100644
--- a/ch70/70-08.html
+++ b/70-08.html
@@ -30,7 +30,7 @@
@@ -53,7 +53,7 @@
diff --git a/ch70/70-09.html b/70-09.html
similarity index 96%
rename from ch70/70-09.html
rename to 70-09.html
index 8d40ae7..048d394 100644
--- a/ch70/70-09.html
+++ b/70-09.html
@@ -30,8 +30,8 @@
@@ -54,8 +54,8 @@
diff --git a/about_author.html b/about_author.html
index 546154e..afe6fef 100644
--- a/about_author.html
+++ b/about_author.html
@@ -31,7 +31,7 @@
| Previous |
Table of Contents |
-Next |
+Next |
@@ -43,7 +43,7 @@
| Previous |
Table of Contents |
-Next |
+Next |
diff --git a/appendix-a.html b/appendix-a.html
index 2a5e6ea..588e495 100644
--- a/appendix-a.html
+++ b/appendix-a.html
@@ -28,7 +28,7 @@
-| Previous |
+Previous |
Table of Contents |
Next |
@@ -52,7 +52,7 @@
-| Previous |
+Previous |
Table of Contents |
Next |
diff --git a/ch01/images/01-01i.jpg b/images/01-01i.jpg
similarity index 100%
rename from ch01/images/01-01i.jpg
rename to images/01-01i.jpg
diff --git a/ch01/images/01-02i.jpg b/images/01-02i.jpg
similarity index 100%
rename from ch01/images/01-02i.jpg
rename to images/01-02i.jpg
diff --git a/ch01/images/01-03i.jpg b/images/01-03i.jpg
similarity index 100%
rename from ch01/images/01-03i.jpg
rename to images/01-03i.jpg
diff --git a/ch01/images/01-04i.jpg b/images/01-04i.jpg
similarity index 100%
rename from ch01/images/01-04i.jpg
rename to images/01-04i.jpg
diff --git a/ch01/images/01-05i.jpg b/images/01-05i.jpg
similarity index 100%
rename from ch01/images/01-05i.jpg
rename to images/01-05i.jpg
diff --git a/ch01/images/01-06i.jpg b/images/01-06i.jpg
similarity index 100%
rename from ch01/images/01-06i.jpg
rename to images/01-06i.jpg
diff --git a/ch02/images/02-01.jpg b/images/02-01.jpg
similarity index 100%
rename from ch02/images/02-01.jpg
rename to images/02-01.jpg
diff --git a/ch02/images/02-01i.jpg b/images/02-01i.jpg
similarity index 100%
rename from ch02/images/02-01i.jpg
rename to images/02-01i.jpg
diff --git a/ch02/images/02-02.jpg b/images/02-02.jpg
similarity index 100%
rename from ch02/images/02-02.jpg
rename to images/02-02.jpg
diff --git a/ch02/images/02-02i.jpg b/images/02-02i.jpg
similarity index 100%
rename from ch02/images/02-02i.jpg
rename to images/02-02i.jpg
diff --git a/ch02/images/02-03i.jpg b/images/02-03i.jpg
similarity index 100%
rename from ch02/images/02-03i.jpg
rename to images/02-03i.jpg
diff --git a/ch03/images/03-01.jpg b/images/03-01.jpg
similarity index 100%
rename from ch03/images/03-01.jpg
rename to images/03-01.jpg
diff --git a/ch03/images/03-01i.jpg b/images/03-01i.jpg
similarity index 100%
rename from ch03/images/03-01i.jpg
rename to images/03-01i.jpg
diff --git a/ch03/images/03-02.jpg b/images/03-02.jpg
similarity index 100%
rename from ch03/images/03-02.jpg
rename to images/03-02.jpg
diff --git a/ch03/images/03-03.jpg b/images/03-03.jpg
similarity index 100%
rename from ch03/images/03-03.jpg
rename to images/03-03.jpg
diff --git a/ch04/images/04-01.jpg b/images/04-01.jpg
similarity index 100%
rename from ch04/images/04-01.jpg
rename to images/04-01.jpg
diff --git a/ch04/images/04-01i.jpg b/images/04-01i.jpg
similarity index 100%
rename from ch04/images/04-01i.jpg
rename to images/04-01i.jpg
diff --git a/ch04/images/04-02.jpg b/images/04-02.jpg
similarity index 100%
rename from ch04/images/04-02.jpg
rename to images/04-02.jpg
diff --git a/ch04/images/04-02i.jpg b/images/04-02i.jpg
similarity index 100%
rename from ch04/images/04-02i.jpg
rename to images/04-02i.jpg
diff --git a/ch04/images/04-03.jpg b/images/04-03.jpg
similarity index 100%
rename from ch04/images/04-03.jpg
rename to images/04-03.jpg
diff --git a/ch04/images/04-03i.jpg b/images/04-03i.jpg
similarity index 100%
rename from ch04/images/04-03i.jpg
rename to images/04-03i.jpg
diff --git a/ch04/images/04-04.jpg b/images/04-04.jpg
similarity index 100%
rename from ch04/images/04-04.jpg
rename to images/04-04.jpg
diff --git a/ch04/images/04-04i.jpg b/images/04-04i.jpg
similarity index 100%
rename from ch04/images/04-04i.jpg
rename to images/04-04i.jpg
diff --git a/ch04/images/04-05.jpg b/images/04-05.jpg
similarity index 100%
rename from ch04/images/04-05.jpg
rename to images/04-05.jpg
diff --git a/ch04/images/04-06.jpg b/images/04-06.jpg
similarity index 100%
rename from ch04/images/04-06.jpg
rename to images/04-06.jpg
diff --git a/ch04/images/04-07.jpg b/images/04-07.jpg
similarity index 100%
rename from ch04/images/04-07.jpg
rename to images/04-07.jpg
diff --git a/ch04/images/04-08.jpg b/images/04-08.jpg
similarity index 100%
rename from ch04/images/04-08.jpg
rename to images/04-08.jpg
diff --git a/ch05/images/05-01.jpg b/images/05-01.jpg
similarity index 100%
rename from ch05/images/05-01.jpg
rename to images/05-01.jpg
diff --git a/ch05/images/05-01i.jpg b/images/05-01i.jpg
similarity index 100%
rename from ch05/images/05-01i.jpg
rename to images/05-01i.jpg
diff --git a/ch05/images/05-02.jpg b/images/05-02.jpg
similarity index 100%
rename from ch05/images/05-02.jpg
rename to images/05-02.jpg
diff --git a/ch05/images/05-02i.jpg b/images/05-02i.jpg
similarity index 100%
rename from ch05/images/05-02i.jpg
rename to images/05-02i.jpg
diff --git a/ch05/images/05-03i.jpg b/images/05-03i.jpg
similarity index 100%
rename from ch05/images/05-03i.jpg
rename to images/05-03i.jpg
diff --git a/ch05/images/05-04i.jpg b/images/05-04i.jpg
similarity index 100%
rename from ch05/images/05-04i.jpg
rename to images/05-04i.jpg
diff --git a/ch06/images/06-01.jpg b/images/06-01.jpg
similarity index 100%
rename from ch06/images/06-01.jpg
rename to images/06-01.jpg
diff --git a/ch06/images/06-01i.jpg b/images/06-01i.jpg
similarity index 100%
rename from ch06/images/06-01i.jpg
rename to images/06-01i.jpg
diff --git a/ch06/images/06-02.jpg b/images/06-02.jpg
similarity index 100%
rename from ch06/images/06-02.jpg
rename to images/06-02.jpg
diff --git a/ch07/images/07-01i.jpg b/images/07-01i.jpg
similarity index 100%
rename from ch07/images/07-01i.jpg
rename to images/07-01i.jpg
diff --git a/ch07/images/07-02i.jpg b/images/07-02i.jpg
similarity index 100%
rename from ch07/images/07-02i.jpg
rename to images/07-02i.jpg
diff --git a/ch07/images/07-03i.jpg b/images/07-03i.jpg
similarity index 100%
rename from ch07/images/07-03i.jpg
rename to images/07-03i.jpg
diff --git a/ch07/images/07-04i.jpg b/images/07-04i.jpg
similarity index 100%
rename from ch07/images/07-04i.jpg
rename to images/07-04i.jpg
diff --git a/ch07/images/07-05i.jpg b/images/07-05i.jpg
similarity index 100%
rename from ch07/images/07-05i.jpg
rename to images/07-05i.jpg
diff --git a/ch07/images/07-06i.jpg b/images/07-06i.jpg
similarity index 100%
rename from ch07/images/07-06i.jpg
rename to images/07-06i.jpg
diff --git a/ch07/images/07-07i.jpg b/images/07-07i.jpg
similarity index 100%
rename from ch07/images/07-07i.jpg
rename to images/07-07i.jpg
diff --git a/ch07/images/07-08i.jpg b/images/07-08i.jpg
similarity index 100%
rename from ch07/images/07-08i.jpg
rename to images/07-08i.jpg
diff --git a/ch08/images/08-01.jpg b/images/08-01.jpg
similarity index 100%
rename from ch08/images/08-01.jpg
rename to images/08-01.jpg
diff --git a/ch08/images/08-01i.jpg b/images/08-01i.jpg
similarity index 100%
rename from ch08/images/08-01i.jpg
rename to images/08-01i.jpg
diff --git a/ch08/images/08-02.jpg b/images/08-02.jpg
similarity index 100%
rename from ch08/images/08-02.jpg
rename to images/08-02.jpg
diff --git a/ch08/images/08-02i.jpg b/images/08-02i.jpg
similarity index 100%
rename from ch08/images/08-02i.jpg
rename to images/08-02i.jpg
diff --git a/ch08/images/08-03.jpg b/images/08-03.jpg
similarity index 100%
rename from ch08/images/08-03.jpg
rename to images/08-03.jpg
diff --git a/ch08/images/08-03i.jpg b/images/08-03i.jpg
similarity index 100%
rename from ch08/images/08-03i.jpg
rename to images/08-03i.jpg
diff --git a/ch08/images/08-04i.jpg b/images/08-04i.jpg
similarity index 100%
rename from ch08/images/08-04i.jpg
rename to images/08-04i.jpg
diff --git a/ch08/images/08-05i.jpg b/images/08-05i.jpg
similarity index 100%
rename from ch08/images/08-05i.jpg
rename to images/08-05i.jpg
diff --git a/ch09/images/09-01.jpg b/images/09-01.jpg
similarity index 100%
rename from ch09/images/09-01.jpg
rename to images/09-01.jpg
diff --git a/ch09/images/09-01i.jpg b/images/09-01i.jpg
similarity index 100%
rename from ch09/images/09-01i.jpg
rename to images/09-01i.jpg
diff --git a/ch09/images/09-02.jpg b/images/09-02.jpg
similarity index 100%
rename from ch09/images/09-02.jpg
rename to images/09-02.jpg
diff --git a/ch09/images/09-02i.jpg b/images/09-02i.jpg
similarity index 100%
rename from ch09/images/09-02i.jpg
rename to images/09-02i.jpg
diff --git a/ch09/images/09-03.jpg b/images/09-03.jpg
similarity index 100%
rename from ch09/images/09-03.jpg
rename to images/09-03.jpg
diff --git a/ch09/images/09-03i.jpg b/images/09-03i.jpg
similarity index 100%
rename from ch09/images/09-03i.jpg
rename to images/09-03i.jpg
diff --git a/ch09/images/09-04.jpg b/images/09-04.jpg
similarity index 100%
rename from ch09/images/09-04.jpg
rename to images/09-04.jpg
diff --git a/ch09/images/09-04i.jpg b/images/09-04i.jpg
similarity index 100%
rename from ch09/images/09-04i.jpg
rename to images/09-04i.jpg
diff --git a/ch09/images/09-05i.jpg b/images/09-05i.jpg
similarity index 100%
rename from ch09/images/09-05i.jpg
rename to images/09-05i.jpg
diff --git a/ch10/images/10-01.jpg b/images/10-01.jpg
similarity index 100%
rename from ch10/images/10-01.jpg
rename to images/10-01.jpg
diff --git a/ch10/images/10-01i.jpg b/images/10-01i.jpg
similarity index 100%
rename from ch10/images/10-01i.jpg
rename to images/10-01i.jpg
diff --git a/ch10/images/10-02.jpg b/images/10-02.jpg
similarity index 100%
rename from ch10/images/10-02.jpg
rename to images/10-02.jpg
diff --git a/ch10/images/10-02i.jpg b/images/10-02i.jpg
similarity index 100%
rename from ch10/images/10-02i.jpg
rename to images/10-02i.jpg
diff --git a/ch10/images/10-03.jpg b/images/10-03.jpg
similarity index 100%
rename from ch10/images/10-03.jpg
rename to images/10-03.jpg
diff --git a/ch10/images/10-03i.jpg b/images/10-03i.jpg
similarity index 100%
rename from ch10/images/10-03i.jpg
rename to images/10-03i.jpg
diff --git a/ch11/images/11-01.jpg b/images/11-01.jpg
similarity index 100%
rename from ch11/images/11-01.jpg
rename to images/11-01.jpg
diff --git a/ch11/images/11-01i.jpg b/images/11-01i.jpg
similarity index 100%
rename from ch11/images/11-01i.jpg
rename to images/11-01i.jpg
diff --git a/ch11/images/11-02.jpg b/images/11-02.jpg
similarity index 100%
rename from ch11/images/11-02.jpg
rename to images/11-02.jpg
diff --git a/ch11/images/11-02i.jpg b/images/11-02i.jpg
similarity index 100%
rename from ch11/images/11-02i.jpg
rename to images/11-02i.jpg
diff --git a/ch11/images/11-03.jpg b/images/11-03.jpg
similarity index 100%
rename from ch11/images/11-03.jpg
rename to images/11-03.jpg
diff --git a/ch11/images/11-03i.jpg b/images/11-03i.jpg
similarity index 100%
rename from ch11/images/11-03i.jpg
rename to images/11-03i.jpg
diff --git a/ch11/images/11-04.jpg b/images/11-04.jpg
similarity index 100%
rename from ch11/images/11-04.jpg
rename to images/11-04.jpg
diff --git a/ch11/images/11-04i.jpg b/images/11-04i.jpg
similarity index 100%
rename from ch11/images/11-04i.jpg
rename to images/11-04i.jpg
diff --git a/ch11/images/11-05.jpg b/images/11-05.jpg
similarity index 100%
rename from ch11/images/11-05.jpg
rename to images/11-05.jpg
diff --git a/ch11/images/11-05i.jpg b/images/11-05i.jpg
similarity index 100%
rename from ch11/images/11-05i.jpg
rename to images/11-05i.jpg
diff --git a/ch11/images/11-06.jpg b/images/11-06.jpg
similarity index 100%
rename from ch11/images/11-06.jpg
rename to images/11-06.jpg
diff --git a/ch11/images/11-06i.jpg b/images/11-06i.jpg
similarity index 100%
rename from ch11/images/11-06i.jpg
rename to images/11-06i.jpg
diff --git a/ch12/images/12-01.jpg b/images/12-01.jpg
similarity index 100%
rename from ch12/images/12-01.jpg
rename to images/12-01.jpg
diff --git a/ch12/images/12-01i.jpg b/images/12-01i.jpg
similarity index 100%
rename from ch12/images/12-01i.jpg
rename to images/12-01i.jpg
diff --git a/ch12/images/12-02.jpg b/images/12-02.jpg
similarity index 100%
rename from ch12/images/12-02.jpg
rename to images/12-02.jpg
diff --git a/ch12/images/12-02i.jpg b/images/12-02i.jpg
similarity index 100%
rename from ch12/images/12-02i.jpg
rename to images/12-02i.jpg
diff --git a/ch12/images/12-03i.jpg b/images/12-03i.jpg
similarity index 100%
rename from ch12/images/12-03i.jpg
rename to images/12-03i.jpg
diff --git a/ch12/images/12-04i.jpg b/images/12-04i.jpg
similarity index 100%
rename from ch12/images/12-04i.jpg
rename to images/12-04i.jpg
diff --git a/ch12/images/12-05i.jpg b/images/12-05i.jpg
similarity index 100%
rename from ch12/images/12-05i.jpg
rename to images/12-05i.jpg
diff --git a/ch12/images/12-06i.jpg b/images/12-06i.jpg
similarity index 100%
rename from ch12/images/12-06i.jpg
rename to images/12-06i.jpg
diff --git a/ch13/images/13-01.jpg b/images/13-01.jpg
similarity index 100%
rename from ch13/images/13-01.jpg
rename to images/13-01.jpg
diff --git a/ch13/images/13-01i.jpg b/images/13-01i.jpg
similarity index 100%
rename from ch13/images/13-01i.jpg
rename to images/13-01i.jpg
diff --git a/ch13/images/13-02.jpg b/images/13-02.jpg
similarity index 100%
rename from ch13/images/13-02.jpg
rename to images/13-02.jpg
diff --git a/ch13/images/13-02i.jpg b/images/13-02i.jpg
similarity index 100%
rename from ch13/images/13-02i.jpg
rename to images/13-02i.jpg
diff --git a/ch13/images/13-03i.jpg b/images/13-03i.jpg
similarity index 100%
rename from ch13/images/13-03i.jpg
rename to images/13-03i.jpg
diff --git a/ch14/images/14-01.jpg b/images/14-01.jpg
similarity index 100%
rename from ch14/images/14-01.jpg
rename to images/14-01.jpg
diff --git a/ch14/images/14-01i.jpg b/images/14-01i.jpg
similarity index 100%
rename from ch14/images/14-01i.jpg
rename to images/14-01i.jpg
diff --git a/ch14/images/14-02.jpg b/images/14-02.jpg
similarity index 100%
rename from ch14/images/14-02.jpg
rename to images/14-02.jpg
diff --git a/ch14/images/14-02i.jpg b/images/14-02i.jpg
similarity index 100%
rename from ch14/images/14-02i.jpg
rename to images/14-02i.jpg
diff --git a/ch14/images/14-03.jpg b/images/14-03.jpg
similarity index 100%
rename from ch14/images/14-03.jpg
rename to images/14-03.jpg
diff --git a/ch15/images/15-01.jpg b/images/15-01.jpg
similarity index 100%
rename from ch15/images/15-01.jpg
rename to images/15-01.jpg
diff --git a/ch15/images/15-01i.jpg b/images/15-01i.jpg
similarity index 100%
rename from ch15/images/15-01i.jpg
rename to images/15-01i.jpg
diff --git a/ch15/images/15-02.jpg b/images/15-02.jpg
similarity index 100%
rename from ch15/images/15-02.jpg
rename to images/15-02.jpg
diff --git a/ch15/images/15-03.jpg b/images/15-03.jpg
similarity index 100%
rename from ch15/images/15-03.jpg
rename to images/15-03.jpg
diff --git a/ch15/images/15-04.jpg b/images/15-04.jpg
similarity index 100%
rename from ch15/images/15-04.jpg
rename to images/15-04.jpg
diff --git a/ch15/images/15-05.jpg b/images/15-05.jpg
similarity index 100%
rename from ch15/images/15-05.jpg
rename to images/15-05.jpg
diff --git a/ch16/images/16-01.jpg b/images/16-01.jpg
similarity index 100%
rename from ch16/images/16-01.jpg
rename to images/16-01.jpg
diff --git a/ch16/images/16-01i.jpg b/images/16-01i.jpg
similarity index 100%
rename from ch16/images/16-01i.jpg
rename to images/16-01i.jpg
diff --git a/ch16/images/16-02.jpg b/images/16-02.jpg
similarity index 100%
rename from ch16/images/16-02.jpg
rename to images/16-02.jpg
diff --git a/ch16/images/16-02i.jpg b/images/16-02i.jpg
similarity index 100%
rename from ch16/images/16-02i.jpg
rename to images/16-02i.jpg
diff --git a/ch16/images/16-03i.jpg b/images/16-03i.jpg
similarity index 100%
rename from ch16/images/16-03i.jpg
rename to images/16-03i.jpg
diff --git a/ch16/images/16-04i.jpg b/images/16-04i.jpg
similarity index 100%
rename from ch16/images/16-04i.jpg
rename to images/16-04i.jpg
diff --git a/ch17/images/17-01.jpg b/images/17-01.jpg
similarity index 100%
rename from ch17/images/17-01.jpg
rename to images/17-01.jpg
diff --git a/ch17/images/17-01i.jpg b/images/17-01i.jpg
similarity index 100%
rename from ch17/images/17-01i.jpg
rename to images/17-01i.jpg
diff --git a/ch17/images/17-02.jpg b/images/17-02.jpg
similarity index 100%
rename from ch17/images/17-02.jpg
rename to images/17-02.jpg
diff --git a/ch17/images/17-02i.jpg b/images/17-02i.jpg
similarity index 100%
rename from ch17/images/17-02i.jpg
rename to images/17-02i.jpg
diff --git a/ch17/images/17-03.jpg b/images/17-03.jpg
similarity index 100%
rename from ch17/images/17-03.jpg
rename to images/17-03.jpg
diff --git a/ch17/images/17-03i.jpg b/images/17-03i.jpg
similarity index 100%
rename from ch17/images/17-03i.jpg
rename to images/17-03i.jpg
diff --git a/ch17/images/17-04i.jpg b/images/17-04i.jpg
similarity index 100%
rename from ch17/images/17-04i.jpg
rename to images/17-04i.jpg
diff --git a/ch17/images/17-05i.jpg b/images/17-05i.jpg
similarity index 100%
rename from ch17/images/17-05i.jpg
rename to images/17-05i.jpg
diff --git a/ch18/images/18-01.jpg b/images/18-01.jpg
similarity index 100%
rename from ch18/images/18-01.jpg
rename to images/18-01.jpg
diff --git a/ch18/images/18-01i.jpg b/images/18-01i.jpg
similarity index 100%
rename from ch18/images/18-01i.jpg
rename to images/18-01i.jpg
diff --git a/ch19/images/19-01i.jpg b/images/19-01i.jpg
similarity index 100%
rename from ch19/images/19-01i.jpg
rename to images/19-01i.jpg
diff --git a/ch19/images/19-02i.jpg b/images/19-02i.jpg
similarity index 100%
rename from ch19/images/19-02i.jpg
rename to images/19-02i.jpg
diff --git a/ch19/images/19-03i.jpg b/images/19-03i.jpg
similarity index 100%
rename from ch19/images/19-03i.jpg
rename to images/19-03i.jpg
diff --git a/ch19/images/19-04i.jpg b/images/19-04i.jpg
similarity index 100%
rename from ch19/images/19-04i.jpg
rename to images/19-04i.jpg
diff --git a/ch19/images/19-05i.jpg b/images/19-05i.jpg
similarity index 100%
rename from ch19/images/19-05i.jpg
rename to images/19-05i.jpg
diff --git a/ch19/images/19-06i.jpg b/images/19-06i.jpg
similarity index 100%
rename from ch19/images/19-06i.jpg
rename to images/19-06i.jpg
diff --git a/ch20/images/20-01.jpg b/images/20-01.jpg
similarity index 100%
rename from ch20/images/20-01.jpg
rename to images/20-01.jpg
diff --git a/ch20/images/20-01i.jpg b/images/20-01i.jpg
similarity index 100%
rename from ch20/images/20-01i.jpg
rename to images/20-01i.jpg
diff --git a/ch20/images/20-02.jpg b/images/20-02.jpg
similarity index 100%
rename from ch20/images/20-02.jpg
rename to images/20-02.jpg
diff --git a/ch20/images/20-02i.jpg b/images/20-02i.jpg
similarity index 100%
rename from ch20/images/20-02i.jpg
rename to images/20-02i.jpg
diff --git a/ch20/images/20-03.jpg b/images/20-03.jpg
similarity index 100%
rename from ch20/images/20-03.jpg
rename to images/20-03.jpg
diff --git a/ch20/images/20-03i.jpg b/images/20-03i.jpg
similarity index 100%
rename from ch20/images/20-03i.jpg
rename to images/20-03i.jpg
diff --git a/ch20/images/20-04.jpg b/images/20-04.jpg
similarity index 100%
rename from ch20/images/20-04.jpg
rename to images/20-04.jpg
diff --git a/ch20/images/20-04i.jpg b/images/20-04i.jpg
similarity index 100%
rename from ch20/images/20-04i.jpg
rename to images/20-04i.jpg
diff --git a/ch20/images/20-05.jpg b/images/20-05.jpg
similarity index 100%
rename from ch20/images/20-05.jpg
rename to images/20-05.jpg
diff --git a/ch20/images/20-05i.jpg b/images/20-05i.jpg
similarity index 100%
rename from ch20/images/20-05i.jpg
rename to images/20-05i.jpg
diff --git a/ch20/images/20-06.jpg b/images/20-06.jpg
similarity index 100%
rename from ch20/images/20-06.jpg
rename to images/20-06.jpg
diff --git a/ch20/images/20-07.jpg b/images/20-07.jpg
similarity index 100%
rename from ch20/images/20-07.jpg
rename to images/20-07.jpg
diff --git a/ch20/images/20-08.jpg b/images/20-08.jpg
similarity index 100%
rename from ch20/images/20-08.jpg
rename to images/20-08.jpg
diff --git a/ch21/images/21-01.jpg b/images/21-01.jpg
similarity index 100%
rename from ch21/images/21-01.jpg
rename to images/21-01.jpg
diff --git a/ch21/images/21-02.jpg b/images/21-02.jpg
similarity index 100%
rename from ch21/images/21-02.jpg
rename to images/21-02.jpg
diff --git a/ch23/images/23-01.jpg b/images/23-01.jpg
similarity index 100%
rename from ch23/images/23-01.jpg
rename to images/23-01.jpg
diff --git a/ch23/images/23-01i.jpg b/images/23-01i.jpg
similarity index 100%
rename from ch23/images/23-01i.jpg
rename to images/23-01i.jpg
diff --git a/ch23/images/23-02.jpg b/images/23-02.jpg
similarity index 100%
rename from ch23/images/23-02.jpg
rename to images/23-02.jpg
diff --git a/ch23/images/23-02i.jpg b/images/23-02i.jpg
similarity index 100%
rename from ch23/images/23-02i.jpg
rename to images/23-02i.jpg
diff --git a/ch23/images/23-03i.jpg b/images/23-03i.jpg
similarity index 100%
rename from ch23/images/23-03i.jpg
rename to images/23-03i.jpg
diff --git a/ch24/images/24-01.jpg b/images/24-01.jpg
similarity index 100%
rename from ch24/images/24-01.jpg
rename to images/24-01.jpg
diff --git a/ch24/images/24-01i.jpg b/images/24-01i.jpg
similarity index 100%
rename from ch24/images/24-01i.jpg
rename to images/24-01i.jpg
diff --git a/ch25/images/25-01.jpg b/images/25-01.jpg
similarity index 100%
rename from ch25/images/25-01.jpg
rename to images/25-01.jpg
diff --git a/ch25/images/25-01i.jpg b/images/25-01i.jpg
similarity index 100%
rename from ch25/images/25-01i.jpg
rename to images/25-01i.jpg
diff --git a/ch25/images/25-02.jpg b/images/25-02.jpg
similarity index 100%
rename from ch25/images/25-02.jpg
rename to images/25-02.jpg
diff --git a/ch25/images/25-02i.jpg b/images/25-02i.jpg
similarity index 100%
rename from ch25/images/25-02i.jpg
rename to images/25-02i.jpg
diff --git a/ch25/images/25-03.jpg b/images/25-03.jpg
similarity index 100%
rename from ch25/images/25-03.jpg
rename to images/25-03.jpg
diff --git a/ch26/images/26-01i.jpg b/images/26-01i.jpg
similarity index 100%
rename from ch26/images/26-01i.jpg
rename to images/26-01i.jpg
diff --git a/ch27/images/27-01.jpg b/images/27-01.jpg
similarity index 100%
rename from ch27/images/27-01.jpg
rename to images/27-01.jpg
diff --git a/ch27/images/27-01i.jpg b/images/27-01i.jpg
similarity index 100%
rename from ch27/images/27-01i.jpg
rename to images/27-01i.jpg
diff --git a/ch27/images/27-02i.jpg b/images/27-02i.jpg
similarity index 100%
rename from ch27/images/27-02i.jpg
rename to images/27-02i.jpg
diff --git a/ch28/images/28-01i.jpg b/images/28-01i.jpg
similarity index 100%
rename from ch28/images/28-01i.jpg
rename to images/28-01i.jpg
diff --git a/ch29/images/29-01.jpg b/images/29-01.jpg
similarity index 100%
rename from ch29/images/29-01.jpg
rename to images/29-01.jpg
diff --git a/ch29/images/29-01i.jpg b/images/29-01i.jpg
similarity index 100%
rename from ch29/images/29-01i.jpg
rename to images/29-01i.jpg
diff --git a/ch29/images/29-02.jpg b/images/29-02.jpg
similarity index 100%
rename from ch29/images/29-02.jpg
rename to images/29-02.jpg
diff --git a/ch29/images/29-02i.jpg b/images/29-02i.jpg
similarity index 100%
rename from ch29/images/29-02i.jpg
rename to images/29-02i.jpg
diff --git a/ch29/images/29-03.jpg b/images/29-03.jpg
similarity index 100%
rename from ch29/images/29-03.jpg
rename to images/29-03.jpg
diff --git a/ch29/images/29-03i.jpg b/images/29-03i.jpg
similarity index 100%
rename from ch29/images/29-03i.jpg
rename to images/29-03i.jpg
diff --git a/ch29/images/29-04.jpg b/images/29-04.jpg
similarity index 100%
rename from ch29/images/29-04.jpg
rename to images/29-04.jpg
diff --git a/ch30/images/30-01.jpg b/images/30-01.jpg
similarity index 100%
rename from ch30/images/30-01.jpg
rename to images/30-01.jpg
diff --git a/ch30/images/30-01i.jpg b/images/30-01i.jpg
similarity index 100%
rename from ch30/images/30-01i.jpg
rename to images/30-01i.jpg
diff --git a/ch30/images/30-02i.jpg b/images/30-02i.jpg
similarity index 100%
rename from ch30/images/30-02i.jpg
rename to images/30-02i.jpg
diff --git a/ch30/images/30-03i.jpg b/images/30-03i.jpg
similarity index 100%
rename from ch30/images/30-03i.jpg
rename to images/30-03i.jpg
diff --git a/ch30/images/30-04i.jpg b/images/30-04i.jpg
similarity index 100%
rename from ch30/images/30-04i.jpg
rename to images/30-04i.jpg
diff --git a/ch31/images/31-01.jpg b/images/31-01.jpg
similarity index 100%
rename from ch31/images/31-01.jpg
rename to images/31-01.jpg
diff --git a/ch32/images/32-01.jpg b/images/32-01.jpg
similarity index 100%
rename from ch32/images/32-01.jpg
rename to images/32-01.jpg
diff --git a/ch32/images/32-01i.jpg b/images/32-01i.jpg
similarity index 100%
rename from ch32/images/32-01i.jpg
rename to images/32-01i.jpg
diff --git a/ch33/images/33-01.jpg b/images/33-01.jpg
similarity index 100%
rename from ch33/images/33-01.jpg
rename to images/33-01.jpg
diff --git a/ch34/images/34-01i.jpg b/images/34-01i.jpg
similarity index 100%
rename from ch34/images/34-01i.jpg
rename to images/34-01i.jpg
diff --git a/ch34/images/34-02i.jpg b/images/34-02i.jpg
similarity index 100%
rename from ch34/images/34-02i.jpg
rename to images/34-02i.jpg
diff --git a/ch35/images/35-01.jpg b/images/35-01.jpg
similarity index 100%
rename from ch35/images/35-01.jpg
rename to images/35-01.jpg
diff --git a/ch35/images/35-01i.jpg b/images/35-01i.jpg
similarity index 100%
rename from ch35/images/35-01i.jpg
rename to images/35-01i.jpg
diff --git a/ch35/images/35-02.jpg b/images/35-02.jpg
similarity index 100%
rename from ch35/images/35-02.jpg
rename to images/35-02.jpg
diff --git a/ch35/images/35-03.jpg b/images/35-03.jpg
similarity index 100%
rename from ch35/images/35-03.jpg
rename to images/35-03.jpg
diff --git a/ch35/images/35-04.jpg b/images/35-04.jpg
similarity index 100%
rename from ch35/images/35-04.jpg
rename to images/35-04.jpg
diff --git a/ch35/images/35-05.jpg b/images/35-05.jpg
similarity index 100%
rename from ch35/images/35-05.jpg
rename to images/35-05.jpg
diff --git a/ch36/images/36-01.jpg b/images/36-01.jpg
similarity index 100%
rename from ch36/images/36-01.jpg
rename to images/36-01.jpg
diff --git a/ch36/images/36-02.jpg b/images/36-02.jpg
similarity index 100%
rename from ch36/images/36-02.jpg
rename to images/36-02.jpg
diff --git a/ch36/images/36-03.jpg b/images/36-03.jpg
similarity index 100%
rename from ch36/images/36-03.jpg
rename to images/36-03.jpg
diff --git a/ch36/images/36-04.jpg b/images/36-04.jpg
similarity index 100%
rename from ch36/images/36-04.jpg
rename to images/36-04.jpg
diff --git a/ch36/images/36-05.jpg b/images/36-05.jpg
similarity index 100%
rename from ch36/images/36-05.jpg
rename to images/36-05.jpg
diff --git a/ch37/images/37-01i.jpg b/images/37-01i.jpg
similarity index 100%
rename from ch37/images/37-01i.jpg
rename to images/37-01i.jpg
diff --git a/ch38/images/38-01.jpg b/images/38-01.jpg
similarity index 100%
rename from ch38/images/38-01.jpg
rename to images/38-01.jpg
diff --git a/ch38/images/38-01i.jpg b/images/38-01i.jpg
similarity index 100%
rename from ch38/images/38-01i.jpg
rename to images/38-01i.jpg
diff --git a/ch38/images/38-02.jpg b/images/38-02.jpg
similarity index 100%
rename from ch38/images/38-02.jpg
rename to images/38-02.jpg
diff --git a/ch38/images/38-03.jpg b/images/38-03.jpg
similarity index 100%
rename from ch38/images/38-03.jpg
rename to images/38-03.jpg
diff --git a/ch39/images/39-01i.jpg b/images/39-01i.jpg
similarity index 100%
rename from ch39/images/39-01i.jpg
rename to images/39-01i.jpg
diff --git a/ch39/images/39-02i.jpg b/images/39-02i.jpg
similarity index 100%
rename from ch39/images/39-02i.jpg
rename to images/39-02i.jpg
diff --git a/ch40/images/40-01.jpg b/images/40-01.jpg
similarity index 100%
rename from ch40/images/40-01.jpg
rename to images/40-01.jpg
diff --git a/ch40/images/40-01i.jpg b/images/40-01i.jpg
similarity index 100%
rename from ch40/images/40-01i.jpg
rename to images/40-01i.jpg
diff --git a/ch40/images/40-02.jpg b/images/40-02.jpg
similarity index 100%
rename from ch40/images/40-02.jpg
rename to images/40-02.jpg
diff --git a/ch40/images/40-03.jpg b/images/40-03.jpg
similarity index 100%
rename from ch40/images/40-03.jpg
rename to images/40-03.jpg
diff --git a/ch41/images/41-01.jpg b/images/41-01.jpg
similarity index 100%
rename from ch41/images/41-01.jpg
rename to images/41-01.jpg
diff --git a/ch41/images/41-01i.jpg b/images/41-01i.jpg
similarity index 100%
rename from ch41/images/41-01i.jpg
rename to images/41-01i.jpg
diff --git a/ch41/images/41-02.jpg b/images/41-02.jpg
similarity index 100%
rename from ch41/images/41-02.jpg
rename to images/41-02.jpg
diff --git a/ch42/images/42-01.jpg b/images/42-01.jpg
similarity index 100%
rename from ch42/images/42-01.jpg
rename to images/42-01.jpg
diff --git a/ch42/images/42-01i.jpg b/images/42-01i.jpg
similarity index 100%
rename from ch42/images/42-01i.jpg
rename to images/42-01i.jpg
diff --git a/ch42/images/42-02.jpg b/images/42-02.jpg
similarity index 100%
rename from ch42/images/42-02.jpg
rename to images/42-02.jpg
diff --git a/ch43/images/43-01.jpg b/images/43-01.jpg
similarity index 100%
rename from ch43/images/43-01.jpg
rename to images/43-01.jpg
diff --git a/ch43/images/43-02.jpg b/images/43-02.jpg
similarity index 100%
rename from ch43/images/43-02.jpg
rename to images/43-02.jpg
diff --git a/ch43/images/43-03.jpg b/images/43-03.jpg
similarity index 100%
rename from ch43/images/43-03.jpg
rename to images/43-03.jpg
diff --git a/ch43/images/43-04.jpg b/images/43-04.jpg
similarity index 100%
rename from ch43/images/43-04.jpg
rename to images/43-04.jpg
diff --git a/ch43/images/43-05.jpg b/images/43-05.jpg
similarity index 100%
rename from ch43/images/43-05.jpg
rename to images/43-05.jpg
diff --git a/ch44/images/44-01.jpg b/images/44-01.jpg
similarity index 100%
rename from ch44/images/44-01.jpg
rename to images/44-01.jpg
diff --git a/ch44/images/44-01i.jpg b/images/44-01i.jpg
similarity index 100%
rename from ch44/images/44-01i.jpg
rename to images/44-01i.jpg
diff --git a/ch44/images/44-02.jpg b/images/44-02.jpg
similarity index 100%
rename from ch44/images/44-02.jpg
rename to images/44-02.jpg
diff --git a/ch44/images/44-02i.jpg b/images/44-02i.jpg
similarity index 100%
rename from ch44/images/44-02i.jpg
rename to images/44-02i.jpg
diff --git a/ch45/images/45-01.jpg b/images/45-01.jpg
similarity index 100%
rename from ch45/images/45-01.jpg
rename to images/45-01.jpg
diff --git a/ch45/images/45-01i.jpg b/images/45-01i.jpg
similarity index 100%
rename from ch45/images/45-01i.jpg
rename to images/45-01i.jpg
diff --git a/ch45/images/45-02.jpg b/images/45-02.jpg
similarity index 100%
rename from ch45/images/45-02.jpg
rename to images/45-02.jpg
diff --git a/ch45/images/45-02i.jpg b/images/45-02i.jpg
similarity index 100%
rename from ch45/images/45-02i.jpg
rename to images/45-02i.jpg
diff --git a/ch47/images/47-01.jpg b/images/47-01.jpg
similarity index 100%
rename from ch47/images/47-01.jpg
rename to images/47-01.jpg
diff --git a/ch47/images/47-01i.jpg b/images/47-01i.jpg
similarity index 100%
rename from ch47/images/47-01i.jpg
rename to images/47-01i.jpg
diff --git a/ch47/images/47-02.jpg b/images/47-02.jpg
similarity index 100%
rename from ch47/images/47-02.jpg
rename to images/47-02.jpg
diff --git a/ch48/images/48-01.jpg b/images/48-01.jpg
similarity index 100%
rename from ch48/images/48-01.jpg
rename to images/48-01.jpg
diff --git a/ch48/images/48-01i.jpg b/images/48-01i.jpg
similarity index 100%
rename from ch48/images/48-01i.jpg
rename to images/48-01i.jpg
diff --git a/ch48/images/48-02.jpg b/images/48-02.jpg
similarity index 100%
rename from ch48/images/48-02.jpg
rename to images/48-02.jpg
diff --git a/ch48/images/48-03.jpg b/images/48-03.jpg
similarity index 100%
rename from ch48/images/48-03.jpg
rename to images/48-03.jpg
diff --git a/ch49/images/49-01.jpg b/images/49-01.jpg
similarity index 100%
rename from ch49/images/49-01.jpg
rename to images/49-01.jpg
diff --git a/ch49/images/49-01i.jpg b/images/49-01i.jpg
similarity index 100%
rename from ch49/images/49-01i.jpg
rename to images/49-01i.jpg
diff --git a/ch50/images/50-01.jpg b/images/50-01.jpg
similarity index 100%
rename from ch50/images/50-01.jpg
rename to images/50-01.jpg
diff --git a/ch50/images/50-02.jpg b/images/50-02.jpg
similarity index 100%
rename from ch50/images/50-02.jpg
rename to images/50-02.jpg
diff --git a/ch50/images/50-03.jpg b/images/50-03.jpg
similarity index 100%
rename from ch50/images/50-03.jpg
rename to images/50-03.jpg
diff --git a/ch50/images/50-04.jpg b/images/50-04.jpg
similarity index 100%
rename from ch50/images/50-04.jpg
rename to images/50-04.jpg
diff --git a/ch50/images/50-05.jpg b/images/50-05.jpg
similarity index 100%
rename from ch50/images/50-05.jpg
rename to images/50-05.jpg
diff --git a/ch51/images/51-01.jpg b/images/51-01.jpg
similarity index 100%
rename from ch51/images/51-01.jpg
rename to images/51-01.jpg
diff --git a/ch51/images/51-01i.jpg b/images/51-01i.jpg
similarity index 100%
rename from ch51/images/51-01i.jpg
rename to images/51-01i.jpg
diff --git a/ch51/images/51-02.jpg b/images/51-02.jpg
similarity index 100%
rename from ch51/images/51-02.jpg
rename to images/51-02.jpg
diff --git a/ch51/images/51-03.jpg b/images/51-03.jpg
similarity index 100%
rename from ch51/images/51-03.jpg
rename to images/51-03.jpg
diff --git a/ch51/images/51-04.jpg b/images/51-04.jpg
similarity index 100%
rename from ch51/images/51-04.jpg
rename to images/51-04.jpg
diff --git a/ch53/images/53-01.jpg b/images/53-01.jpg
similarity index 100%
rename from ch53/images/53-01.jpg
rename to images/53-01.jpg
diff --git a/ch54/images/54-01.jpg b/images/54-01.jpg
similarity index 100%
rename from ch54/images/54-01.jpg
rename to images/54-01.jpg
diff --git a/ch54/images/54-02.jpg b/images/54-02.jpg
similarity index 100%
rename from ch54/images/54-02.jpg
rename to images/54-02.jpg
diff --git a/ch54/images/54-03.jpg b/images/54-03.jpg
similarity index 100%
rename from ch54/images/54-03.jpg
rename to images/54-03.jpg
diff --git a/ch54/images/54-04.jpg b/images/54-04.jpg
similarity index 100%
rename from ch54/images/54-04.jpg
rename to images/54-04.jpg
diff --git a/ch55/images/55-01.jpg b/images/55-01.jpg
similarity index 100%
rename from ch55/images/55-01.jpg
rename to images/55-01.jpg
diff --git a/ch55/images/55-02.jpg b/images/55-02.jpg
similarity index 100%
rename from ch55/images/55-02.jpg
rename to images/55-02.jpg
diff --git a/ch55/images/55-03.jpg b/images/55-03.jpg
similarity index 100%
rename from ch55/images/55-03.jpg
rename to images/55-03.jpg
diff --git a/ch56/images/56-01.jpg b/images/56-01.jpg
similarity index 100%
rename from ch56/images/56-01.jpg
rename to images/56-01.jpg
diff --git a/ch56/images/56-01i.jpg b/images/56-01i.jpg
similarity index 100%
rename from ch56/images/56-01i.jpg
rename to images/56-01i.jpg
diff --git a/ch56/images/56-02.jpg b/images/56-02.jpg
similarity index 100%
rename from ch56/images/56-02.jpg
rename to images/56-02.jpg
diff --git a/ch56/images/56-03.jpg b/images/56-03.jpg
similarity index 100%
rename from ch56/images/56-03.jpg
rename to images/56-03.jpg
diff --git a/ch56/images/56-04.jpg b/images/56-04.jpg
similarity index 100%
rename from ch56/images/56-04.jpg
rename to images/56-04.jpg
diff --git a/ch56/images/56-05.jpg b/images/56-05.jpg
similarity index 100%
rename from ch56/images/56-05.jpg
rename to images/56-05.jpg
diff --git a/ch57/images/57-01.jpg b/images/57-01.jpg
similarity index 100%
rename from ch57/images/57-01.jpg
rename to images/57-01.jpg
diff --git a/ch57/images/57-01i.jpg b/images/57-01i.jpg
similarity index 100%
rename from ch57/images/57-01i.jpg
rename to images/57-01i.jpg
diff --git a/ch58/images/58-01.jpg b/images/58-01.jpg
similarity index 100%
rename from ch58/images/58-01.jpg
rename to images/58-01.jpg
diff --git a/ch58/images/58-01i.jpg b/images/58-01i.jpg
similarity index 100%
rename from ch58/images/58-01i.jpg
rename to images/58-01i.jpg
diff --git a/ch58/images/58-02.jpg b/images/58-02.jpg
similarity index 100%
rename from ch58/images/58-02.jpg
rename to images/58-02.jpg
diff --git a/ch58/images/58-03.jpg b/images/58-03.jpg
similarity index 100%
rename from ch58/images/58-03.jpg
rename to images/58-03.jpg
diff --git a/ch58/images/58-04.jpg b/images/58-04.jpg
similarity index 100%
rename from ch58/images/58-04.jpg
rename to images/58-04.jpg
diff --git a/ch58/images/58-05.jpg b/images/58-05.jpg
similarity index 100%
rename from ch58/images/58-05.jpg
rename to images/58-05.jpg
diff --git a/ch58/images/58-06.jpg b/images/58-06.jpg
similarity index 100%
rename from ch58/images/58-06.jpg
rename to images/58-06.jpg
diff --git a/ch58/images/58-07.jpg b/images/58-07.jpg
similarity index 100%
rename from ch58/images/58-07.jpg
rename to images/58-07.jpg
diff --git a/ch59/images/59-01.jpg b/images/59-01.jpg
similarity index 100%
rename from ch59/images/59-01.jpg
rename to images/59-01.jpg
diff --git a/ch59/images/59-01i.jpg b/images/59-01i.jpg
similarity index 100%
rename from ch59/images/59-01i.jpg
rename to images/59-01i.jpg
diff --git a/ch59/images/59-02.jpg b/images/59-02.jpg
similarity index 100%
rename from ch59/images/59-02.jpg
rename to images/59-02.jpg
diff --git a/ch59/images/59-02i.jpg b/images/59-02i.jpg
similarity index 100%
rename from ch59/images/59-02i.jpg
rename to images/59-02i.jpg
diff --git a/ch59/images/59-03.jpg b/images/59-03.jpg
similarity index 100%
rename from ch59/images/59-03.jpg
rename to images/59-03.jpg
diff --git a/ch59/images/59-04.jpg b/images/59-04.jpg
similarity index 100%
rename from ch59/images/59-04.jpg
rename to images/59-04.jpg
diff --git a/ch59/images/59-05.jpg b/images/59-05.jpg
similarity index 100%
rename from ch59/images/59-05.jpg
rename to images/59-05.jpg
diff --git a/ch59/images/59-06.jpg b/images/59-06.jpg
similarity index 100%
rename from ch59/images/59-06.jpg
rename to images/59-06.jpg
diff --git a/ch59/images/59-07.jpg b/images/59-07.jpg
similarity index 100%
rename from ch59/images/59-07.jpg
rename to images/59-07.jpg
diff --git a/ch59/images/59-08.jpg b/images/59-08.jpg
similarity index 100%
rename from ch59/images/59-08.jpg
rename to images/59-08.jpg
diff --git a/ch59/images/59-09.jpg b/images/59-09.jpg
similarity index 100%
rename from ch59/images/59-09.jpg
rename to images/59-09.jpg
diff --git a/ch60/images/60-01.jpg b/images/60-01.jpg
similarity index 100%
rename from ch60/images/60-01.jpg
rename to images/60-01.jpg
diff --git a/ch60/images/60-02.jpg b/images/60-02.jpg
similarity index 100%
rename from ch60/images/60-02.jpg
rename to images/60-02.jpg
diff --git a/ch60/images/60-03.jpg b/images/60-03.jpg
similarity index 100%
rename from ch60/images/60-03.jpg
rename to images/60-03.jpg
diff --git a/ch61/images/61-01.jpg b/images/61-01.jpg
similarity index 100%
rename from ch61/images/61-01.jpg
rename to images/61-01.jpg
diff --git a/ch61/images/61-01d.jpg b/images/61-01d.jpg
similarity index 100%
rename from ch61/images/61-01d.jpg
rename to images/61-01d.jpg
diff --git a/ch61/images/61-01i.jpg b/images/61-01i.jpg
similarity index 100%
rename from ch61/images/61-01i.jpg
rename to images/61-01i.jpg
diff --git a/ch61/images/61-02.jpg b/images/61-02.jpg
similarity index 100%
rename from ch61/images/61-02.jpg
rename to images/61-02.jpg
diff --git a/ch61/images/61-02d.jpg b/images/61-02d.jpg
similarity index 100%
rename from ch61/images/61-02d.jpg
rename to images/61-02d.jpg
diff --git a/ch61/images/61-02i.jpg b/images/61-02i.jpg
similarity index 100%
rename from ch61/images/61-02i.jpg
rename to images/61-02i.jpg
diff --git a/ch61/images/61-03.jpg b/images/61-03.jpg
similarity index 100%
rename from ch61/images/61-03.jpg
rename to images/61-03.jpg
diff --git a/ch61/images/61-03d.jpg b/images/61-03d.jpg
similarity index 100%
rename from ch61/images/61-03d.jpg
rename to images/61-03d.jpg
diff --git a/ch61/images/61-04.jpg b/images/61-04.jpg
similarity index 100%
rename from ch61/images/61-04.jpg
rename to images/61-04.jpg
diff --git a/ch61/images/61-04d.jpg b/images/61-04d.jpg
similarity index 100%
rename from ch61/images/61-04d.jpg
rename to images/61-04d.jpg
diff --git a/ch61/images/61-05.jpg b/images/61-05.jpg
similarity index 100%
rename from ch61/images/61-05.jpg
rename to images/61-05.jpg
diff --git a/ch61/images/61-05d.jpg b/images/61-05d.jpg
similarity index 100%
rename from ch61/images/61-05d.jpg
rename to images/61-05d.jpg
diff --git a/ch61/images/61-06.jpg b/images/61-06.jpg
similarity index 100%
rename from ch61/images/61-06.jpg
rename to images/61-06.jpg
diff --git a/ch61/images/61-06d.jpg b/images/61-06d.jpg
similarity index 100%
rename from ch61/images/61-06d.jpg
rename to images/61-06d.jpg
diff --git a/ch61/images/61-07.jpg b/images/61-07.jpg
similarity index 100%
rename from ch61/images/61-07.jpg
rename to images/61-07.jpg
diff --git a/ch61/images/61-07d.jpg b/images/61-07d.jpg
similarity index 100%
rename from ch61/images/61-07d.jpg
rename to images/61-07d.jpg
diff --git a/ch61/images/61-08.jpg b/images/61-08.jpg
similarity index 100%
rename from ch61/images/61-08.jpg
rename to images/61-08.jpg
diff --git a/ch61/images/61-08d.jpg b/images/61-08d.jpg
similarity index 100%
rename from ch61/images/61-08d.jpg
rename to images/61-08d.jpg
diff --git a/ch62/images/62-01.jpg b/images/62-01.jpg
similarity index 100%
rename from ch62/images/62-01.jpg
rename to images/62-01.jpg
diff --git a/ch62/images/62-01i.jpg b/images/62-01i.jpg
similarity index 100%
rename from ch62/images/62-01i.jpg
rename to images/62-01i.jpg
diff --git a/ch62/images/62-02.jpg b/images/62-02.jpg
similarity index 100%
rename from ch62/images/62-02.jpg
rename to images/62-02.jpg
diff --git a/ch62/images/62-03.jpg b/images/62-03.jpg
similarity index 100%
rename from ch62/images/62-03.jpg
rename to images/62-03.jpg
diff --git a/ch62/images/62-04.jpg b/images/62-04.jpg
similarity index 100%
rename from ch62/images/62-04.jpg
rename to images/62-04.jpg
diff --git a/ch64/images/64-01.jpg b/images/64-01.jpg
similarity index 100%
rename from ch64/images/64-01.jpg
rename to images/64-01.jpg
diff --git a/ch64/images/64-01i.jpg b/images/64-01i.jpg
similarity index 100%
rename from ch64/images/64-01i.jpg
rename to images/64-01i.jpg
diff --git a/ch64/images/64-02.jpg b/images/64-02.jpg
similarity index 100%
rename from ch64/images/64-02.jpg
rename to images/64-02.jpg
diff --git a/ch64/images/64-02i.jpg b/images/64-02i.jpg
similarity index 100%
rename from ch64/images/64-02i.jpg
rename to images/64-02i.jpg
diff --git a/ch64/images/64-03.jpg b/images/64-03.jpg
similarity index 100%
rename from ch64/images/64-03.jpg
rename to images/64-03.jpg
diff --git a/ch64/images/64-04.jpg b/images/64-04.jpg
similarity index 100%
rename from ch64/images/64-04.jpg
rename to images/64-04.jpg
diff --git a/ch64/images/64-05.jpg b/images/64-05.jpg
similarity index 100%
rename from ch64/images/64-05.jpg
rename to images/64-05.jpg
diff --git a/ch65/images/65-01.jpg b/images/65-01.jpg
similarity index 100%
rename from ch65/images/65-01.jpg
rename to images/65-01.jpg
diff --git a/ch65/images/65-02.jpg b/images/65-02.jpg
similarity index 100%
rename from ch65/images/65-02.jpg
rename to images/65-02.jpg
diff --git a/ch65/images/65-03.jpg b/images/65-03.jpg
similarity index 100%
rename from ch65/images/65-03.jpg
rename to images/65-03.jpg
diff --git a/ch66/images/66-01.jpg b/images/66-01.jpg
similarity index 100%
rename from ch66/images/66-01.jpg
rename to images/66-01.jpg
diff --git a/ch66/images/66-01i.jpg b/images/66-01i.jpg
similarity index 100%
rename from ch66/images/66-01i.jpg
rename to images/66-01i.jpg
diff --git a/ch66/images/66-02.jpg b/images/66-02.jpg
similarity index 100%
rename from ch66/images/66-02.jpg
rename to images/66-02.jpg
diff --git a/ch66/images/66-03.jpg b/images/66-03.jpg
similarity index 100%
rename from ch66/images/66-03.jpg
rename to images/66-03.jpg
diff --git a/ch66/images/66-04.jpg b/images/66-04.jpg
similarity index 100%
rename from ch66/images/66-04.jpg
rename to images/66-04.jpg
diff --git a/ch67/images/67-01.jpg b/images/67-01.jpg
similarity index 100%
rename from ch67/images/67-01.jpg
rename to images/67-01.jpg
diff --git a/ch67/images/67-02.jpg b/images/67-02.jpg
similarity index 100%
rename from ch67/images/67-02.jpg
rename to images/67-02.jpg
diff --git a/ch68/images/68-01.jpg b/images/68-01.jpg
similarity index 100%
rename from ch68/images/68-01.jpg
rename to images/68-01.jpg
diff --git a/ch68/images/68-02.jpg b/images/68-02.jpg
similarity index 100%
rename from ch68/images/68-02.jpg
rename to images/68-02.jpg
diff --git a/ch68/images/68-03.jpg b/images/68-03.jpg
similarity index 100%
rename from ch68/images/68-03.jpg
rename to images/68-03.jpg
diff --git a/ch68/images/68-04.jpg b/images/68-04.jpg
similarity index 100%
rename from ch68/images/68-04.jpg
rename to images/68-04.jpg
diff --git a/ch69/images/69-01.jpg b/images/69-01.jpg
similarity index 100%
rename from ch69/images/69-01.jpg
rename to images/69-01.jpg
diff --git a/ch69/images/69-02.jpg b/images/69-02.jpg
similarity index 100%
rename from ch69/images/69-02.jpg
rename to images/69-02.jpg
diff --git a/ch70/images/70-01i.jpg b/images/70-01i.jpg
similarity index 100%
rename from ch70/images/70-01i.jpg
rename to images/70-01i.jpg
diff --git a/ch70/images/70-02i.jpg b/images/70-02i.jpg
similarity index 100%
rename from ch70/images/70-02i.jpg
rename to images/70-02i.jpg
diff --git a/index.html b/index.html
index 9e8ec80..3ee2d66 100644
--- a/index.html
+++ b/index.html
@@ -35,1160 +35,1160 @@
About the Author
-
Part I
+
Part I
-- Chapter 1The Best Optimizer Is between Your Ears
+
- Chapter 1The Best Optimizer Is between Your Ears
-- The Human Element of Code Optimization
-
- Understanding High Performance
+
- The Human Element of Code Optimization
+
- Understanding High Performance
-- When Fast Isnt Fast
+
- When Fast Isnt Fast
-- Rules for Building High-Performance Code
+
- Rules for Building High-Performance Code
-- Know Where Youre Going
-
- Make a Big Map
-
- Make Lots of Little Maps
-
- Know the Territory
-
- Know When It Matters
-
- Always Consider the Alternatives
-
- Know How to Turn On the Juice
+
- Know Where Youre Going
+
- Make a Big Map
+
- Make Lots of Little Maps
+
- Know the Territory
+
- Know When It Matters
+
- Always Consider the Alternatives
+
- Know How to Turn On the Juice
-- Where Weve Been, What Weve Seen
+
- Where Weve Been, What Weve Seen
-- Where Were Going
+
- Where Were Going
-- Chapter 2A World Apart
+
- Chapter 2A World Apart
-- The Unique Nature of Assembly Language Optimization
-
- Instructions: The Individual versus the Collective
-
- Assembly Is Fundamentally Different
+
- The Unique Nature of Assembly Language Optimization
+
- Instructions: The Individual versus the Collective
+
- Assembly Is Fundamentally Different
-- Transformation Inefficiencies
-
- Self-Reliance
-
- Knowledge
+
- Transformation Inefficiencies
+
- Self-Reliance
+
- Knowledge
-- The Flexible Mind
+
- The Flexible Mind
-- Where to Begin?
+
- Where to Begin?
-- Chapter 3Assume Nothing
+
- Chapter 3Assume Nothing
-- Understanding and Using the Zen Timer
-
- The Costs of Ignorance
-
- The Zen Timer
+
- Understanding and Using the Zen Timer
+
- The Costs of Ignorance
+
- The Zen Timer
-- The Zen Timer Is a Means, Not an End
-
- Starting the Zen Timer
+
- The Zen Timer Is a Means, Not an End
+
- Starting the Zen Timer
-- Time and the PC
-
- Stopping the Zen Timer
-
- Reporting Timing Results
-
- Notes on the Zen Timer
-
- A Sample Use of the Zen Timer
-
- The Long-Period Zen Timer
+
- Time and the PC
+
- Stopping the Zen Timer
+
- Reporting Timing Results
+
- Notes on the Zen Timer
+
- A Sample Use of the Zen Timer
+
- The Long-Period Zen Timer
-- Stopping the Clock
+
- Stopping the Clock
-- Example Use of the Long-Period Zen Timer
-
- Using the Zen Timer from C
+
- Example Use of the Long-Period Zen Timer
+
- Using the Zen Timer from C
-- Watch Out for Optimizing Assemblers!
-
- Further Reading
-
- Armed with the Zen Timer, Onward and Upward
+
- Watch Out for Optimizing Assemblers!
+
- Further Reading
+
- Armed with the Zen Timer, Onward and Upward
-- Chapter 4In the Lair of the Cycle-Eaters
+
- Chapter 4In the Lair of the Cycle-Eaters
-- How the PC Hardware Devours Code Performance
-
- Cycle-Eaters
-
- The Nature of Cycle-Eaters
+
- How the PC Hardware Devours Code Performance
+
- Cycle-Eaters
+
- The Nature of Cycle-Eaters
-- The 8088s Ancestral Cycle-Eaters
+
- The 8088s Ancestral Cycle-Eaters
-- The 8-Bit Bus Cycle-Eater
+
- The 8-Bit Bus Cycle-Eater
-- The Impact of the 8-Bit Bus Cycle-Eater
-
- What to Do about the 8-Bit Bus Cycle-Eater?
+
- The Impact of the 8-Bit Bus Cycle-Eater
+
- What to Do about the 8-Bit Bus Cycle-Eater?
-- The Prefetch Queue Cycle-Eater
+
- The Prefetch Queue Cycle-Eater
-- Official Execution Times Are Only Part of the Story
-
- There Is No Such Beast as a True Instruction Execution Time
-
- Approximating Overall Execution Times
-
- What to Do about the Prefetch Queue Cycle-Eater?
-
- Holding Up the 8088
+
- Official Execution Times Are Only Part of the Story
+
- There Is No Such Beast as a True Instruction Execution Time
+
- Approximating Overall Execution Times
+
- What to Do about the Prefetch Queue Cycle-Eater?
+
- Holding Up the 8088
-- Dynamic RAM Refresh: The Invisible Hand
+
- Dynamic RAM Refresh: The Invisible Hand
-- How DRAM Refresh Works in the PC
-
- The Impact of DRAM Refresh
-
- What to Do About the DRAM Refresh Cycle-Eater?
+
- How DRAM Refresh Works in the PC
+
- The Impact of DRAM Refresh
+
- What to Do About the DRAM Refresh Cycle-Eater?
-- Wait States
-
- The Display Adapter Cycle-Eater
+
- Wait States
+
- The Display Adapter Cycle-Eater
-- The Impact of the Display Adapter Cycle-Eater
-
- What to Do about the Display Adapter Cycle-Eater?
-
- Cycle-Eaters: A Summary
-
- What Does It All Mean?
+
- The Impact of the Display Adapter Cycle-Eater
+
- What to Do about the Display Adapter Cycle-Eater?
+
- Cycle-Eaters: A Summary
+
- What Does It All Mean?
-- Chapter 5Crossing the Border
+
- Chapter 5Crossing the Border
-- Searching Files with Restartable Blocks
+
- Searching Files with Restartable Blocks
-- Searching for Text
+
- Searching for Text
-- Avoiding the String Trap
-
- Brute-Force Techniques
-
- Using memchr()
+
- Avoiding the String Trap
+
- Brute-Force Techniques
+
- Using memchr()
-- Making a Search Restartable
+
- Making a Search Restartable
-- Interpreting Where the Cycles Go
+
- Interpreting Where the Cycles Go
-- Knowing When Assembly Is Pointless
+
- Knowing When Assembly Is Pointless
-- Always Look Where Execution Is Going
+
- Always Look Where Execution Is Going
-- Chapter 6Looking Past Face Value
+
- Chapter 6Looking Past Face Value
-- How Machine Instructions May Do More Than You Think
+
- How Machine Instructions May Do More Than You Think
-- Memory Addressing and Arithmetic
+
- Memory Addressing and Arithmetic
-- Math via Memory Addressing
+
- Math via Memory Addressing
-- The Wonders of LEA on the 386
+
- The Wonders of LEA on the 386
-- Multiplication with LEA Using Non-Powers of Two
+
- Multiplication with LEA Using Non-Powers of Two
-- Chapter 7Local Optimization
+
- Chapter 7Local Optimization
-- Optimizing Halfway between Algorithms and Cycle Counting
+
- Optimizing Halfway between Algorithms and Cycle Counting
-- When LOOP Is a Bad Idea
+
- When LOOP Is a Bad Idea
-- The Lessons of LOOP and JCXZ
+
- The Lessons of LOOP and JCXZ
-- Avoiding LOOPS of Any Stripe
+
- Avoiding LOOPS of Any Stripe
-- Local Optimization
-
- Unrolling Loops
+
- Local Optimization
+
- Unrolling Loops
-- Rotating and Shifting with Tables
-
- NOT Flips BitsNot Flags
-
- Incrementing with and without Carry
+
- Rotating and Shifting with Tables
+
- NOT Flips BitsNot Flags
+
- Incrementing with and without Carry
-- Chapter 8Speeding Up C with Assembly Language
+
- Chapter 8Speeding Up C with Assembly Language
-- Jumping Languages When You Know Itll Help
+
- Jumping Languages When You Know Itll Help
-- Billy, Dont Be a Compiler
+
- Billy, Dont Be a Compiler
-- Dont Call Your Functions on Me, Baby
-
- Stack Frames Slow So Much
-
- Torn Between Two Segments
+
- Dont Call Your Functions on Me, Baby
+
- Stack Frames Slow So Much
+
- Torn Between Two Segments
-- Why Speeding Up Is Hard to Do
+
- Why Speeding Up Is Hard to Do
-- Taking It to the Limit
+
- Taking It to the Limit
-- A C-to-Assembly Case Study
+
- A C-to-Assembly Case Study
-- Chapter 9Hints My Readers Gave Me
+
- Chapter 9Hints My Readers Gave Me
-- Optimization Odds and Ends from the Field
+
- Optimization Odds and Ends from the Field
-- Another Look at LEA
-
- The Kennedy Portfolio
-
- Speeding Up Multiplication
-
- Optimizing Optimized Searching
-
- Short Sorts
-
- Full 32-Bit Division
-
- Sweet Spot Revisited
-
- Hard-Core Cycle Counting
-
- Hardwired Far Jumps
-
- Setting 32-Bit Registers: Time versus Space
+
- Another Look at LEA
+
- The Kennedy Portfolio
+
- Speeding Up Multiplication
+
- Optimizing Optimized Searching
+
- Short Sorts
+
- Full 32-Bit Division
+
- Sweet Spot Revisited
+
- Hard-Core Cycle Counting
+
- Hardwired Far Jumps
+
- Setting 32-Bit Registers: Time versus Space
-- Chapter 10Patient Coding, Faster Code
+
- Chapter 10Patient Coding, Faster Code
-- How Working Quickly Can Bring Execution to a Crawl
+
- How Working Quickly Can Bring Execution to a Crawl
-- The Case for Delayed Gratification
+
- The Case for Delayed Gratification
-- The Brute-Force Syndrome
+
- The Brute-Force Syndrome
-- Wasted Breakthroughs
+
- Wasted Breakthroughs
-- Recursion
+
- Recursion
-- Patient Optimization
+
- Patient Optimization
-- Chapter 11Pushing the 286 and 386
+
- Chapter 11Pushing the 286 and 386
-- New Registers, New Instructions, New Timings, New Complications
+
- New Registers, New Instructions, New Timings, New Complications
-- Family Matters
-
- Crossing the Gulf to the 286 and the 386
-
- In the Lair of the Cycle-Eaters, Part II
+
- Family Matters
+
- Crossing the Gulf to the 286 and the 386
+
- In the Lair of the Cycle-Eaters, Part II
-- System Wait States
-
- Data Alignment
+
- System Wait States
+
- Data Alignment
-- Code Alignment
+
- Code Alignment
-- Alignment and the 386
-
- Alignment and the Stack
-
- The DRAM Refresh Cycle-Eater: Still an Act of God
-
- The Display Adapter Cycle-Eater
+
- Alignment and the 386
+
- Alignment and the Stack
+
- The DRAM Refresh Cycle-Eater: Still an Act of God
+
- The Display Adapter Cycle-Eater
-- New Instructions and Features: The 286
-
- New Instructions and Features: The 386
+
- New Instructions and Features: The 286
+
- New Instructions and Features: The 386
-- Optimization Rules: The More Things Change...
-
- Detailed Optimization
+
- Optimization Rules: The More Things Change...
+
- Detailed Optimization
-- POPF and the 286
+
- POPF and the 286
-- Chapter 12Pushing the 486
+
- Chapter 12Pushing the 486
-- Its Not Just a Bigger 386
+
- Its Not Just a Bigger 386
-- Enter the 486
+
- Enter the 486
-- Rules to Optimize By
+
- Rules to Optimize By
-- The Hazards of Indexed Addressing
-
- Calculate Memory Pointers Ahead of Time
+
- The Hazards of Indexed Addressing
+
- Calculate Memory Pointers Ahead of Time
-- Caveat Programmor
+
- Caveat Programmor
-- Stack Addressing and Address Pipelining
-
- Problems with Byte Registers
-
- More Fun with Byte Registers
-
- Timing Your Own 486 Code
+
- Stack Addressing and Address Pipelining
+
- Problems with Byte Registers
+
- More Fun with Byte Registers
+
- Timing Your Own 486 Code
-- The Story Continues
+
- The Story Continues
-- Chapter 13Aiming the 486
+
- Chapter 13Aiming the 486
-- Pipelines and Other Hazards of the High End
+
- Pipelines and Other Hazards of the High End
-- 486 Pipeline Optimization
+
- 486 Pipeline Optimization
-- BSWAP: More Useful Than You Might Think
-
- Pushing and Popping Memory
-
- Optimal 1-Bit Shifts and Rotates
-
- 32-Bit Addressing Modes
+
- BSWAP: More Useful Than You Might Think
+
- Pushing and Popping Memory
+
- Optimal 1-Bit Shifts and Rotates
+
- 32-Bit Addressing Modes
-- Chapter 14Boyer-Moore String Searching
+
- Chapter 14Boyer-Moore String Searching
-- Optimizing a Pretty Optimum Search Algorithm
-
- String Searching Refresher
-
- The Boyer-Moore Algorithm
-
- Boyer-Moore: The Good and the Bad
-
- Further Optimization of Boyer-Moore
-
- Know What You Know
+
- Optimizing a Pretty Optimum Search Algorithm
+
- String Searching Refresher
+
- The Boyer-Moore Algorithm
+
- Boyer-Moore: The Good and the Bad
+
- Further Optimization of Boyer-Moore
+
- Know What You Know
-- Chapter 15Linked Lists and plain Unintended Challenges
+
- Chapter 15Linked Lists and plain Unintended Challenges
-- Unfamiliar Problems with Familiar Data Structures
-
- Linked Lists
-
- Dummies and Sentinels
-
- Circular Lists
-
- Hi/Lo in 24 Bytes
+
- Unfamiliar Problems with Familiar Data Structures
+
- Linked Lists
+
- Dummies and Sentinels
+
- Circular Lists
+
- Hi/Lo in 24 Bytes
-- Chapter 16There Aint No Such Thing as the Fastest Code
+
- Chapter 16There Aint No Such Thing as the Fastest Code
-- Lessons Learned in the Pursuit of the Ultimate Word Counter
-
- Counting Words in a Hurry
+
- Lessons Learned in the Pursuit of the Ultimate Word Counter
+
- Counting Words in a Hurry
-- Which Way to Go from Here?
+
- Which Way to Go from Here?
-- Challenges and Hazards
+
- Challenges and Hazards
-- Blinding Yourself to a Better Approach
-
- Watch Out for Luggable Assumptions!
+
- Blinding Yourself to a Better Approach
+
- Watch Out for Luggable Assumptions!
-- The Astonishment of Right-Brain Optimization
-
- Levels of Optimization
+
- The Astonishment of Right-Brain Optimization
+
- Levels of Optimization
-- Optimization Level 1: Good Code
+
- Optimization Level 1: Good Code
-- Level 2: A New Perspective
+
- Level 2: A New Perspective
-- Level 3: Breakthrough
-
- Enough Word Counting Already!
+
- Level 3: Breakthrough
+
- Enough Word Counting Already!
-- Chapter 17The Game of Life
+
- Chapter 17The Game of Life
-- The Triumph of Algorithmic Optimization in a Cellular Automata Game
-
- Conways Game
+
- The Triumph of Algorithmic Optimization in a Cellular Automata Game
+
- Conways Game
-- The Rules of the Game
+
- The Rules of the Game
-- Where Does the Time Go?
-
- The Hazards and Advantages of Abstraction
-
- Heavy-Duty C++ Optimization
-
- Bringing In the Right Brain
+
- Where Does the Time Go?
+
- The Hazards and Advantages of Abstraction
+
- Heavy-Duty C++ Optimization
+
- Bringing In the Right Brain
-- Re-Examining the Task
-
- Acting on What We Know
-
- The Challenge That Ate My Life
+
- Re-Examining the Task
+
- Acting on What We Know
+
- The Challenge That Ate My Life
-- Chapter 18Its a plain Wonderful Life
+
- Chapter 18Its a plain Wonderful Life
-- Optimization beyond the Pale
-
- Breaking the Rules
-
- Table-Driven Magic
-
- Keeping Track of Change with a Change List
+
- Optimization beyond the Pale
+
- Breaking the Rules
+
- Table-Driven Magic
+
- Keeping Track of Change with a Change List
-- A Laypersons Overview of QLIFE
+
- A Laypersons Overview of QLIFE
-- Chapter 19Pentium: Not the Same Old Song
+
- Chapter 19Pentium: Not the Same Old Song
-- Learning a Whole Different Set of Optimization Rules
-
- The Return of Optimization as Art
-
- The Pentium: An Overview
+
- Learning a Whole Different Set of Optimization Rules
+
- The Return of Optimization as Art
+
- The Pentium: An Overview
-- Crossing Cache Lines
-
- Cache Organization
+
- Crossing Cache Lines
+
- Cache Organization
-- Faster Addressing and More
-
- Branch Prediction
-
- Miscellaneous Pentium Topics
+
- Faster Addressing and More
+
- Branch Prediction
+
- Miscellaneous Pentium Topics
-- 486 versus Pentium Optimization
-
- Going Superscalar
+
- 486 versus Pentium Optimization
+
- Going Superscalar
-- Chapter 20Pentium Rules
+
- Chapter 20Pentium Rules
-- How Your Carbon-Based Optimizer Can Put the Super in Superscalar
-
- An Instruction in Every Pipe
-
- V-Pipe-Capable Instructions
-
- Lockstep Execution
-
- Superscalar Notes
+
- How Your Carbon-Based Optimizer Can Put the Super in Superscalar
+
- An Instruction in Every Pipe
+
- V-Pipe-Capable Instructions
+
- Lockstep Execution
+
- Superscalar Notes
-- Register Starvation
+
- Register Starvation
-- Chapter 21Unleashing the Pentiums V-Pipe
+
- Chapter 21Unleashing the Pentiums V-Pipe
-- Focusing on Keeping Both Pentium Pipes Full
-
- Address Generation Interlocks
-
- Register Contention
+
- Focusing on Keeping Both Pentium Pipes Full
+
- Address Generation Interlocks
+
- Register Contention
-- Exceptions to Register Contention
+
- Exceptions to Register Contention
-- Whos in First?
-
- Pentium Optimization in Action
+
- Whos in First?
+
- Pentium Optimization in Action
-- A Quick Note on the 386 and 486
+
- A Quick Note on the 386 and 486
-- Chapter 22Zenning and the Flexible Mind
+
- Chapter 22Zenning and the Flexible Mind
-- Taking a Spin through What Youve Learned
-
- Zenning
+
- Taking a Spin through What Youve Learned
+
- Zenning
-Part II
+Part II
-- Chapter 23Bones and Sinew
+
- Chapter 23Bones and Sinew
-- At the Very Heart of Standard PC Graphics
-
- The VGA
-
- An Introduction to VGA Programming
-
- At the Core
+
- At the Very Heart of Standard PC Graphics
+
- The VGA
+
- An Introduction to VGA Programming
+
- At the Core
-- Linear Planes and True VGA Modes
-
- Smooth Panning
-
- Color Plane Manipulation
-
- Page Flipping
+
- Linear Planes and True VGA Modes
+
- Smooth Panning
+
- Color Plane Manipulation
+
- Page Flipping
-- The Hazards of VGA Clones
-
- Just the Beginning
-
- The Macro Assembler
+
- The Hazards of VGA Clones
+
- Just the Beginning
+
- The Macro Assembler
-- Chapter 24Parallel Processing with the VGA
+
- Chapter 24Parallel Processing with the VGA
-- Taking on Graphics Memory Four Bytes at a Time
-
- VGA Programming: ALUs and Latches
-
- Notes on the ALU/Latch Demo Program
+
- Taking on Graphics Memory Four Bytes at a Time
+
- VGA Programming: ALUs and Latches
+
- Notes on the ALU/Latch Demo Program
-- Chapter 25VGA Data Machinery
+
- Chapter 25VGA Data Machinery
-- The Barrel Shifter, Bit Mask, and Set/Reset Mechanisms
-
- VGA Data Rotation
-
- The Bit Mask
-
- The VGAs Set/Reset Circuitry
+
- The Barrel Shifter, Bit Mask, and Set/Reset Mechanisms
+
- VGA Data Rotation
+
- The Bit Mask
+
- The VGAs Set/Reset Circuitry
-- Setting All Planes to a Single Color
-
- Manipulating Planes Individually
+
- Setting All Planes to a Single Color
+
- Manipulating Planes Individually
-- Notes on Set/Reset
-
- A Brief Note on Word OUTs
+
- Notes on Set/Reset
+
- A Brief Note on Word OUTs
-- Chapter 26VGA Write Mode 3
+
- Chapter 26VGA Write Mode 3
-- The Write Mode That Grows on You
-
- A Mode Born in Strangeness
-
- A Note on Preserving Register Bits
+
- The Write Mode That Grows on You
+
- A Mode Born in Strangeness
+
- A Note on Preserving Register Bits
-- Chapter 27Yet Another VGA Write Mode
+
- Chapter 27Yet Another VGA Write Mode
-- Write Mode 2, Chunky Bitmaps,and Text-Graphics Coexistence
-
- Write Mode 2 and Set/Reset
+
- Write Mode 2, Chunky Bitmaps,and Text-Graphics Coexistence
+
- Write Mode 2 and Set/Reset
-- A Bytes Progress in Write Mode 2
-
- Copying Chunky Bitmaps to VGA Memory Using Write Mode 2
-
- Drawing Color-Patterned Lines Using Write Mode 2
+
- A Bytes Progress in Write Mode 2
+
- Copying Chunky Bitmaps to VGA Memory Using Write Mode 2
+
- Drawing Color-Patterned Lines Using Write Mode 2
-- When to Use Write Mode 2 and When to Use Set/Reset
-
- Mode 13H320×200 with 256 Colors
-
- Flipping Pages from Text to Graphics and Back
+
- When to Use Write Mode 2 and When to Use Set/Reset
+
- Mode 13H320×200 with 256 Colors
+
- Flipping Pages from Text to Graphics and Back
-- Chapter 28Reading VGA Memory
+
- Chapter 28Reading VGA Memory
-- Read Modes 0 and 1, and the Color Dont Care Register
-
- Read Mode 0
-
- Read Mode 1
-
- When all Planes Dont Care
+
- Read Modes 0 and 1, and the Color Dont Care Register
+
- Read Mode 0
+
- Read Mode 1
+
- When all Planes Dont Care
-- Chapter 29Saving Screens and Other VGA Mysteries
+
- Chapter 29Saving Screens and Other VGA Mysteries
-- Useful Nuggets from the VGA Zen File
-
- Saving and Restoring EGA and VGA Screens
-
- 16 Colors out of 64
-
- Overscan
-
- A Bonus Blanker
-
- Modifying VGA Registers
+
- Useful Nuggets from the VGA Zen File
+
- Saving and Restoring EGA and VGA Screens
+
- 16 Colors out of 64
+
- Overscan
+
- A Bonus Blanker
+
- Modifying VGA Registers
-- Chapter 30Video Est Omnis Divisa
+
- Chapter 30Video Est Omnis Divisa
-- The Joys and Galling Problems of Using Split Screens on the EGA and VGA
-
- How the Split Screen Works
+
- The Joys and Galling Problems of Using Split Screens on the EGA and VGA
+
- How the Split Screen Works
-- The Split Screen in Action
-
- VGA and EGA Split-Screen Operation Dont Mix
+
- The Split Screen in Action
+
- VGA and EGA Split-Screen Operation Dont Mix
-- Setting the Split-Screen-Related Registers
-
- The Problem with the EGA Split Screen
-
- Split Screen and Panning
+
- Setting the Split-Screen-Related Registers
+
- The Problem with the EGA Split Screen
+
- Split Screen and Panning
-- The Split Screen and Horizontal Panning: An Example
+
- The Split Screen and Horizontal Panning: An Example
-- Notes on Setting and Reading Registers
-
- Split Screens in Other Modes
-
- How Safe?
+
- Notes on Setting and Reading Registers
+
- Split Screens in Other Modes
+
- How Safe?
-- Chapter 31Higher 256-Color Resolution on the VGA
+
- Chapter 31Higher 256-Color Resolution on the VGA
-- When Is 320×200 Really 320×400?
-
- Why 320x200? Only IBM Knows for Sure
-
- 320x400 256-Color Mode
+
- When Is 320×200 Really 320×400?
+
- Why 320x200? Only IBM Knows for Sure
+
- 320x400 256-Color Mode
-- Display Memory Organization in 320x400 Mode
-
- Reading and Writing Pixels
+
- Display Memory Organization in 320x400 Mode
+
- Reading and Writing Pixels
-- Two 256-Color Pages
-
- Something to Think About
+
- Two 256-Color Pages
+
- Something to Think About
-- Chapter 32Be It Resolved: 360×480
+
- Chapter 32Be It Resolved: 360×480
-- Taking 256-Color Modes About as Far as the Standard VGA Can Take Them
-
- Extended 256-Color Modes: Whats Not to Like?
-
- 360x480 256-Color Mode
-
- How 360×480 256-Color Mode Works
+
- Taking 256-Color Modes About as Far as the Standard VGA Can Take Them
+
- Extended 256-Color Modes: Whats Not to Like?
+
- 360x480 256-Color Mode
+
- How 360×480 256-Color Mode Works
-- 480 Scan Lines per Screen: A Little Slower, But No Big Deal
-
- 360 Pixels per Scan Line: No Mean Feat
-
- Accessing Display Memory in 360×480 256-Color Mode
+
- 480 Scan Lines per Screen: A Little Slower, But No Big Deal
+
- 360 Pixels per Scan Line: No Mean Feat
+
- Accessing Display Memory in 360×480 256-Color Mode
-- Chapter 33Yogi Bear and Eurythmics Confront VGA Colors
+
- Chapter 33Yogi Bear and Eurythmics Confront VGA Colors
-- The Basics of VGA Color Generation
-
- VGA Color Basics
+
- The Basics of VGA Color Generation
+
- VGA Color Basics
-- The Palette RAM
-
- The DAC
-
- Color Paging with the Color Select Register
-
- 256-Color Mode
-
- Setting the Palette RAM
-
- Setting the DAC
+
- The Palette RAM
+
- The DAC
+
- Color Paging with the Color Select Register
+
- 256-Color Mode
+
- Setting the Palette RAM
+
- Setting the DAC
-- If You Cant Call the BIOS, Who Ya Gonna Call?
-
- An Example of Setting the DAC
+
- If You Cant Call the BIOS, Who Ya Gonna Call?
+
- An Example of Setting the DAC
-- Chapter 34Changing Colors without Writing Pixels
+
- Chapter 34Changing Colors without Writing Pixels
-- Special Effects through Realtime Manipulation of DAC Colors
-
- Color Cycling
-
- The Heart of the Problem
+
- Special Effects through Realtime Manipulation of DAC Colors
+
- Color Cycling
+
- The Heart of the Problem
-- Loading the DAC via the BIOS
-
- Loading the DAC Directly
+
- Loading the DAC via the BIOS
+
- Loading the DAC Directly
-- A Test Program for Color Cycling
-
- Color Cycling Approaches that Work
-
- Odds and Ends
+
- A Test Program for Color Cycling
+
- Color Cycling Approaches that Work
+
- Odds and Ends
-- The DAC Mask
-
- Reading the DAC
-
- Cycling Down
+
- The DAC Mask
+
- Reading the DAC
+
- Cycling Down
-- Chapter 35Bresenham Is Fast, and Fast Is Good
+
- Chapter 35Bresenham Is Fast, and Fast Is Good
-- Implementing and Optimizing Bresenhams Line-Drawing Algorithm
-
- The Task at Hand
-
- Bresenhams Line-Drawing Algorithm
+
- Implementing and Optimizing Bresenhams Line-Drawing Algorithm
+
- The Task at Hand
+
- Bresenhams Line-Drawing Algorithm
-- Strengths and Weaknesses
+
- Strengths and Weaknesses
-- An Implementation in C
+
- An Implementation in C
-- Looking at EVGALine
-
- Drawing Each Line
-
- Drawing Each Pixel
+
- Looking at EVGALine
+
- Drawing Each Line
+
- Drawing Each Pixel
-- Comments on the C Implementation
-
- Bresenhams Algorithm in Assembly
+
- Comments on the C Implementation
+
- Bresenhams Algorithm in Assembly
-- Chapter 36The Good, the Bad, and the Run-Sliced
+
- Chapter 36The Good, the Bad, and the Run-Sliced
-- Faster Bresenham Lines with Run-Length Slice Line Drawing
-
- Run-Length Slice Fundamentals
-
- Run-Length Slice Implementation
-
- Run-Length Slice Details
+
- Faster Bresenham Lines with Run-Length Slice Line Drawing
+
- Run-Length Slice Fundamentals
+
- Run-Length Slice Implementation
+
- Run-Length Slice Details
-- Chapter 37Dead Cats and Lightning Lines
+
- Chapter 37Dead Cats and Lightning Lines
-- Optimizing Run-Length Slice Line Drawing in a Major Way
-
- Fast Run-Length Slice Line Drawing
+
- Optimizing Run-Length Slice Line Drawing in a Major Way
+
- Fast Run-Length Slice Line Drawing
-- How Fast Is Fast?
-
- Further Optimizations
+
- How Fast Is Fast?
+
- Further Optimizations
-- Chapter 38The Polygon Primeval
+
- Chapter 38The Polygon Primeval
-- Drawing Polygons Efficiently and Quickly
-
- Filled Polygons
+
- Drawing Polygons Efficiently and Quickly
+
- Filled Polygons
-- Which Side Is Inside?
-
- How Do You Fit Polygons Together?
+
- Which Side Is Inside?
+
- How Do You Fit Polygons Together?
-- Filling Non-Overlapping Convex Polygons
-
- Oddball Cases
+
- Filling Non-Overlapping Convex Polygons
+
- Oddball Cases
-- Chapter 39Fast Convex Polygons
+
- Chapter 39Fast Convex Polygons
-- Filling Polygons in a Hurry
-
- Fast Convex Polygon Filling
+
- Filling Polygons in a Hurry
+
- Fast Convex Polygon Filling
-- Fast Drawing
-
- Fast Edge Tracing
+
- Fast Drawing
+
- Fast Edge Tracing
-- The Finishing Touch: Assembly Language
+
- The Finishing Touch: Assembly Language
-- Maximizing REP STOS
+
- Maximizing REP STOS
-- Faster Edge Tracing
+
- Faster Edge Tracing
-- Chapter 40Of Songs, Taxes, and the Simplicity of Complex Polygons
+
- Chapter 40Of Songs, Taxes, and the Simplicity of Complex Polygons
-- Dealing with Irregular Polygonal Areas
-
- Filling Arbitrary Polygons
+
- Dealing with Irregular Polygonal Areas
+
- Filling Arbitrary Polygons
-- Active Edges
+
- Active Edges
-- Complex Polygon Filling: An Implementation
+
- Complex Polygon Filling: An Implementation
-- More on Active Edges
-
- Performance Considerations
+
- More on Active Edges
+
- Performance Considerations
-- Nonconvex Polygons
+
- Nonconvex Polygons
-- Details, Details
+
- Details, Details
-- Chapter 41Those Way-Down Polygon Nomenclature Blues
+
- Chapter 41Those Way-Down Polygon Nomenclature Blues
-- Names Do Matter when You Conceptualize a Data Structure
-
- Nomenclature in Action
+
- Names Do Matter when You Conceptualize a Data Structure
+
- Nomenclature in Action
-- Chapter 42Wued in Haste; Fried, Stewed at Leisure
+
- Chapter 42Wued in Haste; Fried, Stewed at Leisure
-- Fast Antialiased Lines Using Wus Algorithm
-
- Wu Antialiasing
-
- Tracing and Intensity in One
-
- Sample Wu Antialiasing
+
- Fast Antialiased Lines Using Wus Algorithm
+
- Wu Antialiasing
+
- Tracing and Intensity in One
+
- Sample Wu Antialiasing
-- Notes on Wu Antialiasing
+
- Notes on Wu Antialiasing
-- Chapter 43Bit-Plane Animation
+
- Chapter 43Bit-Plane Animation
-- A Simple and Extremely Fast Animation Method for Limited Color
-
- Bit-Planes: The Basics
+
- A Simple and Extremely Fast Animation Method for Limited Color
+
- Bit-Planes: The Basics
-- Stacking the Palette Registers
+
- Stacking the Palette Registers
-- Bit-Plane Animation in Action
-
- Limitations of Bit-Plane Animation
-
- Shearing and Page Flipping
-
- Beating the Odds in the Jaw-Dropping Contest
+
- Bit-Plane Animation in Action
+
- Limitations of Bit-Plane Animation
+
- Shearing and Page Flipping
+
- Beating the Odds in the Jaw-Dropping Contest
-- Chapter 44Split Screens Save the Page Flipped Day
+
- Chapter 44Split Screens Save the Page Flipped Day
-- 640x480 Page Flipped Animation in 64K...Almost
+
- 640x480 Page Flipped Animation in 64K...Almost
-- A Plethora of Challenges
-
- A Page Flipping Animation Demonstration
+
- A Plethora of Challenges
+
- A Page Flipping Animation Demonstration
-- Write Mode 3
-
- Drawing Text
-
- Page Flipping
-
- Knowing When to Flip
+
- Write Mode 3
+
- Drawing Text
+
- Page Flipping
+
- Knowing When to Flip
-- Enter the Split Screen
+
- Enter the Split Screen
-- Chapter 45Dog Hair and Dirty Rectangles
+
- Chapter 45Dog Hair and Dirty Rectangles
-- Different Angles on Animation
-
- Plus ça Change
-
- VGA Access Times
-
- Dirty-Rectangle Animation
+
- Different Angles on Animation
+
- Plus ça Change
+
- VGA Access Times
+
- Dirty-Rectangle Animation
-- So Why Not Use Page Flipping?
+
- So Why Not Use Page Flipping?
-- Dirty Rectangles in Action
-
- Hi-Res VGA Page Flipping
-
- Another Interesting Twist on Page Flipping
+
- Dirty Rectangles in Action
+
- Hi-Res VGA Page Flipping
+
- Another Interesting Twist on Page Flipping
-- Chapter 46Who Was that Masked Image?
+
- Chapter 46Who Was that Masked Image?
-- Optimizing Dirty-Rectangle Animation
+
- Optimizing Dirty-Rectangle Animation
-- Dirty-Rectangle Animation, Continued
-
- Masked Images
-
- Internal Animation
+
- Dirty-Rectangle Animation, Continued
+
- Masked Images
+
- Internal Animation
-- Dirty-Rectangle Management
+
- Dirty-Rectangle Management
-- Drawing Order and Visual Quality
+
- Drawing Order and Visual Quality
-- Chapter 47Mode X: 256-Color VGA Magic
+
- Chapter 47Mode X: 256-Color VGA Magic
-- Introducing the VGAs Undocumented Animation-Optimal Mode
-
- What Makes Mode X Special?
-
- Selecting 320x240 256-Color Mode
-
- Designing from a Mode X Perspective
-
- Hardware Assist from an Unexpected Quarter
+
- Introducing the VGAs Undocumented Animation-Optimal Mode
+
- What Makes Mode X Special?
+
- Selecting 320x240 256-Color Mode
+
- Designing from a Mode X Perspective
+
- Hardware Assist from an Unexpected Quarter
-- Chapter 48Mode X Marks the Latch
+
- Chapter 48Mode X Marks the Latch
-- The Internals of Animations Best Video Display Mode
-
- Allocating Memory in Mode X
-
- Copying Pixel Blocks within Display Memory
+
- The Internals of Animations Best Video Display Mode
+
- Allocating Memory in Mode X
+
- Copying Pixel Blocks within Display Memory
-- Copying to Display Memory
+
- Copying to Display Memory
-- Who Was that Masked Image Copier?
+
- Who Was that Masked Image Copier?
-- Chapter 49Mode X 256-Color Animation
+
- Chapter 49Mode X 256-Color Animation
-- How to Make the VGA Really Get up and Dance
-
- Masked Copying
+
- How to Make the VGA Really Get up and Dance
+
- Masked Copying
-- Faster Masked Copying
-
- Notes on Masked Copying
+
- Faster Masked Copying
+
- Notes on Masked Copying
-- Animation
-
- Mode X Animation in Action
-
- Works Fast, Looks Great
+
- Animation
+
- Mode X Animation in Action
+
- Works Fast, Looks Great
-- Chapter 50Adding a Dimension
+
- Chapter 50Adding a Dimension
-- 3-D Animation Using Mode X
-
- References on 3-D Drawing
-
- The 3-D Drawing Pipeline
+
- 3-D Animation Using Mode X
+
- References on 3-D Drawing
+
- The 3-D Drawing Pipeline
-- Projection
-
- Translation
-
- Rotation
+
- Projection
+
- Translation
+
- Rotation
-- A Simple 3-D Example
+
- A Simple 3-D Example
-- Notes on the 3-D Animation Example
+
- Notes on the 3-D Animation Example
-- An Ongoing Journey
+
- An Ongoing Journey
-- Chapter 51Sneakers in Space
+
- Chapter 51Sneakers in Space
-- Using Backface Removal to Eliminate Hidden Surfaces
-
- One-sided Polygons: Backface Removal
+
- Using Backface Removal to Eliminate Hidden Surfaces
+
- One-sided Polygons: Backface Removal
-- Backface Removal in Action
+
- Backface Removal in Action
-- Incremental Transformation
-
- A Note on Rounding Negative Numbers
-
- Object Representation
+
- Incremental Transformation
+
- A Note on Rounding Negative Numbers
+
- Object Representation
-- Chapter 52Fast 3-D Animation: Meet X-Sharp
+
- Chapter 52Fast 3-D Animation: Meet X-Sharp
-- The First Iteration of a Generalized 3-D Animation Package
-
- This Chapters Demo Program
-
- A New Animation Framework: X-Sharp
-
- Three Keys to Realtime Animation Performance
+
- The First Iteration of a Generalized 3-D Animation Package
+
- This Chapters Demo Program
+
- A New Animation Framework: X-Sharp
+
- Three Keys to Realtime Animation Performance
-- Drawbacks
-
- Where the Time Goes
+
- Drawbacks
+
- Where the Time Goes
-- Chapter 53Raw Speed and More
+
- Chapter 53Raw Speed and More
-- The Naked Truth About Speed in 3-D Animation
-
- Raw Speed, Part 1: Assembly Language
-
- Raw Speed, Part II: Look it Up
+
- The Naked Truth About Speed in 3-D Animation
+
- Raw Speed, Part 1: Assembly Language
+
- Raw Speed, Part II: Look it Up
-- Hidden Surfaces
-
- Rounding
+
- Hidden Surfaces
+
- Rounding
-- Chapter 543-D Shading
+
- Chapter 543-D Shading
-- Putting Realistic Surfaces on Animated 3-D Objects
-
- Support for Older Processors
+
- Putting Realistic Surfaces on Animated 3-D Objects
+
- Support for Older Processors
-- Shading
+
- Shading
-- Ambient Shading
-
- Diffuse Shading
+
- Ambient Shading
+
- Diffuse Shading
-- Shading: Implementation Details
+
- Shading: Implementation Details
-- Chapter 55Color Modeling in 256-Color Mode
+
- Chapter 55Color Modeling in 256-Color Mode
-- Pondering X-Sharps Color Model in an RGB State of Mind
+
- Pondering X-Sharps Color Model in an RGB State of Mind
-- A Color Model
-
- A Bonus from the BitMan
+
- A Color Model
+
- A Bonus from the BitMan
-- Chapter 56Pooh and the Space Station
+
- Chapter 56Pooh and the Space Station
-- Using Fast Texture Mapping to Place Pooh on a Polygon
-
- Principles of Quick-and-Dirty Texture Mapping
+
- Using Fast Texture Mapping to Place Pooh on a Polygon
+
- Principles of Quick-and-Dirty Texture Mapping
-- Mapping Textures Made Easy
+
- Mapping Textures Made Easy
-- Fast Texture Mapping: An Implementation
+
- Fast Texture Mapping: An Implementation
-- Chapter 5710,000 Freshly Sheared Sheep on the Screen
+
- Chapter 5710,000 Freshly Sheared Sheep on the Screen
-- The Critical Role of Experience in Implementing Fast, Smooth Texture Mapping
+
- The Critical Role of Experience in Implementing Fast, Smooth Texture Mapping
-- Visual Quality: A Black Hole ... Er, Art
-
- Fixed-Point Arithmetic, Redux
-
- Texture Mapping: Orientation Independence
-
- Mapping Textures across Multiple Polygons
+
- Visual Quality: A Black Hole ... Er, Art
+
- Fixed-Point Arithmetic, Redux
+
- Texture Mapping: Orientation Independence
+
- Mapping Textures across Multiple Polygons
-- Fast Texture Mapping
+
- Fast Texture Mapping
-- Chapter 58Heinleins Crystal Ball, Spocks Brain, and the 9-Cycle Dare
+
- Chapter 58Heinleins Crystal Ball, Spocks Brain, and the 9-Cycle Dare
-- Using the Whole-Brain Approach to Accelerate Texture Mapping
-
- Texture Mapping Redux
+
- Using the Whole-Brain Approach to Accelerate Texture Mapping
+
- Texture Mapping Redux
-- Left-Brain Optimization
-
- A 90-Degree Shift in Perspective
+
- Left-Brain Optimization
+
- A 90-Degree Shift in Perspective
-- Thats NiceBut it Sure as Heck Aint 9 Cycles
+
- Thats NiceBut it Sure as Heck Aint 9 Cycles
-- Dont Stop Thinking about Those Cycles
+
- Dont Stop Thinking about Those Cycles
-- Texture Mapping Notes
+
- Texture Mapping Notes
-- Chapter 59The Idea of BSP Trees
+
- Chapter 59The Idea of BSP Trees
-- What BSP Trees Are and How to Walk Them
-
- BSP Trees
+
- What BSP Trees Are and How to Walk Them
+
- BSP Trees
-- Visibility Determination
-
- Limitations of BSP Trees
+
- Visibility Determination
+
- Limitations of BSP Trees
-- Building a BSP Tree
+
- Building a BSP Tree
-- Visibility Ordering
+
- Visibility Ordering
-- Inorder Walks of BSP Trees
+
- Inorder Walks of BSP Trees
-- Know It Cold
-
- Measure and Learn
+
- Know It Cold
+
- Measure and Learn
-- Surfing Amidst the Trees
+
- Surfing Amidst the Trees
-- Related Reading
+
- Related Reading
-- Chapter 60Compiling BSP Trees
+
- Chapter 60Compiling BSP Trees
-- Taking BSP Trees from Concept to Reality
-
- Compiling BSP Trees
+
- Taking BSP Trees from Concept to Reality
+
- Compiling BSP Trees
-- Parametric Lines
-
- Parametric Line Clipping
-
- The BSP Compiler
+
- Parametric Lines
+
- Parametric Line Clipping
+
- The BSP Compiler
-- Optimizing the BSP Tree
-
- BSP Optimization: an Undiscovered Country
+
- Optimizing the BSP Tree
+
- BSP Optimization: an Undiscovered Country
-- Chapter 61Frames of Reference
+
- Chapter 61Frames of Reference
-- The Fundamentals of the Math behind 3-D Graphics
+
- The Fundamentals of the Math behind 3-D Graphics
-- 3-D Math
-
- Foundation Definitions
+
- 3-D Math
+
- Foundation Definitions
-- The Dot Product
+
- The Dot Product
-- Dot Products of Unit Vectors
+
- Dot Products of Unit Vectors
-- Cross Products and the Generation of Polygon Normals
-
- Using the Sign of the Dot Product
-
- Using the Dot Product for Projection
-
- Rotation by Projection
+
- Cross Products and the Generation of Polygon Normals
+
- Using the Sign of the Dot Product
+
- Using the Dot Product for Projection
+
- Rotation by Projection
-- Chapter 62One Story, Two Rules, and a BSP Renderer
+
- Chapter 62One Story, Two Rules, and a BSP Renderer
-- Taking a Compiled BSP Tree from Logical to Visual Reality
+
- Taking a Compiled BSP Tree from Logical to Visual Reality
-- BSP-based Rendering
-
- The Rendering Pipeline
+
- BSP-based Rendering
+
- The Rendering Pipeline
-- Moving the Viewer
-
- Transformation into Viewspace
-
- Clipping
-
- Projection to Screenspace
-
- Walking the Tree, Backface Culling and Drawing
+
- Moving the Viewer
+
- Transformation into Viewspace
+
- Clipping
+
- Projection to Screenspace
+
- Walking the Tree, Backface Culling and Drawing
-- Notes on the BSP Renderer
+
- Notes on the BSP Renderer
-- Chapter 63Floating-Point for Real-Time 3-D
+
- Chapter 63Floating-Point for Real-Time 3-D
-- Knowing When to Hurl Conventional Math Wisdom Out the Window
-
- Not Your Fathers Floating-Point
-
- Pentium Floating-Point Optimization
+
- Knowing When to Hurl Conventional Math Wisdom Out the Window
+
- Not Your Fathers Floating-Point
+
- Pentium Floating-Point Optimization
-- Pipelining, Latency, and Throughput
-
- FXCH
+
- Pipelining, Latency, and Throughput
+
- FXCH
-- The Dot Product
-
- The Cross Product
-
- Transformation
-
- Projection
-
- Rounding Control
-
- A Farewell to 3-D Fixed-Point
+
- The Dot Product
+
- The Cross Product
+
- Transformation
+
- Projection
+
- Rounding Control
+
- A Farewell to 3-D Fixed-Point
-- Chapter 64Quakes Visible-Surface Determination
+
- Chapter 64Quakes Visible-Surface Determination
-- The Challenge of Separating All Things Seen from All Things Unseen
-
- VSD: The Toughest 3-D Challenge of All
-
- The Structure of Quake Levels
-
- Culling and Visible Surface Determination
+
- The Challenge of Separating All Things Seen from All Things Unseen
+
- VSD: The Toughest 3-D Challenge of All
+
- The Structure of Quake Levels
+
- Culling and Visible Surface Determination
-- Nodes Inside and Outside the View Frustum
+
- Nodes Inside and Outside the View Frustum
-- Overdraw
-
- The Beam Tree
-
- 3-D Engine du Jour
+
- Overdraw
+
- The Beam Tree
+
- 3-D Engine du Jour
-- Subdividing Raycast
-
- Vertex-Free Surfaces
-
- The Draw-Buffer
-
- Span-Based Drawing
-
- Portals
+
- Subdividing Raycast
+
- Vertex-Free Surfaces
+
- The Draw-Buffer
+
- Span-Based Drawing
+
- Portals
-- Breakthrough!
-
- Simplify, and Keep on Trying New Things
-
- Learn Now, Pay Forward
-
- References
+
- Breakthrough!
+
- Simplify, and Keep on Trying New Things
+
- Learn Now, Pay Forward
+
- References
-- Chapter 653-D Clipping and Other Thoughts
+
- Chapter 653-D Clipping and Other Thoughts
-- Determining Whats Inside Your Field of View
-
- 3-D Clipping Basics
+
- Determining Whats Inside Your Field of View
+
- 3-D Clipping Basics
-- Intersecting a Line Segment with a Plane
+
- Intersecting a Line Segment with a Plane
-- Polygon Clipping
+
- Polygon Clipping
-- Clipping to the Frustum
-
- The Lessons of Listing 65.3
+
- Clipping to the Frustum
+
- The Lessons of Listing 65.3
-- Advantages of Viewspace Clipping
-
- Further Reading
+
- Advantages of Viewspace Clipping
+
- Further Reading
-- Chapter 66Quakes Hidden-Surface Removal
+
- Chapter 66Quakes Hidden-Surface Removal
-- Struggling with Z-Order Solutions to the Hidden Surface Problem
-
- Creative Flux and Hidden Surfaces
+
- Struggling with Z-Order Solutions to the Hidden Surface Problem
+
- Creative Flux and Hidden Surfaces
-- Drawing Moving Objects
-
- Performance Impact
-
- Leveling and Improving Performance
+
- Drawing Moving Objects
+
- Performance Impact
+
- Leveling and Improving Performance
-- Sorted Spans
-
- Edges versus Spans
-
- Edge-Sorting Keys
+
- Sorted Spans
+
- Edges versus Spans
+
- Edge-Sorting Keys
-- Where That 1/Z Equation Comes From
-
- Quake and Z-Sorting
+
- Where That 1/Z Equation Comes From
+
- Quake and Z-Sorting
-- Decisions Deferred
+
- Decisions Deferred
-- Chapter 67Sorted Spans in Action
+
- Chapter 67Sorted Spans in Action
-- Implementing Independent Span Sorting for Rendering without Overdraw
-
- Quake and Sorted Spans
-
- Types of 1/z Span Sorting
+
- Implementing Independent Span Sorting for Rendering without Overdraw
+
- Quake and Sorted Spans
+
- Types of 1/z Span Sorting
-- Intersecting Span Sorting
-
- Abutting Span Sorting
-
- Independent Span Sorting
+
- Intersecting Span Sorting
+
- Abutting Span Sorting
+
- Independent Span Sorting
-- 1/z Span Sorting in Action
+
- 1/z Span Sorting in Action
-- Implementation Notes
+
- Implementation Notes
-- Chapter 68Quakes Lighting Model
+
- Chapter 68Quakes Lighting Model
-- A Radically Different Approach to Lighting Polygons
-
- The Lighting Conundrum
-
- Gouraud Shading
+
- A Radically Different Approach to Lighting Polygons
+
- The Lighting Conundrum
+
- Gouraud Shading
-- Problems with Gouraud Shading
-
- Perspective Correctness
+
- Problems with Gouraud Shading
+
- Perspective Correctness
-- The Quest for Alternative Lighting
+
- The Quest for Alternative Lighting
-- Decoupling Lighting from Rasterization
-
- Size and Speed
+
- Decoupling Lighting from Rasterization
+
- Size and Speed
-- Surface Caching
+
- Surface Caching
-- Mipmapping To The Rescue
-
- Two Final Notes on Surface Caching
+
- Mipmapping To The Rescue
+
- Two Final Notes on Surface Caching
-- Chapter 69Surface Caching and Quakes Triangle Models
+
- Chapter 69Surface Caching and Quakes Triangle Models
-- Probing Hardware-Assisted Surfaces and Fast Model Animation Without Sprites
-
- Surface Caching with Hardware Assistance
+
- Probing Hardware-Assisted Surfaces and Fast Model Animation Without Sprites
+
- Surface Caching with Hardware Assistance
-- Letting the Graphics Card Build the Textures
-
- The Light Map as Alpha Texture
+
- Letting the Graphics Card Build the Textures
+
- The Light Map as Alpha Texture
-- Drawing Triangle Models
+
- Drawing Triangle Models
-- Drawing Triangle Models Fast
-
- Trading Subpixel Precision for Speed
-
- An Idea that Didnt Work
-
- An Idea that Did Work
-
- More Ideas that Might Work
+
- Drawing Triangle Models Fast
+
- Trading Subpixel Precision for Speed
+
- An Idea that Didnt Work
+
- An Idea that Did Work
+
- More Ideas that Might Work
-- Chapter 70Quake: A Post-Mortem and a Glimpse into the Future
+
- Chapter 70Quake: A Post-Mortem and a Glimpse into the Future
-- Preprocessing the World
-
- The Potentially Visible Set (PVS)
-
- Passages: The Last-Minute Change that Didnt Happen
-
- Drawing the World
-
- Rasterization
+
- Preprocessing the World
+
- The Potentially Visible Set (PVS)
+
- Passages: The Last-Minute Change that Didnt Happen
+
- Drawing the World
+
- Rasterization
-- Lighting
-
- Dynamic Lighting
+
- Lighting
+
- Dynamic Lighting
-- Entities
+
- Entities
-- BSP Models
-
- Polygon Models and Z-Buffering
-
- The Subdivision Rasterizer
-
- Sprites
-
- Particles
+
- BSP Models
+
- Polygon Models and Z-Buffering
+
- The Subdivision Rasterizer
+
- Sprites
+
- Particles
-- How We Spent Our Summer Vacation: After Shipping Quake
+
- How We Spent Our Summer Vacation: After Shipping Quake
-- Verite Quake
-
- GLQuake
-
- WinQuake
-
- QuakeWorld
-
- Quake 2
+
- Verite Quake
+
- GLQuake
+
- WinQuake
+
- QuakeWorld
+
- Quake 2
-- Looking Forward
+
- Looking Forward