A command-line C64 scene lookup tool for the 1541 Ultimate II/II+L, Ultimate64/Ultimate64 Elite II, & Commodore 64 Ultimate powered by the Assembly64 API & the Ultimate 64 API.
- Pre-compiled Windows, Mac, Linux executables now available from the Releases section!
- Code notes
- Examples
- Full Assembly64 API search with AQL query builder
- Zero dependencies
- Multi-device management
- Run anything from the local or U64 file system or directly from a scene repository
- Full Ultimate64 file system management with upload/download, folder management
- Local filesystem browser
- Multi-disk auto-flip
- SID player integration
- Charts, presets, categories
- Favorites system — save items from any search result and browse by category
- Config system with dirs and devices
Please send any feature requests or report any issues here
Precompiled binaries for Linux, Mac. and Windows now available. Python not required.
Script execution requires Python 3. No dependencies beyond the standard library.
git clone https://github.com/yourusername/assembly64.git
cd assembly64
chmod +x assembly64.pyOptionally add the executable or script to your PATH:
cp assembly64.py ~/.local/bin/assembly64.py$ ./assembly64.py --help
ASSEMBLY64 CLI - C64 Scene Lookup Tool
APIS: hackerswithstyle.se/leet/
github.com/GideonZ/1541u-documentation
COMMANDS
search [query] Search releases
sid <query> Search HVSC SIDs
charts [type] Top charts by type (demos/music/games/graphics/tools/onefiledemos)
presets Browse AQL presets
cats Browse categories
ls/remote [path] Browse Ultimate files
push/put <file> Upload to Ultimate
pull/get <path> Download
run <path> Run local file/dir
rrun <path> Run file on Ultimate
mount <file> Mount local disk
rmount <path> Mount remote disk
mkdir <path> Create directory
rename <old> <new> Rename
delete <path> Delete file/dir
reset Reset the C64
reboot Reboot the C64
device/devices List devices
config Show/set config
favorites/fav Browse saved favorites
help / --help / -h Show this help
SEARCH FLAGS
--group --handle --repo --cat
--date / --after / --before
--order asc|desc --limit N
--download --run IP --autodisk
FILE TYPES
.prg .crt DMA load and run
.sid SID player
.d64 .d71 .d81 .g64 .g71
Mount, reset, autorun
MULTI-DISK AUTO-FLIP
Enter=flip now q+Enter=stop
LS/REMOTE BROWSER KEYS
number select / descend
u / ^ go up a level
b / <- prev page
n / -> next page
m make directory
r rename
d delete
q quit
LS TIPS
ls start at / or default
ls USB1/DEMOS start at specific path
ls U64EII use named device
config --set-ls-path USB1 set default
CONFIG FLAGS
--set-ip IP Set active IP
--set-demos-dir Set demos dir
--set-sids-dir Set SIDs dir
--set-ls-path Set default ls path
--add NAME IP Add a device
--remove NAME Remove a device
--set NAME Set active device
--next Cycle to next device
FAVORITES FLAGS
--list Flat list of all favorites
--remove ID Remove favorite by item ID
--demos Show demos favorites only
--music Show music favorites only
--games Show games favorites only
(etc. for any category name)
EXAMPLES
assembly64 search "edge of disgrace"
assembly64 search --group fairlight
assembly64 search --handle laxity
assembly64 sid sanxion
assembly64 charts
assembly64 charts demos
assembly64 ls
assembly64 ls USB1/DEMOS
assembly64 ls U64EII
assembly64 remote
assembly64 push game.d64
assembly64 run mygame.d64
assembly64 rrun SD/_BASIC/Tetris.d64
assembly64 reset
assembly64 device
assembly64 config
assembly64 config --set-ip 192.168.2.32
assembly64 config --set-demos-dir ~/demos
assembly64 config --set-sids-dir ~/sids
assembly64 config --set-ls-path USB1
assembly64 config --add U64 192.168.2.32
assembly64 config --add U2L 192.168.2.33
assembly64 config --set U2L
assembly64 config --next
assembly64 config --remove U2L
assembly64 favorites
assembly64 favorites --list
assembly64 favorites --music
assembly64 favorites --demos
assembly64 favorites --remove 12345
$
$ ./assembly64.py search --group fairlight --cat demos --order desc
50 result(s):
1. Qdor Qdor [Fairlight 2026-02-13 1 (demos)]
2. The Hat [Fairlight,Genesis Project 2026-02-01 1 (demos)]
3. Crazy People [Fairlight 1991-11-01 1 (demos)]
4. Good Wheel 2025 [Fairlight 2025-01-01 37]
5. Good Wheel 2025 [Fairlight 2025-12-24 1 (demos)]
6. A Fayre Glow [Fairlight 2025-01-01 37]
7. Soya 50yo [Fairlight 2025-01-01 37]
8. The Safety Dudes [Fairlight 2025-01-01 37]
9. Fjälldata 2026 Invite [Genesis Project,Fairlight 2025-01-01 37]
10. CashesCash#1 [Fairlight,Triad 2025-01-01 37]
11. Beergola Bros 2025 Fuel Like a Casserole [Fairlight 2025-01-01 37]
12. Zone 5 [Fairlight 2025-01-01 37]
13. D011 Mayhem [Fairlight 2025-01-01 37]
14. Just Our Quality Stuff Again [Fairlight 1990-01-01 37]
15. The Trip [Fairlight 2025-01-01 37]
16. Edison 2025 Invite [Fairlight 2025-01-01 37]
17. The Fair Light [Fairlight 2025-01-01 37]
18. OTech People III [Fairlight 2025-01-01 37]
Showing 1-18 of 50 | u/^=up n/->=next
Number to select, r=rename d=delete q=quit: 1
--------------------------------------------------------------
Qdor Qdor
--------------------------------------------------------------
ID: 259366
Category: 1 (demos)
Group: Fairlight
Handle: hedning,Pal,redcrab,bepp,SkY,Norrland,Radiant,Pernod,Soya,Pitcher,Pantaloon,Stein Pedersen,Archmage,Frost,papademos,El Jefe,Trap,Trasher,Wix,Danko,Epsilon,tNG,Pastoelio,Bacchus,Trident,Qdor
Year: 2026
Released: 2026-02-13
--------------------------------------------------------------
Files:
1. qdor-qdor-75db9b39.d64 (174,848 bytes)
[1] Run on Ultimate (192.168.2.64)
[2] Download to current directory
[3] Quit
Choose action (or Enter to quit): 3
$
$ ./assembly64.py search "qdor qdor" --download
1 match(es):
1. Qdor Qdor
Showing 1-1 of 1 | u/^=up
Number to select, r=rename d=delete q=quit: 1
1 result(s):
1. Qdor Qdor [Fairlight 2026-02-13 1 (demos)]
Showing 1-1 of 1 | u/^=up
Number to select, r=rename d=delete q=quit: 1
--------------------------------------------------------------
Qdor Qdor
--------------------------------------------------------------
ID: 259366
Category: 1 (demos)
Group: Fairlight
Handle: hedning,Pal,redcrab,bepp,SkY,Norrland,Radiant,Pernod,Soya,Pitcher,Pantaloon,Stein Pedersen,Archmage,Frost,papademos,El Jefe,Trap,Trasher,Wix,Danko,Epsilon,tNG,Pastoelio,Bacchus,Trident,Qdor
Year: 2026
Released: 2026-02-13
--------------------------------------------------------------
Download to:
[1] Demos dir (/home/idun/demos)
[2] Browse local filesystem
[3] Current directory
[4] Create folder: qdor-qdor/
Choose (or Enter for current directory): 4
Created folder: qdor-qdor/
Downloading qdor-qdor-75db9b39.d64 ... done (174,848 bytes)
Saved -> qdor-qdor/qdor-qdor-75db9b39.d64
$
$ ./assembly64.py charts
--------------------------------------------------------------
CHARTS
--------------------------------------------------------------
1. demos
2. onefiledemos
3. music
4. graphics
5. games
6. tools
Showing 1-6 of 6 |
Number to select, q=quit: 1
--------------------------------------------------------------
CHART: DEMOS
--------------------------------------------------------------
1. Aloft [] *9.75
2. The Hat [] *9.75
3. Next Level [] *9.73
4. We Are The Anomaly [] *9.68
5. 1337 [] *9.67
6. Codeboys & Endians [] *9.67
7. Mojo [] *9.65
8. Coma Light 13 [] *9.64
9. The Violators [] *9.64
10. Edge of Disgrace [] *9.62
11. Comaland 100% [] *9.62
12. Bromance [] *9.60
13. Uncensored [] *9.60
14. No Bounds [] *9.59
15. Fitty [] *9.58
16. The Ghost [] *9.57
17. What Is The Matrix 2 [] *9.57
18. Unboxed [] *9.56
19. Lifecycle [] *9.55
20. Wonderland XIV [] *9.55
Showing 1-20 of 200 | n/->=next p/<-=prev
Number to select, b=back q=quit: 5
--------------------------------------------------------------
1337
--------------------------------------------------------------
ID: 242855
Category: 1 (demos)
Rating: 9.6748466257669
--------------------------------------------------------------
Flip info available -- 3 disks with auto-flip timings.
Files:
1. fairlight-1337-58679b69-a.d64 (196,608 bytes)
2. fairlight-1337-58679b69-b.d64 (196,608 bytes)
3. fairlight-1337-58679b69-c.d64 (196,608 bytes)
4. flip-info.txt (98 bytes)
[1] Run on Ultimate (192.168.2.32)
[2] Run with auto disk flip (192.168.2.32)
[3] Download to current directory
[4] Quit
Choose action (or Enter to quit): 2
Multi-disk release -- 3 disk image(s):
1. fairlight-1337-58679b69-a.d64 (196,608 bytes)
2. fairlight-1337-58679b69-b.d64 (196,608 bytes)
3. fairlight-1337-58679b69-c.d64 (196,608 bytes)
Downloading all disks...
Fetching fairlight-1337-58679b69-a.d64 ... done (196,608 bytes)
Fetching fairlight-1337-58679b69-b.d64 ... done (196,608 bytes)
Fetching fairlight-1337-58679b69-c.d64 ... done (196,608 bytes)
Uploading and mounting fairlight-1337-58679b69-a.d64 ... done -> /Temp/temp0005
Resetting machine ... done
Injecting LOAD"*",8,1 + RUN ...
Waiting for load to complete ... done (3713)
Load detection took 6.2s
Press Enter to flip immediately, q+Enter to stop.
Auto-flip: disk 2 (fairlight-1337-58679b69-b.d64) in 0m 01s ...
Auto-flip to disk 2: fairlight-1337-58679b69-b.d64
Mounting fairlight-1337-58679b69-b.d64 on drive A: ... done (200)
Auto-flip: disk 3 (fairlight-1337-58679b69-c.d64) in 0m 01s ...
Auto-flip to disk 3: fairlight-1337-58679b69-c.d64
Mounting fairlight-1337-58679b69-c.d64 on drive A: ... done (200)
All disks played.
$
$ ./assembly64.py remote
--------------------------------------------------------------
Ultimate-64-II-439E67: /
--------------------------------------------------------------
1. [DIR] SD/
2. [DIR] Flash/
3. [DIR] Temp/
4. [DIR] USB0/
Showing 1-4 of 4 |
Number to select, u=upload q=quit: 1
Selected: /SD/
45 dirs, 8 files, ~578 KB shown
[1] Enter directory
[2] Download all
[3] Go back
Choose: 1
--------------------------------------------------------------
Ultimate-64-II-439E67: /SD/
--------------------------------------------------------------
1. [DIR] #/
2. [DIR] _arm2sid/
3. [DIR] _BASIC/
4. [DIR] _bbs/
5. [DIR] _carts/
6. [DIR] _D81/
7. [DIR] _demos/
8. [DIR] _favs/
9. [DIR] _G64/
10. [DIR] _GEOS/
11. [DIR] _Kawari/
12. [DIR] _music/
13. [DIR] _Pocketwriter64/
14. [DIR] _reu_nuvies/
15. [DIR] _tape/
16. [DIR] _tools/
17. [DIR] _Ultimate64/
18. [DIR] _updates/
19. [DIR] _vic20/
Showing 1-53 of 53 | ^=up
Number to select, m=mkdir r=rename d=delete u=upload q=quit: u
Upload:
[1] Enter local path
[2] Browse local filesystem
Choose: 2
--------------------------------------------------------------
Local: /home/idun
--------------------------------------------------------------
1. [DIR] code/
2. [DIR] demos/
3. [DIR] games/
4. [DIR] idun-base/
5. [DIR] idun-sys/
6. [DIR] pics/
7. [DIR] sids/
Showing 1-39 of 39 | ^=up
Number to select, m=mkdir r=rename d=delete q=quit: 2
Selected: demos/
8 dirs, 46 files, ~4.1 MB
[1] Enter directory
[2] Upload all to /SD/
[3] Go back
Choose: 1
--------------------------------------------------------------
Local: /home/idun/demos
--------------------------------------------------------------
1. [DIR] edge-of-disgrace/
2. [DIR] grey/
3. [DIR] lifecycle/
4. [DIR] next-level/
5. [DIR] nine/
6. [DIR] signal-carnival/
7. [DIR] sonic-the-hedgehog-v12-5/
8. [DIR] wonderland-xiii/
9. amiga-intro.prg (6,912 bytes)
10. CopperBooze.prg (19,593 bytes)
11. flip-info.txt.bak (98 bytes)
12. pac_grey.prg (38,150 bytes)
13. rfovdc2.d64 (174,848 bytes)
14. scanandspin.d64 (174,848 bytes)
Showing 1-14 of 14 | ^=up
Number to select, m=mkdir r=rename d=delete q=quit: 2
Selected: grey/
3 files, 43 KB
[1] Enter directory
[2] Upload all to /SD/
[3] Go back
Choose: 2
Uploading grey/ -> /SD/grey/ ...
grey/pac_grey.prg ... done (38,150 bytes)
grey/walking_in_the_sunshine.prg ... done (4,096 bytes)
grey/walking_in_the_sunshine.sid ... done (1,558 bytes)
Done.
--------------------------------------------------------------
Local: /home/idun/demos
--------------------------------------------------------------
1. [DIR] edge-of-disgrace/
2. [DIR] grey/
3. [DIR] lifecycle/
4. [DIR] next-level/
5. [DIR] nine/
6. [DIR] signal-carnival/
7. [DIR] sonic-the-hedgehog-v12-5/
8. [DIR] wonderland-xiii/
9. amiga-intro.prg (6,912 bytes)
10. CopperBooze.prg (19,593 bytes)
11. flip-info.txt.bak (98 bytes)
12. pac_grey.prg (38,150 bytes)
13. rfovdc2.d64 (174,848 bytes)
14. scanandspin.d64 (174,848 bytes)
Showing 1-14 of 14 | ^=up
Number to select, m=mkdir r=rename d=delete q=quit: q
--------------------------------------------------------------
Ultimate-64-II-439E67: /SD/
--------------------------------------------------------------
1. [DIR] #/
2. [DIR] _arm2sid/
3. [DIR] _BASIC/
4. [DIR] _bbs/
5. [DIR] _carts/
6. [DIR] _D81/
7. [DIR] _demos/
8. [DIR] _favs/
9. [DIR] _G64/
10. [DIR] _GEOS/
11. [DIR] _Kawari/
12. [DIR] _music/
13. [DIR] _Pocketwriter64/
14. [DIR] _reu_nuvies/
15. [DIR] _tape/
16. [DIR] _tools/
17. [DIR] _Ultimate64/
18. [DIR] _updates/
19. [DIR] _vic20/
20. [DIR] grey/
Showing 1-54 of 54 | ^=up
Number to select, m=mkdir r=rename d=delete u=upload q=quit: d
Number to delete: 20
/SD/grey/ is not empty (3 items).
Delete recursively? [y/N]: y
Done.
--------------------------------------------------------------
Ultimate-64-II-439E67: /SD/
--------------------------------------------------------------
1. [DIR] #/
2. [DIR] _arm2sid/
3. [DIR] _BASIC/
4. [DIR] _bbs/
5. [DIR] _carts/
6. [DIR] _D81/
7. [DIR] _demos/
8. [DIR] _favs/
9. [DIR] _G64/
10. [DIR] _GEOS/
11. [DIR] _Kawari/
12. [DIR] _music/
13. [DIR] _Pocketwriter64/
14. [DIR] _reu_nuvies/
15. [DIR] _tape/
16. [DIR] _tools/
17. [DIR] _Ultimate64/
18. [DIR] _updates/
19. [DIR] _vic20/
Showing 1-53 of 53 | ^=up
Number to select, m=mkdir r=rename d=delete u=upload q=quit: q
$
When viewing any search result, the action prompt includes [v] Add to favorites (or press v). Favorites are stored in ~/.assembly64/config.json.
[1] Run on Ultimate (192.168.2.64)
[2] Run with auto disk flip (192.168.2.64)
[3] Download
[4] Add to favorites
v=favorite q=quit
Choose action: v
Added to favorites: Edge of Disgrace
Browse by category:
$ assembly64 favorites
--------------------------------------------------------------
FAVORITES (5 saved)
--------------------------------------------------------------
1. demos (3)
2. music (1)
3. graphics (1)
Number to drill down, l=list all q=quit: 1
--------------------------------------------------------------
FAVORITES › demos (3)
--------------------------------------------------------------
1. Edge of Disgrace [Booze Design 2008]
2. Comaland 100% [Censor Design 2015]
3. Qdor Qdor [Fairlight 2026]
Number to select, b=back q=quit: 1
[o]pen [d]elete [Enter=cancel]: o
Or use flags to go straight to a category or flat list:
$ assembly64 favorites --demos
$ assembly64 favorites --music
$ assembly64 favorites --list
$ assembly64 favorites --remove 12345
$ assembly64 cats
--------------------------------------------------------------
CATEGORIES
--------------------------------------------------------------
1. c64com (2 categories)
2. c64orgintro (1 categories)
3. commodore (5 categories)
4. csdb (12 categories)
5. gamebase (1 categories)
6. guybrush (7 categories)
7. hvsc (4 categories)
8. mayhem (1 categories)
9. oneload (1 categories)
10. pres (2 categories)
11. seuck (1 categories)
12. tapes (1 categories)
13. utape (1 categories)
--------------------------------------------------------------
Enter number to browse category type (or Enter to quit): 4
--------------------------------------------------------------
csdb
--------------------------------------------------------------
1. [ 0] CSDB games (games)
2. [ 1] CSDB demos (demos)
3. [ 2] CSDB 128 (c128stuff)
4. [ 3] CSDB graphics (graphics)
5. [ 4] CSDB music (music)
6. [ 5] CSDB discmags (discmags)
7. [ 6] CSDB bbs (bbs)
8. [ 7] CSDB misc (c64misc)
9. [ 8] CSDB tools (tools)
10. [ 9] CSDB charts (charts)
11. [ 10] CSDB easyflash (easyflash)
12. [ 25] CSDB reu (reu)
Showing 1-12 of 12 |
Number to select, q=quit: 4
CSDB graphics
Query: category:graphics
n=name h=handle g=group
a=after b=before o=order c=clear
Enter=search q=quit
Filter: g
Group: m0nde
CSDB graphics
Query: category:graphics group:m0nde
n=name h=handle g=group
a=after b=before o=order c=clear
Enter=search q=quit
Filter:
Searching ...
Query: category:graphics group:m0nde
Showing 1-1
[1] View results
[4] Refine query
q=quit
Choose: 1
1 result(s):
1. Me [m0nde 2024-11-06 3 (graphics)]
Showing 1-1 of 1 |
Number to select, q=quit: 1
--------------------------------------------------------------
Me
--------------------------------------------------------------
ID: 247364
Category: 3 (graphics)
Group: m0nde
Year: 2024
Released: 2024-11-06
--------------------------------------------------------------
Files:
1. me.d64 (174,848 bytes)
[1] Run on Ultimate (192.168.2.64)
[2] Download to current directory
[3] Quit
Choose action (or Enter to quit): 1
Downloading me.d64 ... done (174,848 bytes)
Uploading and mounting me.d64 ... done -> /Temp/temp0006
Resetting machine ... done
Injecting LOAD"*",8,1 + RUN ...
Waiting for load to complete ... done (3110)
Load detection took 4.2s
Searching ...
Query: category:graphics group:m0nde
Showing 1-1
[1] View results
[4] Refine query
q=quit
Choose: q
$