| |
Codey
Registered: Oct 2005 Posts: 79 |
1541 Routines
What's the most impressive 1541 routines you've seen other than for loading? Some routines I recall are turning the led on and off in sync with the music, fading the led in and out, and bumping the head to play music from the drive (this had to contribute to many mis-aligned 1541s!) |
|
| |
Graham Account closed
Registered: Dec 2002 Posts: 990 |
Panta Rhei
Uses the disk drive for calculations of the chessboard and the x-rotator. |
| |
Oswald
Registered: Apr 2002 Posts: 5017 |
here the filled vector tunel, and other filled vectors uses the drive to do the 3d math.
Digital World
the filledvector part here again uses for 3d math the drive
Altered States 50% |
| |
JackAsser
Registered: Jun 2002 Posts: 1987 |
The Wild Bunch
Uses the disk drive to calculate the y-stretching in the double zoom scrollers. Same technique as in the chess zoomer in Panta Rhei mentioned above. |
| |
Danzig
Registered: Jun 2002 Posts: 428 |
1541 is just a co-pro that can read disk :D |
| |
Krill
Registered: Apr 2002 Posts: 2825 |
Apart from the obvious Freespin
not mentioned so far:
The Masque
Realtime Intro
Let's make this thread about collecting demos with drive code in general, as there are so few, regardless of how impressive or even sensible the drive routines are.
So there's also +H2K (final part with credits crawl),
and the note of Deus Ex Machina (running a SID player in the drive, sending register dumps to C-64). |
| |
Mojzesh
Registered: Jul 2006 Posts: 12 |
My two cents:
There is also my effect Textured Vectors in ES1RA:
ES1RA
And, my “Spiral bobs” and End Part “Twisted Vectors” in Biba 2:
Biba 2 |
| |
Quiss
Registered: Nov 2016 Posts: 37 |
Protogeo 100% last part, by Norvax.
Uses the drive to compute the (2D) coordinates of the eight SMGF cube corners (using a 16-bit truncated sine table with 65 entries), with perspective correction.
The division routine is a little peculiar. And the gap filling and line slope math really should have been done in the drive as well. But other than that, this is one of the most impressive 3D parts of all times. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11100 |
But the music! <3 |
| |
Mr.Ice
Registered: Nov 2007 Posts: 13 |
Any demes that need more than one drive to calculate stuff? |
| |
Copyfault
Registered: Dec 2001 Posts: 466 |
Quoting Mr.IceAny demes that need more than one drive to calculate stuff? I think there was a fractal generator released by one of the german disk mags (Input64 or Magic Disk?) that could be configured to use more than one drive, but chances are high that my mind plays tricks on me and I just dreamt this...
Either way, it's not a demo! |
| |
Krill
Registered: Apr 2002 Posts: 2825 |
Quoting CopyfaultI think there was a fractal generator
[...]
Either way, it's not a demo! Pray tell, why is it not a demo? =) |
| |
Copyfault
Registered: Dec 2001 Posts: 466 |
Quoting KrillQuoting CopyfaultI think there was a fractal generator
[...]
Either way, it's not a demo! Pray tell, why is it not a demo? =) I keep my hands off the territory of definitions on csdb. Better leave it to the mods ;) |
| |
Krill
Registered: Apr 2002 Posts: 2825 |
To quote a demo scener i keep in high regard:
"julia fractals are never nice (slow or fast)... they're ugly iterating blobs of nothingness, same goes for mandelbrots... It's debugging stuff for mathematicians, not eyecandy"
... and they serve no purpose, apart from showing "oh yeah, i can do that!" =)
So, if there's anything qualifying for "demo", it's fractal generators. =D |
| |
Martin Piper
Registered: Nov 2007 Posts: 631 |
Quote: To quote a demo scener i keep in high regard:
"julia fractals are never nice (slow or fast)... they're ugly iterating blobs of nothingness, same goes for mandelbrots... It's debugging stuff for mathematicians, not eyecandy"
... and they serve no purpose, apart from showing "oh yeah, i can do that!" =)
So, if there's anything qualifying for "demo", it's fractal generators. =D
Umm yeah, a fractal routine, especially one that is novel and uses one or more 1541s, would definitely be a "demo". |
| |
Mirage
Registered: Jan 2003 Posts: 113 |
Quote: To quote a demo scener i keep in high regard:
"julia fractals are never nice (slow or fast)... they're ugly iterating blobs of nothingness, same goes for mandelbrots... It's debugging stuff for mathematicians, not eyecandy"
... and they serve no purpose, apart from showing "oh yeah, i can do that!" =)
So, if there's anything qualifying for "demo", it's fractal generators. =D
They still are! :) |
| |
Krill
Registered: Apr 2002 Posts: 2825 |
Amanita (80%) - vector objects part on 2nd side. |
| |
Copyfault
Registered: Dec 2001 Posts: 466 |
Quoting KrillTo quote a demo scener i keep in high regard:
"julia fractals are never nice (slow or fast)... they're ugly iterating blobs of nothingness, same goes for mandelbrots... It's debugging stuff for mathematicians, not eyecandy"
... and they serve no purpose, apart from showing "oh yeah, i can do that!" =)
So, if there's anything qualifying for "demo", it's fractal generators. =D Meanwhile I found this link: https://www.c64-wiki.de/wiki/Mandelbrot-Construction-Set (sorry for German language used in the linked page)
The tool(!) is capable of handling only one drive, not several drives like I had in mind. But still, the program doesn't feel like a demo to me, it's rather a utility. |
| |
deetsay
Registered: Aug 2005 Posts: 36 |
Do loaders generally (...or any loader) have support or room left for 1541 code, or do you always trash the loader and then run the "loader installer" again afterwards? |
| |
Krill
Registered: Apr 2002 Posts: 2825 |
Quoting deetsayDo loaders generally (...or any loader) have support or room left for 1541 code, or do you always trash the loader and then run the "loader installer" again afterwards? It's the latter, but in a more refined form these days. :).struct drivecode
entry .word; drive
to .word; drive
length .word; bytes
from .word; host
.endstruct
.struct swapparams
buffer .word; $0800 bytes for swapped loader drive code
drivecode41 .tag drivecode
.if ONLY_1541_AND_COMPATIBLE = 0
drivecode71 .tag drivecode
drivecode81 .tag drivecode
.endif; ONLY_1541_AND_COMPATIBLE = 0
.endstruct
.import swapdrvcod
.import restoreldr
; Execute custom code in the drive, buffer loader code on host side before
; in: x/y - x: lo, y: hi of swapparams structure
; out: c - set on error
; a - status
.macro SWAP_DRIVECODE params
ldx #<(params)
ldy #>(params)
jsr swapdrvcod
.endmacro
; Restore drive-side loader code
; in: nothing
; out: undefined
.macro RESTORE_LOADER
jsr restoreldr
.endmacro |
| |
Krill
Registered: Apr 2002 Posts: 2825 |
Boo! - drive-side co-processing. |