From 317aea074ee717b4c5d75ca814ea5d32771151dd Mon Sep 17 00:00:00 2001 From: Jeff Parsons Date: Sun, 3 Apr 2016 14:14:40 -0700 Subject: [PATCH] Project cleanup --- .gitignore | 3 + .../rom/compaq/portable/cpqpatch/CPQPATCH.C | 166 ------------------ .../rom/compaq/portable/cpqpatch/CPQPATCH.EXE | Bin 8202 -> 0 bytes .../rom/compaq/portable/cpqpatch/CPQPATCH.TXT | 67 ------- logs/.gitignore | 3 +- logs/README.md | 2 +- 6 files changed, 6 insertions(+), 235 deletions(-) delete mode 100644 devices/pc/rom/compaq/portable/cpqpatch/CPQPATCH.C delete mode 100644 devices/pc/rom/compaq/portable/cpqpatch/CPQPATCH.EXE delete mode 100644 devices/pc/rom/compaq/portable/cpqpatch/CPQPATCH.TXT diff --git a/.gitignore b/.gitignore index 4980c0557..dc0e6f10d 100644 --- a/.gitignore +++ b/.gitignore @@ -11,10 +11,13 @@ .settings .sass-cache _site +Gemfile.lock node_modules /videos /web archive/ +c64/ +ecp/ private/ src/ tmp/ diff --git a/devices/pc/rom/compaq/portable/cpqpatch/CPQPATCH.C b/devices/pc/rom/compaq/portable/cpqpatch/CPQPATCH.C deleted file mode 100644 index 8b964ce92..000000000 --- a/devices/pc/rom/compaq/portable/cpqpatch/CPQPATCH.C +++ /dev/null @@ -1,166 +0,0 @@ -/* CPQPATCH 1.0 by John Elliott. - * - * Patches the BIOS ROM of the Compaq Portable (revision C) to support - * booting from a hard drive. - * - * This program is public domain. - */ - -#include -#include -#include - -unsigned char rom[8192]; - -#ifdef __PACIFIC__ -#define AV0 "CPQPATCH" -#define EXIT_FAILURE -1 -#define EXIT_SUCCESS 0 -#else -#define AV0 argv[0] -#endif - -/* First patch: New INT19 vector */ -static unsigned char p0[] = { 0x20, 0xf8 }; /* DW 0xF820 */ - -/* Second patch: Convert old INT19 into a subroutine */ -static unsigned char p1[] = { /* Enter with DH = 0 DL = drive */ - 0xbb, 0x40, 0x00, /* P1: MOV BX, 0x40 ;BIOS dseg */ - 0x8E, 0xDB, /* MOV DS, BX */ - 0xB9, 0x03, 0x00, /* MOV CX, 0x0003 ;Try 3 times */ - 0x51, /* TRY: PUSH CX ;Save count */ - 0x52, /* PUSH DX ;Save drive */ - 0xBB, 0x00, 0x00, /* MOV BX, 0x0000 ;Load to */ - 0x8E, 0xC3, /* MOV ES, BX ;segment 0 */ - 0xB4, 0x00, /* MOV AH, 0x00 ;Reset FDC */ - 0xCD, 0x13, /* INT 0x13 ;BIOS disk */ - 0x5A, /* POP DX ;Get drive */ - 0x52, /* PUSH DX ;Save again */ - 0xBB, 0x00, 0x7C, /* MOV BX, 0x7C00 ;Load addr */ - 0xB9, 0x01, 0x00, /* MOV CX, 0x0001 ;Cyl 0 sec 1 */ - 0xB8, 0x01, 0x02, /* MOV AX, 0x0201 ;Read sector */ - 0xCD, 0x13, /* INT 0x13 ;BIOS disk */ - 0x5A, /* POP DX ;drive */ - 0x59, /* POP CX ;count */ - 0x73, 0x03, /* JNC OK ;It worked */ - 0xE2, 0xE2, /* LOOP TRY ;Retry */ - 0xF9, /* STC ;It failed */ - 0xC3, /* RET */ - 0x00, 0x00, 0x00, 0x00, /* ;Unused */ -}; - -/* Third patch: New INT19 entry point. This replaces an unused area. */ -static unsigned char p2[] = { - 0xfb, /* STI */ - 0xBA, 0x00, 0x00, /* TR2: MOV DX, 0x0000 ;Floppy */ - 0xE8, 0xCB, 0xEE, /* CALL P1 ;Try it */ - 0x73, 0x0B, /* JNC GO ;It worked! */ - 0xB2, 0x80, /* MOV DL, 0x80 ;Hard drive */ - 0xE8, 0xC4, 0xEE, /* CALL P1 ;Try it */ - 0x73, 0x04, /* JNC GO ;It worked! */ - 0xCD, 0x20, /* INT 0x20 ;See below */ - 0xEB, 0xED, /* JMPS TR2 ;Loop forever*/ - - 0xEA, 0x00, 0x7C, /* GO: JMPF 0x0000:0x7C00 ;Go to sector*/ - 0x00, 0x00, - 0x00, /* DB 0 ;word align */ - 0xEC, 0x7E, /* DW 07EECh ;checksum */ - 0x00, 0x00, 0x00, 0x00, /* ;Unused */ -/* Note on the INT 0x20: This is not 'program termination' at boot time. The - * Compaq BIOS hooks it and uses it to display the message: - * - * Diskette error - * Replace and strike any key when ready - * - */ -}; - - -void patch() -{ - memcpy(rom + 0x0376, p0, sizeof(p0)); - memcpy(rom + 0x06f2, p1, sizeof(p1)); - memcpy(rom + 0x1820, p2, sizeof(p2)); -} - -unsigned short checksum() -{ - unsigned short total, cur; - int n; - - total = 0; - for (n = 0; n < 8192; n++) - { - cur = rom[n]; - ++n; - cur |= (((unsigned short)rom[n]) << 8); - total += cur; - } - return total; -} - -int main(int argc, char **argv) -{ - FILE *fp; - unsigned short sum; - - if (argc < 3) - { - fprintf(stderr, "Syntax: %s old_rom new_rom\n\n" - /* 1...5...10...15...20...25...30...35...40*/ - "Patches the BIOS ROM of the Compaq\n" - "Portable (revision C) to support booting\n" - "from a hard drive.\n\n" - "This program is public domain.", AV0); - return EXIT_SUCCESS; - } - fp = fopen(argv[1], "rb"); - if (!fp) - { - perror(argv[1]); - return EXIT_FAILURE; - } - if (fread(rom, 1, sizeof(rom), fp) < (int)sizeof(rom)) - { - fprintf(stderr, "Could not read 8k from %s\n", argv[1]); - fclose(fp); - return EXIT_FAILURE; - } - fclose(fp); - if (memcmp(rom + 0x1FEA, "COMPAQ", 6)) - { - fprintf(stderr, "COMPAQ signature not found in %s\n", argv[1]); - return EXIT_FAILURE; - } - if (rom[0x1FE6] != 'C') - { - fprintf(stderr, "ROM revision is not C. This may not work.\n"); - } - sum = checksum(); - if (sum != 0) - { - fprintf(stderr, "ROM checksum is 0x%04x (should be 0). This " - "may not work.\n", sum); - } - patch(); - sum = checksum(); - if (sum != 0) - { - fprintf(stderr, "New checksum is 0x%04x (should be 0). This " - "may not work.\n", sum); - } - fp = fopen(argv[2], "wb"); - if (!fp) - { - perror(argv[2]); - return EXIT_FAILURE; - } - if (fwrite(rom, 1, sizeof(rom), fp) < (int)sizeof(rom)) - { - fprintf(stderr, "Could not write 8k to %s\n", argv[2]); - fclose(fp); - return EXIT_FAILURE; - } - fclose(fp); - return EXIT_SUCCESS; -} diff --git a/devices/pc/rom/compaq/portable/cpqpatch/CPQPATCH.EXE b/devices/pc/rom/compaq/portable/cpqpatch/CPQPATCH.EXE deleted file mode 100644 index ca6e4dc3f07b93b1dbc30f970cba3ca9f86ed5d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8202 zcmdrxYgklQlIK49VFQBCiFxRa6GegwN**dcK*H60krqq>NoK_~bR&$=O}g&|ofXo| zor!cGb&Z*wxHI`CvtP11`|W0THd%KAWX7O4w2w^`^>ch}Ch8=)o$DBeHPF(~ck7(n z-9SE*ef-()o9joPS5=*=I#qS5jwR38&=ka=4D>_p<@6>V@rZtc(I9iY{Znm5elt@+ z9WOF_FYG-%AJ1md6WJF!5E|-1{j&LO{_J(!gFikbSUSI(ll|e+?si_h7QK9Z_mTN~ z%?r^Xgysi%Tep-U(pHYd+kR2`G={Hae~L%&hXz!;NnCerXzvkxt}OqOH0=raNqZt_ zv31K|?peo_YF|7Vn6IEN9&J)D&3NvRA1J4aOaD-qeO0-^DZh{5i+BV!X*aDCuMPE@ z5I&dJUAjr#%Rl>UDV|xGxk-H)DMxvHTD`}l#gfORW$o)^QCY`7qpkxsHN(=m5C-p{ zuIZCi&eAEs;3L$vc8)q|?$OR`>-L32zzvDR2mvOp91gxd*YYk3RF3H4aB>)oK6rUj zPv5#1NH>S39|hlJe@CENlYMC+eQ&@u=b8D5&VyRa#ginUxZAhBl?mW!6Wr zI6PFtEy z52!XuX0$7Fyb%~o+)N=37cPHlP$2pe@xYcUUO{@qs_u0@Gx+v;J1PUr$4=W zP<`75x{*wF(E6)HGb20g{ACs8cmPKLO1JYV$7MdRTbqf0w=Os*7(M;j z-TGSxvU|Y(fV(RO2{sum5URk#+LVq06M;{#@u1DW3dx^u=}|w{yZ)9{FX?!uU{TK^ z2sR(;0NiCms>#+v$b{3z5rZz!3z;i385A#!$ZlOCH`x5#0 z*v$cZY>z!whDBc8$&!ea;A)e4V~QF`f9BwZ5AOF(dPA^)19j>8NCKd3I9wz19UHhF zWq6v`)bTQ>eTgq|m+`K*SWN?Y%JDHg@csgmW`jfLkTgjNrMBsJndN@^OO$P`z=!d9 zl|z+VNF*$S0|}Im;C|f7!-20%e;Wl4D=xD&c&|U|kkb88uaxSKHcMRiJrwJXb@z%o z68$TYd~drL3tq5YmTLV`M#}O>S*b{Av7(mx@NVQ^StVP*lKn_K<6oIAp9Od20F~8x z{H;2YO%N+Ju7gFTxO_w{XCR6NimfT#Ex+#gH-=2Tg6MeXKN4{17jT%4^q^h;S5!t; z=fx4Uy&z{Ql2g=I(gVeOsMv;hFnV2{9x4Xc!%th)2h&5~IS3@rq3#qa28#-cF}N5B zgDk7@z#FrYk<$#{qMo&H5)R$L{>s5}2S7~^BT!)mQDNffXp4^>TzTh{Gr&3-G;{=f zkRvzJwDbK zme_&6!N-)VjKsXT`v~sYQn~raIETSk@H+P3s;^}U=qop-l6W*2C?C!n#2>l@TiWW6E|Q+{ zM{}jxp%4T%PWdc06tdDzl)@X{#Y<(B2)5tqyNWONUGKZjoh0j)1KeTLX+0p`(#65? z2=X~?nR3diO;b)W+GOPvt4(SG;qxI&TI7#`M(NM|Q6E8;0qFoB zZI?>+*hd5Qo4d>VL*f8~!uyeODnko|#G5lr+Ggcc!BD6hbR2$_846{jfIrllp-cXM}TKepdYvG>bX*lw~3#=ryU ziPOb_qm?(g%7OX*HAw!W(i(wK2+GU15BRu%eE`lDx=mJWAIP%b(m+#SHN+U?Wm-B| zSC@cPH&3n*Mg&;hehY4c&op9qKvx%U&QFH;bxE)R-97+dmnj`CoWUnaeLD%0AQc|q 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 diff --git a/devices/pc/rom/compaq/portable/cpqpatch/CPQPATCH.TXT b/devices/pc/rom/compaq/portable/cpqpatch/CPQPATCH.TXT deleted file mode 100644 index b138eed82..000000000 --- a/devices/pc/rom/compaq/portable/cpqpatch/CPQPATCH.TXT +++ /dev/null @@ -1,67 +0,0 @@ -CPQPATCH v1.0 12 August 2008, John Elliott -============================================================================= - - CPQPATCH patches the BIOS ROM of a Compaq Portable so that it can boot from -a hard drive whose own ROM doesn't support booting an XT. - - To explain a little: - -- On the original PC and XT, the BIOS ROM doesn't know anything about hard -drives. The hard drive controller comes with its own ROM, and this handles all -aspects of the drives, including booting from them. - -- On AT-class machines, the BIOS ROM does know about hard drives, and supports -ATA drives itself. Additional hard drive controllers (eg: SCSI) can get away -with just adding the drives to the system; the BIOS handles booting. - - So, I had a Compaq portable, and an add-on drive for it (2Mb of flash on an -ISA card) which left booting up to the BIOS. The attached program will patch -the revision C ROM so that it will boot from my add-on drive. It should also -work with the Future Domain TMC-850 (firmware 8.4 or 8.5). - - The C source (cpqpatch.c) includes the assembly language source code for -the changes made. - -To use CPQPATCH: -~~~~~~~~~~~~~~~~ - -You will need: -* A Compaq Portable -* An EPROM burner -* A 2764 EPROM, 28c64 EEPROM, or compatible chip. - -1. Get hold of a Compaq Portable BIOS image (revision C). This should be an 8k -file. If you have a Portable, you can check the BIOS revision with DEBUG: - -A>DEBUG - --DFFFE:6,f -FFFE:0006 43 20 20 20 43 4F 4D 50 51 51 C COMPAQ -- - - The 'C' by itself is the revision number. - - Either save the ROM with DEBUG, or image it once you've dismantled the PC. - -2. Take the motherboard out of the Portable. - -3. Remove the BIOS ROM. This should be marked 100666-1 (or 1006661) and be - plugged into a socket near the DIP switches. If you haven't imaged it, do so - now. - -4. Run CPQPATCH: - - CPQPATCH bios.bin new.bin - - where "bios.bin" is the original BIOS, and "new.bin" is the name you want to - give to the patched version. - -5. Burn "new.bin" to an EPROM or EEPROM. - -6. Put that EPROM/EEPROM in the socket where the BIOS ROM came from. The - silkscreening on the board should show you which way round it goes, but in - case it doesn't, the end with the notch should point in the direction of the - ISA slots. - -7. Put the whole thing back together, power it up, and hope it works. - diff --git a/logs/.gitignore b/logs/.gitignore index 756bba11c..248671957 100644 --- a/logs/.gitignore +++ b/logs/.gitignore @@ -1,4 +1,5 @@ *.json *.log bugs.html -users/ \ No newline at end of file +aws/ +users/ diff --git a/logs/README.md b/logs/README.md index 984cc43c2..8335e5a99 100644 --- a/logs/README.md +++ b/logs/README.md @@ -1,6 +1,6 @@ Logs --- -This is where Node web server activity is logged, where bug reports are saved, and where per-user data is stored. +This is where Node web server activity is logged, bug reports are saved, and per-user data is stored. Per-user data is still in the experimental phase, and is enabled ONLY for users that have requested and received their own per-user directory.