diff --git a/devices/pc/machine/5160/cga/640kb/debugger/machine.xml b/devices/pc/machine/5160/cga/640kb/debugger/machine.xml index 1c32f9fff..cc364fbb4 100644 --- a/devices/pc/machine/5160/cga/640kb/debugger/machine.xml +++ b/devices/pc/machine/5160/cga/640kb/debugger/machine.xml @@ -4,7 +4,6 @@ IBM PC XT (Model 5160), CGA, 640K, 10Mb Drive - diff --git a/disks/pc/dos/ibm/1.00/README.md b/disks/pc/dos/ibm/1.00/README.md new file mode 100644 index 000000000..81e63bf05 --- /dev/null +++ b/disks/pc/dos/ibm/1.00/README.md @@ -0,0 +1,95 @@ +PC-DOS 1.00 +--- + +The PCjs machine below is running PC-DOS 1.00. + +[IBM Model 5150](machine.xml "PCjs:ibm5150-pcdos100") + +Vital Statistics +--- + +PC-DOS 1.00 was completed in August, 1981 and announced at an IBM press conference on August 12, 1981, when IBM +introduced the original IBM PC (Model 5150). + +PC-DOS 1.00 was released on one single-sided (160Kb) diskette. A complete listing of all the files is shown below. +Note that IBMBIO.COM and IBMDOS.COM were marked as *hidden* and *system*, so they are not displayed by DIR; their sizes +and dates have been determined by inspecting the root directory. + + IBMBIO COM 1920 07-23-81 + IBMDOS COM 6400 08-13-81 + COMMAND COM 3231 08-04-81 + FORMAT COM 2560 08-04-81 + CHKDSK COM 1395 08-04-81 + SYS COM 896 08-04-81 + DISKCOPY COM 1216 08-04-81 + DISKCOMP COM 1124 08-04-81 + COMP COM 1620 08-04-81 + DATE COM 252 08-04-81 + TIME COM 250 08-04-81 + MODE COM 860 08-04-81 + EDLIN COM 2392 08-04-81 + DEBUG COM 6049 08-04-81 + LINK EXE 43264 08-04-81 + BASIC COM 10880 08-04-81 + BASICA COM 16256 08-04-81 + ART BAS 1920 08-04-81 + SAMPLES BAS 2432 08-04-81 + MORTGAGE BAS 6272 08-04-81 + COLORBAR BAS 1536 08-04-81 + BUG BAS 640 08-04-81 + CALENDAR BAS 3840 08-04-81 + MUSIC BAS 4224 08-04-81 + DONKEY BAS 3584 08-04-81 + BLUE BAS 1152 08-04-81 + HUMOR BAS 640 08-04-81 + POP BAS 768 08-04-81 + FORTY BAS 768 08-04-81 + DANDY BAS 640 08-04-81 + MARCH BAS 768 08-04-81 + STARS BAS 768 08-04-81 + HAT BAS 768 08-04-81 + SCALES BAS 640 08-04-81 + SAKURA BAS 512 08-04-81 + CIRCLE BAS 1664 08-04-81 + PIECHART BAS 2304 08-04-81 + SPACE BAS 1920 08-04-81 + BALL BAS 2048 08-04-81 + COMM BAS 4352 08-04-81 + +CHKDSK reports: + + 40 disk files + 160256 bytes total disk space + 6144 bytes remain available + +Additional details from [PC DOS Retro](https://sites.google.com/site/pcdosretro/doshist): + +- distributed on 1 160KB floppy disk +- initial release (equivalent to 86-DOS 1.14) +- released with the IBM PC +- PC DOS system files are IBMBIO.COM and IBMDOS.COM, command shell is COMMAND.COM +- executable file formats are .COM and .EXE +- single-sided 160KB floppy disk support (FAT12) +- directory entries only include the date last written +- file attributes read-only (01h), hidden (02h) and system (04h) supported +- batch files (.BAT) and AUTOEXEC.BAT +- internal commands: COPY, DIR, ERASE, PAUSE, REM, RENAME, TYPE +- external commands: CHKDSK, COMP (PC DOS), DATE, DEBUG, DISKCOMP, DISKCOPY, EDLIN, FORMAT, LINK, MODE, SYS, TIME +- external commands: BASIC, BASICA (PC DOS only) +- special device names: AUX, COM1, CON, LPT1, NUL, PRN +- program loading and execution implemented in COMMAND.COM +- PSP created for each executed program +- files are opened with FCBs +- DPB structures are used for internal drive info +- INT 20h terminate program +- INT 21h DOS API functions 00h-2Dh (18h, 1Ch-20h unused) +- INT 22h termination address +- INT 23h control break handler address +- INT 24h critical error handler address +- INT 25h absolute disk read (implemented in IBMBIO.COM) +- INT 26h absolute disk write (implemented in IBMBIO.COM) +- INT 27h terminate and stay resident (implemented in COMMAND.COM) +- CP/M CALL 0 interface (executes INT 20h) +- CP/M CALL 5 interface supporting INT 21h functions 00h-24h + +See [PC-DOS 1.00 Documentation](../../../../../pubs/pc/software/dos/PCDOS100/) for more information. diff --git a/disks/pc/dos/ibm/1.00/machine.xml b/disks/pc/dos/ibm/1.00/machine.xml new file mode 100644 index 000000000..b6ac3488e --- /dev/null +++ b/disks/pc/dos/ibm/1.00/machine.xml @@ -0,0 +1,17 @@ + + + + IBM PC (Model 5150) with Monochrome Display + + + + + diff --git a/disks/pc/dos/ibm/1.10/README.md b/disks/pc/dos/ibm/1.10/README.md new file mode 100644 index 000000000..4bec90a9d --- /dev/null +++ b/disks/pc/dos/ibm/1.10/README.md @@ -0,0 +1,69 @@ +PC-DOS 1.10 +--- + +The PCjs machine below is running PC-DOS 1.10. + +[IBM Model 5150](machine.xml "PCjs:ibm5150-pcdos110") + +Vital Statistics +--- + +PC-DOS 1.10 was released in May, 1982 on one single-sided (160Kb) diskette. A complete listing of all the files +is shown below. Note that IBMBIO.COM and IBMDOS.COM were marked as *hidden* and *system*, so they are not displayed +by DIR; their sizes and dates have been determined by inspecting the root directory. + +Also, in case you're wondering why 1920 + 6400 does not equal the "8704 bytes in 2 hidden files" reported by CHKDSK, +that's because all CHKDSK byte totals are cluster-granular. On a 160Kb diskette, 1 cluster equals 1 sector or 512 +bytes. + +CHKDSK considers the size of IBMBIO.COM to be 2048 bytes (1920 rounded up to the nearest 512 multiple), and the +size of IBMDOS.COM is 6656, so the total number of bytes consumed by those two files is 8704. + + IBMBIO COM 1920 05-07-82 + IBMDOS COM 6400 05-07-82 + COMMAND COM 4959 05-07-82 + FORMAT COM 3816 05-07-82 + CHKDSK COM 1720 05-07-82 + SYS COM 605 05-07-82 + DISKCOPY COM 2008 05-07-82 + DISKCOMP COM 1640 05-07-82 + COMP COM 1649 05-07-82 + EXE2BIN EXE 1280 05-07-82 + MODE COM 2509 05-07-82 + EDLIN COM 2392 05-07-82 + DEBUG COM 5999 05-07-82 + LINK EXE 41856 05-07-82 + BASIC COM 11392 05-07-82 + BASICA COM 16768 05-07-82 + ART BAS 1920 05-07-82 + SAMPLES BAS 2432 05-07-82 + MORTGAGE BAS 6272 05-07-82 + COLORBAR BAS 1536 05-07-82 + CALENDAR BAS 3840 05-07-82 + MUSIC BAS 8704 05-07-82 + DONKEY BAS 3584 05-07-82 + CIRCLE BAS 1664 05-07-82 + PIECHART BAS 2304 05-07-82 + SPACE BAS 1920 05-07-82 + BALL BAS 2048 05-07-82 + COMM BAS 4352 05-07-82 + 26 File(s) + +CHKDSK reports: + + 160256 bytes total disk space + 8704 bytes in 2 hidden files + 144384 bytes in 26 user files + 7168 bytes available on disk + +Additional details from [PC DOS Retro](https://sites.google.com/site/pcdosretro/doshist): + +- distributed on 1 160KB floppy disk +- double-sided 320KB floppy disk support added +- directory entries include the time last written in addition to the date +- COPY supports concatenation of multiple files +- new internal commands: DATE, DEL, REN, TIME +- new external command: EXE2BIN +- INT 21h functions 1Ch, 1Fh, 2Eh added + +See [PC-DOS 1.10 Documentation](../../../../../pubs/pc/software/dos/PCDOS110/) for more information. diff --git a/disks/pc/dos/ibm/1.10/machine.xml b/disks/pc/dos/ibm/1.10/machine.xml new file mode 100644 index 000000000..95b306354 --- /dev/null +++ b/disks/pc/dos/ibm/1.10/machine.xml @@ -0,0 +1,17 @@ + + + + IBM PC (Model 5150) with Monochrome Display + + + + + diff --git a/disks/pc/library.xml b/disks/pc/library.xml index ad82decb5..5047eeddd 100644 --- a/disks/pc/library.xml +++ b/disks/pc/library.xml @@ -20,6 +20,8 @@ + + diff --git a/modules/pcjs/lib/x86fpu.js b/modules/pcjs/lib/x86fpu.js index 03c2758cd..43b91e750 100644 --- a/modules/pcjs/lib/x86fpu.js +++ b/modules/pcjs/lib/x86fpu.js @@ -62,7 +62,7 @@ if (NODE) { * processors prior to the 80286 had no mechanism for generating a fault when an unsupported FPU * instruction was executed. * - * In short, INT 0x34 through INT 0x3B was used for ESC opcodes 0xD8 through 0xDF, INT 0x3C was + * In short, INT 0x34 through INT 0x3B was used after ESC opcodes 0xD8 through 0xDF, INT 0x3C was * used for FPU instructions containing a segment override, and INT 0x3D was used for FWAIT. * * A sample piece of code is available in x86ops.js, because it also highlights the Microsoft C diff --git a/pubs/README.md b/pubs/README.md index bf87959b9..1c1abf077 100644 --- a/pubs/README.md +++ b/pubs/README.md @@ -2,7 +2,7 @@ Publications --- An assortment of PC-related publications, including [Datasheets](pc/datasheets/), [Magazines](pc/magazines/), [Programming Guides](pc/programming/), [IBM PC Reference Manuals](pc/reference/ibm/), [Intel CPU Documentation](pc/reference/intel/), -and more. +[Software Manuals](pc/software/), and more. ![8088 CPU](pc/datasheets/static/thumbs/8088-CPU.jpg "link:pc/datasheets/:200:260") ![Byte Magazine](pc/magazines/byte/static/BYTE-1975-11/thumbs/BYTE-1975-11 1.jpeg "link:pc/magazines/byte/:200:260") @@ -10,4 +10,6 @@ and more. ![PC Tech Journal](pc/magazines/pctj/static/PCTJ-1983-07/thumbs/PCTJ-1983-07 1.jpeg "link:pc/magazines/pctj/:200:260") ![Graphics for the IBM PC](pc/programming/static/Graphics_for_the_IBM_PC/thumbs/Graphics_for_the_IBM_PC 1.jpeg "link:pc/programming/Graphics_for_the_IBM_PC/:200:260") ![IBM 5150 Technical Reference (August 1981)](pc/reference/ibm/static/5150/techref/1981-08/thumbs/IBM-5150-TECHREF 1.jpeg "link:pc/reference/ibm/:200:260") -![80286 and 80287 Programmer's Reference](pc/programming/static/thumbs/80286_and_80287_Programmers_Reference_Manual_1987.jpg "link:pc/reference/intel/:200:260") +![80286 and 80287 Programmer's Reference](pc/reference/intel/static/80286/progref/thumbs/80286_and_80287_Programmers_Reference_Manual_1987 1.jpeg "link:pc/reference/intel/:200:260") +![IBM PC Disk Operating System v1.00](pc/software/dos/PCDOS100/static/thumbs/PCDOS100.jpg "link:pc/software/:200:260") +![IBM PC Disk Operating System v1.10](pc/software/dos/PCDOS110/static/thumbs/PCDOS110.jpg "link:pc/software/:200:260") diff --git a/pubs/pc/programming/README.md b/pubs/pc/programming/README.md index a2b5741d1..83f283950 100644 --- a/pubs/pc/programming/README.md +++ b/pubs/pc/programming/README.md @@ -1,7 +1,5 @@ PC Programming Guides --- -![IBM PC Disk Operating System v1.00](static/thumbs/PCDOS100.jpg "link:http://bitsavers.trailing-edge.com/pdf/ibm/pc/dos/6172220_DOS_1.0_Jan82.pdf:200:260") -![IBM PC Disk Operating System v1.10](static/thumbs/PCDOS110.jpg "link:http://bitsavers.trailing-edge.com/pdf/ibm/pc/dos/IBM_DOS_1.1_May82.pdf:200:260") ![The 8086 Book](static/thumbs/The_8086_Book.jpg "link::200:260") ![Graphics for the IBM PC](static/Graphics_for_the_IBM_PC/thumbs/Graphics_for_the_IBM_PC 1.jpeg "link:Graphics_for_the_IBM_PC/:200:260") diff --git a/pubs/pc/software/README.md b/pubs/pc/software/README.md new file mode 100644 index 000000000..a392e6068 --- /dev/null +++ b/pubs/pc/software/README.md @@ -0,0 +1,5 @@ +PC Software Guides +--- + +![IBM PC Disk Operating System v1.00](dos/PCDOS100/static/thumbs/PCDOS100.jpg "link:dos/PCDOS100/:200:260") +![IBM PC Disk Operating System v1.10](dos/PCDOS110/static/thumbs/PCDOS110.jpg "link:dos/PCDOS110/:200:260") diff --git a/pubs/pc/software/dos/PCDOS100/README.md b/pubs/pc/software/dos/PCDOS100/README.md new file mode 100644 index 000000000..9c460bb1e --- /dev/null +++ b/pubs/pc/software/dos/PCDOS100/README.md @@ -0,0 +1,70 @@ +PC-DOS 1.00 Documentation +--- + +Below is a copy of the IBM PC-DOS 1.00 manual. The original [PC-DOS 1.00](/disks/pc/dos/ibm/1.00/) diskette is also available. + +![IBM PC Disk Operating System v1.00](static/thumbs/PCDOS100.jpg "link:http://bitsavers.trailing-edge.com/pdf/ibm/pc/dos/6172220_DOS_1.0_Jan82.pdf:200:260") + +Summary of internal commands: + +* COPY + * Copies one or more files to another diskette and optionally, gives the copy a different name if you specify it in the COPY command. +* DIR + * Either lists all the directory entries, or only lists those for specified files. The information provided in the display for each file includes its size in decimal bytes and the date the file was last written to. +* ERASE + * Deletes the file with the specified filename from the designated drive, or deletes the file from the default drive if no drive was specified. +* PAUSE + * Suspends system processing and issues the message **StrikeĀ·a key when ready...**. +* REM + * Displays remarks from within a batch file. +* RENAME + * Changes the name of the file specified in the first parameter to the name and extension given in the second parameter. If a valid drive is specified in the second parameter, the drive is ignored. +* TYPE + * Displays the contents of the specified file on the screen. + +Summary of external commands: + +* BASIC + * Also known as Disk BASIC, this program requires an IBM PC with Cassette BASIC and at least 32Kb of RAM. +* BASICA + * Also known as Advanced BASIC, this program requires an IBM PC with Cassette BASIC and at least 48Kb of RAM. It includes all Disk BASIC features, along with event trapping, advanced graphics, and advanced music support. +* CHKDSK + * Analyzes the directory and the File Allocation Table on the designated or default drive and produces a diskette and memory status report. +* COMP + * Compares the contents of one file to the contents of another file. +* DATE + * Permits you to enter a date or change the date known to the system. The date is recorded in the directory entry for any files you create or alter. +* DISKCOMP + * Compares the contents of the diskette in the first drive to the contents of the diskette in the second drive. Usually, you would run DISKCOMP after a DISKCOPY operation to ensure that the two diskettes are identical. +* DISKCOPY + * Copies the contents of the diskette in the source drive to the diskette in the target drive. +* FORMAT + * Initializes the diskette in the designated or default drive to a recording format acceptable to DOS; analyzes the entire diskette for any defective tracks; and prepares the diskette to accept DOS files by initializing the directory, File Allocation Table, and system loader. +* MODE + * Sets the mode of operation on a printer or on a display connected to the Color/Graphics Monitor Adapter. +* SYS + * Transfers the operating system files from the default drive to the specified drive, in the following order: IBMBIO.COM, IBMDOS.COM. +* TIME + * Permits you to enter or change the time known to the system. You can change the time from the console or from a batch file. + +Additional utilities: + +* EDLIN is a line text editor which can be used to: + + Create new source files and save them. + + Update existing files and save both the updated and original files. + + Delete, edit, insert, and display lines. + + Search for, delete, or replace text within one or more lines. +* LINK is a program that: + + Combines separately produced object modules. + + Searches library files for definitions of unresolved external references. + + Resolves external cross-references. + + Produces a printable listing that shows the resolution of external references and error messages. + + Produces a relocatable load module. +* DEBUG is a program that can be used to: + + Provide a controlled test environment so you can monitor and control the execution of a program to be debugged. You can fix problems in your program directly and then execute the program immediately to determine if the problems have been resolved, You do not need to reassemble a program to find out if your changes worked. + + Load, alter, or display any file. + + Execute *object files*. Object files are executable programs in machine language format. + +Notes: + +* Directory entries for system files IBMBIO.COM, IBMDOS.COM, and BADTRACK are not listed, even if present. diff --git a/pubs/pc/software/dos/PCDOS110/README.md b/pubs/pc/software/dos/PCDOS110/README.md new file mode 100644 index 000000000..0f7cf833f --- /dev/null +++ b/pubs/pc/software/dos/PCDOS110/README.md @@ -0,0 +1,5 @@ +PC DOS 1.10 Documentation +--- + +![IBM PC Disk Operating System v1.10](static/thumbs/PCDOS110.jpg "link:static/PCDOS110.pdf:200:260") +![IBM PC BASIC v1.10](static/thumbs/PCDOS110.jpg "link:static/BASIC110.pdf:200:260") diff --git a/pubs/pc/software/dos/README.md b/pubs/pc/software/dos/README.md new file mode 100644 index 000000000..754b80918 --- /dev/null +++ b/pubs/pc/software/dos/README.md @@ -0,0 +1,5 @@ +PC DOS Manuals +--- + +![IBM PC Disk Operating System v1.00](PCDOS100/static/thumbs/PCDOS100.jpg "link:PCDOS100/:200:260") +![IBM PC Disk Operating System v1.10](PCDOS110/static/thumbs/PCDOS110.jpg "link:PCDOS110/:200:260")