Space Invaders!
This commit is contained in:
parent
f09189c121
commit
09f4db3455
10 changed files with 21 additions and 15 deletions
|
|
@ -6,9 +6,11 @@ permalink: /apps/
|
||||||
|
|
||||||
Application Archives
|
Application Archives
|
||||||
---
|
---
|
||||||
Browse classic [IBM PC](pc/) and [Challenger 1P](c1p/) software that you can run with [PCjs](/docs/about/pcjs/)
|
Browse classic application software for the following machines:
|
||||||
and [C1Pjs](/docs/c1pjs/).
|
|
||||||
|
|
||||||
|
- [IBM PC](pc/)
|
||||||
|
- [Challenger 1P](c1p/)
|
||||||
|
|
||||||
### Software Application Manifests
|
### Software Application Manifests
|
||||||
|
|
||||||
In the PCjs Project, every complete software package is stored in its own folder, either as a set of individual
|
In the PCjs Project, every complete software package is stored in its own folder, either as a set of individual
|
||||||
|
|
|
||||||
|
|
@ -13,4 +13,4 @@ The project contains the following 6502 machine-language tests:
|
||||||
- [VFLAG](tests/vflag/vflag.asm): Demonstrate that the V flag works as described
|
- [VFLAG](tests/vflag/vflag.asm): Demonstrate that the V flag works as described
|
||||||
|
|
||||||
Along with a variety of [6502 Machine-Language Programs](jeffpar/) written by [Jeff Parsons](https://twitter.com/jeffpar)
|
Along with a variety of [6502 Machine-Language Programs](jeffpar/) written by [Jeff Parsons](https://twitter.com/jeffpar)
|
||||||
in 1979-1980.
|
from 1979 to 1980.
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ Challenger 1P Machine-Language Programs
|
||||||
---
|
---
|
||||||
|
|
||||||
The project contains the following 6502 machine-language programs written by [Jeff Parsons](https://twitter.com/jeffpar)
|
The project contains the following 6502 machine-language programs written by [Jeff Parsons](https://twitter.com/jeffpar)
|
||||||
in 1979-1980:
|
from 1979 to 1980:
|
||||||
|
|
||||||
- [6502 Assembler/Disassembler](assembler/)
|
- [6502 Assembler/Disassembler](assembler/)
|
||||||
- [BASIC Extensions](basicext/BASICEXT.json)
|
- [BASIC Extensions](basicext/BASICEXT.json)
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ The following BASIC applications were supplied by Ohio Scientific:
|
||||||
- [STAR WARS](OSI/STARWARS.BAS)
|
- [STAR WARS](OSI/STARWARS.BAS)
|
||||||
- [TRIG TUTOR](OSI/TRIGTUTOR.BAS)
|
- [TRIG TUTOR](OSI/TRIGTUTOR.BAS)
|
||||||
|
|
||||||
We also have a variety of BASIC programs written by [Jeff Parsons](https://twitter.com/jeffpar) in 1979-1980:
|
We also have a variety of BASIC programs written by [Jeff Parsons](https://twitter.com/jeffpar) from 1979 to 1980:
|
||||||
|
|
||||||
- [CHECKERS](jeffpar/CHECKERS.BAS)
|
- [CHECKERS](jeffpar/CHECKERS.BAS)
|
||||||
- [HANG WOMAN](jeffpar/HANGWOMAN.BAS)
|
- [HANG WOMAN](jeffpar/HANGWOMAN.BAS)
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ permalink: /apps/c1p/
|
||||||
Challenger 1P Applications
|
Challenger 1P Applications
|
||||||
---
|
---
|
||||||
|
|
||||||
All C1P applications come in two flavors:
|
[C1Pjs](/docs/c1pjs/) runs Challenger 1P (C1P) applications written in:
|
||||||
|
|
||||||
- [BASIC](BASIC/)
|
- [BASIC](BASIC/)
|
||||||
- [6502 Machine-Language](6502/)
|
- [6502 Machine-Language](6502/)
|
||||||
|
|
|
||||||
|
|
@ -12,10 +12,14 @@ Space Invaders (1978)
|
||||||
---
|
---
|
||||||
|
|
||||||
This is a test of [PC8080](/modules/pc8080/), a new 8080-based machine emulator recently added to the
|
This is a test of [PC8080](/modules/pc8080/), a new 8080-based machine emulator recently added to the
|
||||||
PCjs Project. It's a work-in-progress, so it's not playable yet. And the goal is not to build
|
PCjs Project. It is currently playable only in desktop browsers and uses the following hard-coded key mappings:
|
||||||
yet-another Space Invaders/Arcade Machine emulator -- that's been done many times over -- but to start with
|
|
||||||
a well-understood 8080-based machine architecture that doesn't need a lot of peripherals, and use it as an
|
- 1: One Player
|
||||||
early test case for another classic CPU that we can add to the PCjs toolbox.
|
- 2: Two Player
|
||||||
|
- 3: Insert Coin
|
||||||
|
- A: Move Left
|
||||||
|
- D: Move Right
|
||||||
|
- L: Fire Missile
|
||||||
|
|
||||||
Assorted [Space Invaders Hardware Notes](#space-invaders-hardware-notes) are collected below.
|
Assorted [Space Invaders Hardware Notes](#space-invaders-hardware-notes) are collected below.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ machines that automatically run the software. Ideally, everything in the librar
|
||||||
and linked to a page that describes the software in more detail, along with a live demonstration of the software,
|
and linked to a page that describes the software in more detail, along with a live demonstration of the software,
|
||||||
but that's not yet a reality.
|
but that's not yet a reality.
|
||||||
|
|
||||||
For application demos, see the [IBM PC Application Archive](/apps/pc/), which focuses excusively on applications.
|
For application demos, see the [Application Archive](/apps/), which focuses excusively on applications.
|
||||||
The [Disk Library](/disks/pc/library.xml) is a superset, including operating systems, application software,
|
The [Disk Library](/disks/pc/library.xml) is a superset, including operating systems, application software,
|
||||||
computer diagnostics, programming tools, and more.
|
computer diagnostics, programming tools, and more.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,8 @@ Overview
|
||||||
---
|
---
|
||||||
PC8080 is our 8080-based machine emulation module. The code is derived from [PCjs](/modules/pcjs/).
|
PC8080 is our 8080-based machine emulation module. The code is derived from [PCjs](/modules/pcjs/).
|
||||||
|
|
||||||
It is still a work-in-progress. See the list of available [PC8080 Machines](/devices/pc8080/machine/).
|
It is still a work-in-progress. See the list of available [PC8080 Machines](/devices/pc8080/machine/), including
|
||||||
|
[Space Invaders (1978)](/devices/pc8080/machine/invaders/).
|
||||||
|
|
||||||
PC8080 is currently comprised of the following non-shared components, as listed in [package.json](../../package.json)
|
PC8080 is currently comprised of the following non-shared components, as listed in [package.json](../../package.json)
|
||||||
(see the *pc8080Files* property):
|
(see the *pc8080Files* property):
|
||||||
|
|
|
||||||
|
|
@ -1432,12 +1432,11 @@ Computer.prototype.updateFocus = function(fScroll)
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* TODO: We need a mechanism to determine the "active" display, instead of hard-coding this to aVideo[0].
|
* TODO: We need a mechanism to determine the "active" display, instead of hard-coding this to aVideo[0].
|
||||||
*
|
*/
|
||||||
this.aVideo[0].setFocus();
|
this.aVideo[0].setFocus();
|
||||||
if (fScroll && window) {
|
if (fScroll && window) {
|
||||||
window.scrollTo(x, y);
|
window.scrollTo(x, y);
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -229,7 +229,7 @@ Keyboard.STUPID_KEYCODES[Keyboard.KEYCODE.FF_DASH] = Keyboard.ASCII['-'];
|
||||||
Keyboard.SOFTCODES = {
|
Keyboard.SOFTCODES = {
|
||||||
'1p': Keyboard.KEYCODE.ONE,
|
'1p': Keyboard.KEYCODE.ONE,
|
||||||
'2p': Keyboard.KEYCODE.TWO,
|
'2p': Keyboard.KEYCODE.TWO,
|
||||||
'coin': Keyboard.KEYCODE.FIVE,
|
'coin': Keyboard.KEYCODE.THREE,
|
||||||
'left': Keyboard.KEYCODE.LEFT,
|
'left': Keyboard.KEYCODE.LEFT,
|
||||||
'right': Keyboard.KEYCODE.RIGHT,
|
'right': Keyboard.KEYCODE.RIGHT,
|
||||||
'fire': Keyboard.KEYCODE.SPACE
|
'fire': Keyboard.KEYCODE.SPACE
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue