Created
October 4, 2012 08:33
-
-
Save brindy/3832265 to your computer and use it in GitHub Desktop.
Mackapar Suspended Particle Exciter Display
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.!. | |
!!!!!. | |
. '!!!!!. | |
.!!!. '!!!!!. | |
.!!!!!!!. '!!!!!. | |
.!!!!!!!!!' .!!!!!!!. | |
'!!!!!!!' .!!!!!!!!!' | |
'!!!!!. '!!!!!!!' | |
'!!!!!. '!!!' | |
'!!!!!. ' | |
'!!!!! | |
'!' | |
M A C K A P A R M E D I A | |
.---------------------. | |
----! DCPU-16 INFORMATION !----------------------------------------------------- | |
'---------------------' | |
Name: Mackapar Suspended Particle Exciter Display, Rev 3 (SPED-3) | |
ID: 0x42babf3c, version: 0x0003 | |
Manufactorer: 0x1eb37e91 (MACKAPAR) | |
.-------------. | |
----! DESCRIPTION !------------------------------------------------------------- | |
'-------------' | |
The Mackapar Suspended Particle Exciter Display, Rev 3 ("the device") is a 3D | |
vector display unit. Straight lines are drawn between consecutive vertices in a | |
constant loop, with customizable colors per vertex. The effect is similar to a | |
free floating 3D model. | |
The area of the projected model is about 1x1x1 meters, and projection occurs | |
1.5 meters above the device. | |
The emitters are capable of rotating around the Z axis at 50 degrees per second, | |
allowing models to be easily animated. | |
Up to 128 lines may be projected, but the more lines are projected, the more | |
severe the flickering gets. | |
.--------------------. | |
----! INTERRUPT BEHAVIOR !------------------------------------------------------ | |
'--------------------' | |
A, B, C, X, Y, Z, I, J below refer to the registers on the DCPU | |
A: Behavior: | |
0 Poll device. Sets B to the current state (see below) and C to the last error | |
since the last device poll. | |
1 Map region. Sets the memory map offset to X, and the total number of vertices | |
to render to Y. See below for the encoding information. | |
2 Rotate device. Sets the target rotation for the device to X%360 degrees. | |
.-----------------. | |
----! VERTEX ENCODING !--------------------------------------------------------- | |
'-----------------' | |
Each vertex occupies two words of information in the main DCPU RAM. The data is | |
encoded as (in LSB-0 format): | |
First word: YYYYYYYYXXXXXXXX | |
Second word: 00000ICCZZZZZZZZ | |
Where XXXXXXXX is the X-coordinate of the vertex, YYYYYYYY is the Y-coordinate, | |
ZZZZZZZZ is the Z-coordinate, CC is color, and I is intensity. | |
Z is deeper into the screen, if the device is placed face up on the ground, this | |
translates to "up" relative to the user. | |
Possible color values are 0: black, 1: red, 2: green, 3: blue. | |
If the intensity bit is set, the color is drawn as more intense. | |
The black color is meant to barely be visible at all, except for in very dim | |
environments, or if the intensity bit is set. | |
.-------------. | |
----! STATE CODES !------------------------------------------------------------- | |
'-------------' | |
0x0000 STATE_NO_DATA No vertices queued up, device is in stand-by | |
0x0001 STATE_RUNNING The device is projecting lines | |
0x0002 STATE_TURNING The device is projecting lines and turning | |
.-------------. | |
----! ERROR CODES !------------------------------------------------------------- | |
'-------------' | |
0x0000 ERROR_NONE There's been no error since the last poll. | |
0xffff ERROR_BROKEN There's been some major software or hardware problem, | |
try turning the device of and on again. | |
COPYRIGHT 1988 MACKAPAR MEDIA ALL RIGHTS RESERVED DO NOT DISTRIBUTE |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment