| |
AKA :
C64-controlled Laser-show Project
Released At :
Arok Party 2014
Achievements :
WiLD Demo Competition at Arok Party 2014 : #1
Credits :
SIDs used in this release :
Download :
Look for downloads on external sites:
Pokefinder.org
User Comment Submitted by Viti on 7 October 2014 User Comment Submitted by Queen bittin on 4 October 2014
They just showed a new version of this at Function 2014 :) | User Comment Submitted by Hermit on 8 August 2014
Sorry for the late answer, Conrad, I had net connection issues recently...
-The C64 doesn't need acknowledgement as the laser processes the sent bytes faster than the rate the C64 can send bytes.
-The colors are: 8bit-indexed:
Black = 0, Red = 1, Green = 2, Yellow = 3, Blue = 4, Purple = 5, Cyan = 6, White = 7
Currently only TTL-level (R/G/B on/off) colours & combinations are supported by Viti's laser\projector, but in theory it will be easy in newer versions to store and use more colours in the pre-programmed palette. | User Comment Submitted by Conrad on 25 July 2014
Quote:3. at $de02: All points (maximum 100..200 of them) are sent in strict 3-byte bunches: colour, X-coordinate, Y-coordinate (each one byte)
How does the C64 side know that the laser HW has recieved the byte, in order to write to $de02 again for the next? Is there some acknowledgement bit used like in the serial bus register? Also, does the colour byte represent an index to a fixed pallette on the laser firmware, or is it an 8-bit RGB value (%-RRGGBB)?
Very interesting concept in any case. :) | User Comment Submitted by Hermit on 25 July 2014
We thank you for the praising and votes.
@Oswald, and others who are interested in advance before ViTi releases more technical details, the operation of LSR64 in a nutshell (based on ViTi's description):
The sensitive continuous laser-control is performed by a hardware on the expansion-port with an 8-core microcontroller.
There are 2 frame-buffers in the hardware. In one of the frame-buffers one core of the microcontroller keeps sending the stored coordinates with the corresponding colours and timing. Meanwhile in the other frame-buffer another core of the microcontroller receives and processes the X & Y coordinates and colour info, and some control-commands like turning the laser on/off or switching between frame-buffers, etc.
The controlling details (after startup) so far:
1. writing to $de00 memory location: laser-ON/OFF command
2. at $de01: timing-control (speed of mirror-galvanometers in the laser-projector) is set to the laser-projector by default, we don't touch this value in this version. (Smoothness of the projected shapes depends on it.)
3. at $de02: All points (maximum 100..200 of them) are sent in strict 3-byte bunches: colour, X-coordinate, Y-coordinate (each one byte)
For example we can set the laser beam's starting coordinates with 'black,X,Y' combo, then we can draw a red line from it with 'red,X2,Y2' and then continue with a green line from X2-Y2 to X3-Y3 with 'green,X3,Y3' command, etc. etc...
4. at $de03: Sending a 'frame-buffer switch' command. The two frame-buffers get exchanged, in other words: The one which received C64 commands will turn to serve the laser-projector, and the one which sent data previously to the laser-projector starts receiving C64-commands.
Then we repeat the steps from the 3rd step for the upcoming frames again-and-again...
This way we can even display steady pictures from BASIC programs, given that many seconds can elapse between subsequent frame-buffer firings. | User Comment Submitted by nice on 24 July 2014
This year's Árok had an especially strong wild compo league. Thank you guys! | User Comment Submitted by chabee on 24 July 2014
I watched it live. It was great! C'grat! | User Comment Submitted by ϵʟʞ on 24 July 2014
Heh, nice idea! Good work! | User Comment Submitted by Oswald on 24 July 2014
awesome! little overview on how it is done ? I'd be interested. | User Comment Submitted by Shine on 24 July 2014
Impressive ! Awesome production. Love the music!!! <3 10/10 | User Comment Submitted by Cruzer on 24 July 2014
Wow! Would love to see this in realtime. | User Comment Submitted by Dr.j on 24 July 2014
OMG this is crazy. what a brilliant work here.. love the vid and the laser movements | User Comment Submitted by zscs on 24 July 2014
Wow, I can't find the words... Fantastic work! | User Comment Submitted by GeoAnas on 24 July 2014 User Comment Submitted by NecroPolo on 24 July 2014
Watching this project becoming alive on the party was among my top3 scene moments. Thank you guys for that. Maximum respect! | User Comment Submitted by aNdy on 23 July 2014 User Comment Submitted by Moloch on 23 July 2014 User Comment Submitted by Yogibear on 23 July 2014 User Comment Submitted by DKT on 23 July 2014
Nice stuff. You know how to play... :-)
Thumbs up. | User Comment Submitted by Hermit on 23 July 2014
This is the entry for ViTi's LSR64 laser-show hardware-software project.
This beautiful hardware-extension was presented at Arok Party 2014.
ViTi developed and created the cartridge (DAC) which controls a colour-laser-beam projector based on the data calculated by the C64 in realtime.
I contributed with a little code to lsr64.prg and my music 'Flash It Back' was taken as the theme-music for this version.
You can see the Youtube-video about the show at Arok Party.
Schematics and microcontroller-codes will be uploaded as soon ViTi brings them in shape for release to the public.
Enjoy! :) |
|
|
|
| Search CSDb |
| Navigate | |
|
| Detailed Info | |
|
| Fun Stuff | |
· Goofs · Hidden Parts · Trivia
|
|
| Forum | |
|
| Info on other sites | |
|
| Support CSDb | |
|
| |
|