Last active
December 23, 2015 15:59
-
-
Save s-ol/6659116 to your computer and use it in GitHub Desktop.
This file contains hidden or 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
LTFU_FCVP-9 | |
■ ■ | |
█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█ | |
▌▐█ ▀▀█▀▀▀█▀▀▀█▌▐█ ▐ | |
▌ █ █ █▀ █ █ ▐ | |
▌ █▄▄▄█ █ ▀██▀ ▐ | |
█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█ | |
■ ■ | |
L E T H E M F I N D . U S | |
D C P U - 1 6 S E C T I O N | |
HARDWARE INFO | |
Name: FCVP-9 - Floating Cuboid Volume Projector revision 9 | |
Hardware ID: 0x46435650 (version 0x0009) | |
Manufacturer: 0x4c544655 (LTFU) | |
DESCRIPTION | |
Latest scientific Research has shown that the world is, in fact, made up of small little blocks. | |
We feel that noone should be forced to use such unfitting devices as the SPED-3 to visualize their | |
multi-dimensional data, so we felt obliged to make a technological advance. | |
The FCVP-9 is capable of displaying up to 768 cuboids in 16 different colors. | |
It projects into a 1x2x0.75m volume (8x16x6 cubes), each cube has an edge length of 12.5cm. | |
INTERRUPT BEHAVIOUR | |
Depending on the value of the A register had when you triggered the interrupt, the FCVP-9 will react differently. | |
A Behaviour | |
0 SET_BUFFER: Change buffer mode depending on B. | |
B Action | |
0 Turn off | |
0xffff Use internal buffer | |
?? Use 192w from B as the buffer - see below | |
1 LOAD_BUFFER: Copy 192w from memory at B to the internal buffer. Loading happens at 32w per second, | |
meaning the DCPU is halted for 6 seconds. Cubes appear one-by-one in the same time. | |
2 DUMP_BUFFER: Copy 192w from the internal buffer to memory starting at B. Halts DCPU for 128 cycles | |
3 LOAD_PALETTE: Load the 16-word palette ram from B | |
4 DUMP_PALETTE: Dump the 16 word palette RAM to B. Halts DCPU for 16 cycles | |
BUFFER LAYOUT | |
The buffer consists of 192 words of memory. Each word describes the look of four cubes: | |
aaaabbbbccccdddd a[,b,c,d] - palette index for cube a[,b,c,d] | |
Cubes are being filled starting in the bottom-left corner, the last cube of the second word descibes the appearance | |
of the rightmost cube (along the 8-cube edge). Cubes are then filled likewise until the maximum height (6) is reached | |
with the 12th word, at which point the remaining space is filled slice-by-slice until the lower face of the longest | |
edge is reached with the 16th slice and the 192th word of memory. | |
BUFFER MODES | |
The FCVP-9 can read it's data from (device-)internal or external memory. When operating with internal memory all | |
updates need to be pushed to the FCVP-9 via the LOAD_BUFFER interrupt. In external buffer mode the FCVP-9 continuosly | |
scans the buffer starting from the address set with the SET_BUFFER command. In this mode LOAD_BUFFER interrupts will | |
be handled but no difference will be visible. The FCVP-9 scans the external buffer at the same speed it loads the | |
internal buffer with, meaning the same cube will be updated every 6 seconds. | |
PALETTE LAYOUT | |
Every word of the palette describes the appearance of a color: | |
rrrrggggbbbbaaaa | |
where r,g and b are the red, green and blue parts of the color and a is the alpha value. | |
An alpha value of 1111 (15) means the cubes are fully opaque, whilst 0 makes them invisible. | |
The default palette is like the LEM1802's, black being fully translucent and everything else at 25%. | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment