Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
  You are not logged in - nap
LSR 64 V0.31   [2014]

LSR 64 V0.31 Released by :

Release Date :
23 July 2014

Type :
C64 One-File Demo

C64-controlled Laser-show Project

Released At :
Arok Party 2014

Achievements :
WiLD Demo Competition at Arok Party 2014 :  #1

User rating:*********_  9/10 (10 votes)   See votestatistics

Credits :
Code .... Viti
Music .... Hermit of Samar Productions, SIDRIP Alliance, Singular
Idea .... Viti
Concept .... Viti

SIDs used in this release :
Flash It Back(/MUSICIANS/H/Hermit/Flash_It_Back.sid)

Download :

Look for downloads on external sites:

User Comment
Submitted by Viti on 7 October 2014
second show: LSR 64 - KETTO
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
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
Fantastic !
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
That's really neat!
User Comment
Submitted by Moloch on 23 July 2014
Nifty! Thumbs up!
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
Prev - Random - Next
Detailed Info
· Summaries
· User Comments (20)
· Production Notes
Fun Stuff
· Goofs
· Hidden Parts
· Trivia
· Discuss this release
Info on other sites
· YouTube
Support CSDb
Help keep CSDb running:

Funding status:

About this site:
CSDb (Commodore 64 Scene Database) is a website which goal is to gather as much information and material about the scene around the commodore 64 computer - the worlds most popular home computer throughout time. Here you can find almost anything which was ever made for the commodore 64, and more is being added every day. As this website is scene related, you can mostly find demos, music and graphics made by the people who made the scene (the sceners), but you can also find a lot of the old classic games here. Try out the search box in the top right corner, or check out the CSDb main page for the latest additions.
Home - Disclaimer
Copyright © No Name 2001-2023
Page generated in: 0.102 sec.