Fixed some minor bugs (problems with autostart, duplicate machine IDs, etc)
This commit is contained in:
parent
b60e988aba
commit
3069d317c6
164 changed files with 7277 additions and 934 deletions
|
|
@ -2,6 +2,8 @@
|
|||
---
|
||||
by Dan Illowsky and Michael Abrash (1984)
|
||||
|
||||
Check out the [Live Demos](demos/) we've created from this classic text.
|
||||
|
||||

|
||||

|
||||

|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
62
pubs/pc/programming/Graphics_for_the_IBM_PC/demos/README.md
Normal file
62
pubs/pc/programming/Graphics_for_the_IBM_PC/demos/README.md
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
Selected Live Demos from [Graphics for the IBM PC](../)
|
||||
---
|
||||
|
||||
All of the machine demos below are halted by default. Click the machine's "Run" button to start it running.
|
||||
|
||||
From [Page 46](/modules/shared/templates/pdf.html?url=/pubs/pc/programming/Graphics_for_the_IBM_PC/pages/Graphics_for_the_IBM_PC 48.pdf&page=48&total=320):
|
||||
|
||||
> **A KALEIDOSCOPE PROGRAM**
|
||||
|
||||
> Let's run a program that will show you some of what
|
||||
> BASIC can do on the IBM PC. This program produces a
|
||||
> changing kaleidoscope display and is shown in Listing 2-3.
|
||||
> Type it precisely as shown. If you make any mistakes, use
|
||||
> the editing capabilities of BASIC discussed above to make
|
||||
> corrections. Remember to type NEW to clear any previous
|
||||
> programs out of memory before typing the new program.
|
||||
> Enter RUN to execute the program, noting the wide
|
||||
> range of colors available on the IBM PC. A typical display
|
||||
> is shown in [Fig. 4](/modules/shared/templates/pdf.html?url=/pubs/pc/programming/Graphics_for_the_IBM_PC/pages/Graphics_for_the_IBM_PC%20164.pdf&page=164&total=320)
|
||||
> in the color photograph section. Note that good effects
|
||||
> can be produced with only a few program
|
||||
> lines thanks to the power of Advanced BASIC.
|
||||
|
||||
[Embedded IBM PC](machine.xml "PCjs:xt-cga-256k-1::::02-03.json")
|
||||
|
||||
From [Page 58](/modules/shared/templates/pdf.html?url=/pubs/pc/programming/Graphics_for_the_IBM_PC/pages/Graphics_for_the_IBM_PC 60.pdf&page=60&total=320):
|
||||
|
||||
> **Medium-Resolution Color Selection**
|
||||
|
||||
> Every color available on the PC can be displayed in
|
||||
> medium-resolution graphics mode, but, unfortunately,
|
||||
> only in certain combinations. The background color (that
|
||||
> is, the color to which the screen and border default and
|
||||
> which graphics are typically set against) can be any of the
|
||||
> 16 colors available on the PC, as shown in [Table 4-1](/modules/shared/templates/pdf.html?url=/pubs/pc/programming/Graphics_for_the_IBM_PC/pages/Graphics_for_the_IBM_PC%2061.pdf&page=61&total=320).
|
||||
> The other three colors available at any one time consist of one
|
||||
> of two sets. The sets are called palettes because, like
|
||||
> painters' palettes, each is a group of colors from which the
|
||||
> PC artist may choose to work.
|
||||
|
||||
> Palette number 0 contains green, red, and brown, which
|
||||
> are colors 1,2, and 3, respectively (Table 4-2). (Many
|
||||
> monitors will display yellow rather than brown.) These colors
|
||||
> look excellent on an RGB monitor (see Fig. 5A in the color
|
||||
> photograph section), but, unfortunately, often tend to look
|
||||
> rather muddy on a television.
|
||||
|
||||
> Palette number 1 contains cyan, magenta, and white,
|
||||
> which are, respectively, colors 1, 2, and 3 (Table 4-2).
|
||||
> Cyan is a light blue, and magenta is a light red. These colors
|
||||
> aren't as vivid on an RGB monitor as those in the other
|
||||
> palette (See [Fig. 5B](/modules/shared/templates/pdf.html?url=/pubs/pc/programming/Graphics_for_the_IBM_PC/pages/Graphics_for_the_IBM_PC%20164.pdf&page=164&total=320)
|
||||
> in the color photograph section), and
|
||||
> can look somewhat washed out if screen brightness is
|
||||
> high. However, the colors in palette 1 look just about as
|
||||
> good on a television as on an RGB monitor, and because
|
||||
> white appears much sharper on a television than any
|
||||
> other color, this palette is the palette of choice for television
|
||||
> work. (The same is true of any composite monitor.)
|
||||
|
||||
[Embedded IBM PC](machine.xml "PCjs:xt-cga-256k-2::::04-01.json")
|
||||
|
||||
16
pubs/pc/programming/Graphics_for_the_IBM_PC/demos/basic.xml
Normal file
16
pubs/pc/programming/Graphics_for_the_IBM_PC/demos/basic.xml
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<fdc id="fdcNEC" automount='{A:{name:"PC-DOS 2.00 (Disk 1)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json"}, B:{name:"BASIC Programs",path:"/api/v1/dump?dir=/pubs/pc/programming/Graphics_for_the_IBM_PC/programs"}}' pos="left" padleft="8px" padbottom="8px">
|
||||
<control type="list" binding="listDrives"/>
|
||||
<control type="list" binding="listDisks">
|
||||
<disk path="">None</disk>
|
||||
<manifest ref="/disks/pc/dos/ibm/1.00/manifest.xml" disk="*"/>
|
||||
<manifest ref="/disks/pc/dos/ibm/1.10/manifest.xml" disk="*"/>
|
||||
<manifest ref="/disks/pc/dos/ibm/2.00/manifest.xml" disk="*"/>
|
||||
<manifest ref="/disks/pc/games/microsoft/adventure/manifest.xml" disk="*"/>
|
||||
<manifest ref="/apps/pc/1981/visicalc/manifest.xml" disk="*"/>
|
||||
<disk path="/api/v1/dump?dir=/pubs/pc/programming/Graphics_for_the_IBM_PC/programs">BASIC Programs</disk>
|
||||
</control>
|
||||
<control type="button" binding="loadDrive" padright="8px">Download</control>
|
||||
<control type="description" binding="descDisk" padright="8px"/>
|
||||
<control type="file" binding="mountDrive"/>
|
||||
</fdc>
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.17.1/machine.xsl"?>
|
||||
<machine id="ibm5160" class="pc" border="1" width="980px" pos="center" style="background-color:#FAEBD7">
|
||||
<name pos="center">IBM PC XT (Model 5160), CGA, 256Kb, 10Mb Drive</name>
|
||||
<computer id="xt-cga-256k" name="IBM PC XT" resume="1"/>
|
||||
<ram id="ramLow" addr="0x00000" test="false"/>
|
||||
<rom id="romHDC" addr="0xc8000" size="0x2000" file="/devices/pc/hdc/ibm-xebec-1982.json"/>
|
||||
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pc/basic/ibm-basic-1.10.json"/>
|
||||
<rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pc/bios/5160/1982-11-08.json"/>
|
||||
<video ref="/devices/pc/video/video-cga-960.xml"/>
|
||||
<keyboard id="keyboard" padleft="8px">
|
||||
<control type="button" binding="esc">ESC</control>
|
||||
<control type="button" binding="ctrl-c">CTRL-C</control>
|
||||
</keyboard>
|
||||
<cpu id="cpu8088" model="8088" autostart="true" pos="left" padleft="8px">
|
||||
<control type="button" binding="run">Run</control>
|
||||
<control type="button" binding="setSpeed">Fast</control>
|
||||
<control type="description" binding="speed" padleft="8px">Stopped</control>
|
||||
</cpu>
|
||||
<fdc ref="/pubs/pc/programming/Graphics_for_the_IBM_PC/demos/basic.xml" pos="right"/>
|
||||
<debugger id="debugger"/>
|
||||
<panel ref="/devices/pc/panel/wide.xml"/>
|
||||
<hdc id="hdcXT" drives='[{name:"10Mb Hard Disk",type:3}]'/>
|
||||
<chipset id="chipset" model="5160" sw1="01001001"/>
|
||||
</machine>
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.17.1/machine.xsl"?>
|
||||
<machine id="ibm5160" class="pc" border="1" width="980px" pos="center" style="background-color:#FAEBD7">
|
||||
<name pos="center">IBM PC XT (Model 5160), CGA, 256Kb, 10Mb Drive</name>
|
||||
<computer id="xt-cga-256k" name="IBM PC XT"/>
|
||||
<ram id="ramLow" addr="0x00000" test="false"/>
|
||||
<rom id="romHDC" addr="0xc8000" size="0x2000" file="/devices/pc/hdc/ibm-xebec-1982.json"/>
|
||||
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pc/basic/ibm-basic-1.10.json"/>
|
||||
<rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pc/bios/5160/1982-11-08.json"/>
|
||||
<video ref="/devices/pc/video/video-cga-960.xml"/>
|
||||
<keyboard id="keyboard" padleft="8px">
|
||||
<control type="button" binding="esc">ESC</control>
|
||||
<control type="button" binding="ctrl-c">CTRL-C</control>
|
||||
</keyboard>
|
||||
<cpu id="cpu8088" model="8088" autostart="false" pos="left" padleft="8px">
|
||||
<control type="button" binding="run">Run</control>
|
||||
<control type="button" binding="setSpeed">Fast</control>
|
||||
<control type="description" binding="speed" padleft="8px">Stopped</control>
|
||||
</cpu>
|
||||
<fdc ref="/pubs/pc/programming/Graphics_for_the_IBM_PC/demos/basic.xml" pos="right"/>
|
||||
<hdc id="hdcXT" drives='[{name:"10Mb Hard Disk",type:3}]'/>
|
||||
<chipset id="chipset" model="5160" sw1="01001001"/>
|
||||
</machine>
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
100 REM Kaleidoscope program
|
||||
110 REM This program is inspired by material appearing in
|
||||
120 REM The Apple II Reference Manual, January 1978, p. 55
|
||||
130 KEY OFF:WIDTH 40:SCREEN 0,1:COLOR 7,0,0:LOCATE ,,0:CLS
|
||||
140 LOCATE 25,11:PRINT "PRESS ANY KEY TO EXIT";
|
||||
150 FOR L=4 TO 40:FOR I=1 TO 12:FOR J=0 TO 11
|
||||
160 K=I+J:COLOR (J*4/(I+2)+L) MOD 16,0
|
||||
170 LOCATE K,I+9:PRINT CHR$(219)
|
||||
180 LOCATE I,K+9:PRINT CHR$(219)
|
||||
190 LOCATE 24-I,33-K:PRINT CHR$(219)
|
||||
200 LOCATE 24-K,33-I:PRINT CHR$(219)
|
||||
210 LOCATE I,33-K:PRINT CHR$(219)
|
||||
220 LOCATE 24-K,I+9:PRINT CHR$(219)
|
||||
230 LOCATE K,33-I:PRINT CHR$(219)
|
||||
240 LOCATE 24-I,K+9:PRINT CHR$(219)
|
||||
250 IF INKEY$<>"" THEN 280
|
||||
260 NEXT J:NEXT I:NEXT L
|
||||
270 GOTO 150
|
||||
280 COLOR 7,0,0:CLS
|
||||
290 END
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
100 REM Program to demonstrate palettes 0 and 1
|
||||
110 REM in medium-resolution graphics mode.
|
||||
120 SCREEN 1,0:CLS:KEY OFF 'Set screen
|
||||
130 COLOR 0 'Black background
|
||||
140 REM Do palette 0 first
|
||||
150 COLOR, 0 'Select palette 0
|
||||
160 REM Draw circles in colors 1, 2, and 3
|
||||
170 CIRCLE(80,100),30,1:PAINT STEP(0,0),1
|
||||
180 CIRCLE(160,100),30,2:PAINT STEP(0,0),2
|
||||
190 CIRCLE(240,100),30,3:PAINT STEP(0,0),3
|
||||
200 REM Label screen
|
||||
210 LOCATE 22,17:PRINT "PALETTE 0"
|
||||
220 LOCATE 24,9:PRINT "PRESS ANY KEY TO CONTINUE";
|
||||
230 A$=INKEY$:IF A$="" THEN 230
|
||||
240 REM Palette 1
|
||||
250 COLOR, 1 'Select palette 1
|
||||
260 LOCATE 22,17:PRINT "PALETTE 1"
|
||||
270 LOCATE 24,9:PRINT "PRESS ANY KEY TO CONTINUE";
|
||||
280 A$=INKEY$:IF A$="" THEN 280
|
||||
290 COLOR 0,1:CLS
|
||||
300 END
|
||||
|
|
@ -0,0 +1 @@
|
|||
The programs have been reproduced from "Graphics for the IBM PC", (C) 1984 by Dan Illowsky and Michael Abrash.
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.17.0/manifest.xsl"?>
|
||||
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.17.1/manifest.xsl"?>
|
||||
<manifest type="document">
|
||||
<title>PC Programming Guides</title>
|
||||
<document href="http://bitsavers.trailing-edge.com/pdf/ibm/pc/dos/6172220_DOS_1.0_Jan82.pdf">
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.17.0/manifest.xsl"?>
|
||||
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.17.1/manifest.xsl"?>
|
||||
<manifest type="document">
|
||||
<title>IBM 5150 Manuals</title>
|
||||
<source href="http://minuszerodegrees.net">minuszerodegrees.net</source>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.17.0/manifest.xsl"?>
|
||||
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.17.1/manifest.xsl"?>
|
||||
<manifest type="document">
|
||||
<title>IBM 5160 Technical Reference (April 1983)</title>
|
||||
<source href="http://retroarchive.org">retroarchive.org</source>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.17.0/manifest.xsl"?>
|
||||
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.17.1/manifest.xsl"?>
|
||||
<manifest type="document">
|
||||
<title>IBM 5170 Installation and Setup (March 1984)</title>
|
||||
<source href="http://minuszerodegrees.net">minuszerodegrees.net</source>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.17.0/manifest.xsl"?>
|
||||
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.17.1/manifest.xsl"?>
|
||||
<manifest type="document">
|
||||
<title>IBM 5170 Technical Reference</title>
|
||||
<source href="http://minuszerodegrees.net">minuszerodegrees.net</source>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.17.0/manifest.xsl"?>
|
||||
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.17.1/manifest.xsl"?>
|
||||
<manifest type="document">
|
||||
<title>IBM Enhanced Graphics Adapter</title>
|
||||
<source href="http://minuszerodegrees.net">minuszerodegrees.net</source>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.17.0/manifest.xsl"?>
|
||||
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.17.1/manifest.xsl"?>
|
||||
<manifest type="document">
|
||||
<title>PS/2 Technical Reference</title>
|
||||
<document href="http://bitsavers.trailing-edge.com/pdf/ibm/pc/ps2/Personal_System_2_Hardware_Interface_Technical_Reference_May88.pdf">
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.17.0/manifest.xsl"?>
|
||||
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.17.1/manifest.xsl"?>
|
||||
<manifest type="document">
|
||||
<title>Intel 80286 References</title>
|
||||
<document href="https://archive.org/download/bitsavers_intel80286287ProgrammersReferenceManual1987_27505703/210498-005_80286_and_80287_Programmers_Reference_Manual_1987.pdf">
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.17.0/manifest.xsl"?>
|
||||
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.17.1/manifest.xsl"?>
|
||||
<manifest type="document">
|
||||
<title>OS/2 1.0 Programmer's Toolkit</title>
|
||||
<version>1.0</version>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.17.0/manifest.xsl"?>
|
||||
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.17.1/manifest.xsl"?>
|
||||
<manifest type="document">
|
||||
<title>Microsoft Windows Software Development Kit</title>
|
||||
<version>2.0</version>
|
||||
|
|
|
|||
Loading…
Reference in a new issue