Skip to content

Sorgenti Giochi ​

Tutti i sorgenti BASIC e assembler della libreria CARD e dei giochi sono raccolti in un unico zip scaricabile da qui — utile quando l'accesso a GitHub è bloccato sulla tua rete.

📦 Scarica CARD_Games_C64-Dev.zip — circa 170 KB

L'archivio rispecchia la cartella Dev/ del repository GitHub.

Cosa contiene ​

Dev/
├── build-d64.ps1            Builder principale: tokenizza .bas, scrive .D64
├── extract-d64.ps1          Estrae un .D64 in .bas/.prg modificabili
├── BlackJack/               originale 1986
├── BlackJack-it/            originale 1986 (italiano)
├── Briscola/                originale 1987
├── Briscola-en/             remaster inglese 2026 (con build.ps1/.cfg)
├── Briscola-it/             remaster italiano 2026
├── Poker4/                  originale 1987
├── Poker4-en/               remaster inglese 2026
├── Poker4-it/               remaster italiano 2026
└── Test/                    test clipping CARD Routines 2 + tool capture-card

Ogni cartella di gioco contiene tipicamente:

  • *.bas — sorgente BASIC (testo PETSCII, in forma di listato)
  • *.prg — binari C64 compilati
  • card-symbols.prg — dati grafici condivisi da tutti i giochi
  • card-routines.prg — binario della libreria CARD (o card-routines-clipping.prg per la versione 2026)
  • start-*.bas / start-*.prg — boot loader che fa il POKE per proteggere la memoria e concatena LOAD / RUN
  • build.cfg + build.ps1 (solo progetti 2024+) — manifest dichiarativo della build più wrapper sottile che richiama il builder principale

Prerequisiti ​

Devi avere installato VICE. Gli script usano tre dei suoi tool:

  • petcat.exe — tokenizza il sorgente BASIC in binario C64
  • c1541.exe — crea e scrive le immagini disco .D64
  • x64sc.exe — lancia l'emulatore con il disco appena costruito

Di default gli script cercano VICE in D:\App\GTK3VICE-win64\bin. Modifica la variabile $ViceDir in cima a build-d64.ps1 e extract-d64.ps1 per puntare al tuo percorso di installazione.

Costruire un .D64 ​

Le cartelle dei giochi 2024-2026 includono uno script build.ps1 di comodo. Da dentro Dev/:

powershell
# Build della Briscola inglese
.\Briscola-en\build.ps1

# Equivalente usando il builder principale
.\build-d64.ps1 -GameFolder Briscola-en

# Build senza lanciare VICE alla fine
.\build-d64.ps1 -GameFolder Briscola-en -NoRun

Il .D64 risultante viene scritto una directory più in alto (..\Briscola-en.D64). Dopo una build riuscita VICE parte automaticamente con -autostart, così puoi giocare subito.

Formato di build.cfg ​

Ogni progetto moderno ha un build.cfg simile a questo (Briscola-en/build.cfg):

DISK_LABEL=briscola en,01
D64_NAME=Briscola-en.D64
FILE=start-briscola-en.bas,start briscola en,basic
COPY=Briscola-it\card-symbols.prg,card symbols,prg
COPY=Briscola-it\card-routines.prg,card routines,prg
FILE=briscola-en.bas,briscola en,basic
  • DISK_LABEL — nome e id del disco formattato
  • D64_NAME — nome del file di output (scritto un livello sopra Dev/)
  • FILE=locale,disco,tipo — file in questa cartella; tipo può essere basic (passa attraverso petcat) o prg (copiato così com'è)
  • COPY=percorso,disco,tipo — file preso da un'altra cartella (uso tipico: card symbols / card routines condivisi)

Estrarre un .D64 esistente ​

Per fare il percorso inverso — smontare un .D64 in sorgenti modificabili — usa extract-d64.ps1:

powershell
.\extract-d64.ps1 -D64File ..\Briscola-en.D64
# oppure con una cartella di output personalizzata
.\extract-d64.ps1 -D64File ..\Briscola-en.D64 -OutputFolder mia-briscola

Per ogni file presente sul disco lo script:

  1. Legge il PRG raw con c1541 -read
  2. Prova a fare detokenize con petcat -2 (riesce per i file BASIC, lascia i binari così come sono)
  3. Genera un build.cfg coerente con il layout del disco
  4. Scrive un build.ps1 minimale che richiama il builder principale

Il flusso tipico è quindi "extract → modifica .bas → rebuild", restando dentro la stessa cartella.

Per approfondire ​

La cartella Test/ contiene anche capture-card.ps1 — uno strumento che fa girare VICE in modalità warp per fare lo screenshot di ogni carta che la libreria CARD può disegnare. È quello usato per generare la Galleria Carte. La procedura completa è documentata in Test/capture-card.md dentro l'archivio.

Se costruisci un nuovo gioco con CARD o sistemi un bug in uno di quelli esistenti, apri una pull request sul repository GitHub — resta il posto dove coordinare le modifiche.

Released under the Apache 2.0 License