Post recenti

Pagine: [1] 2 3 ... 10
1
Segnalazione News / Re:Aggiornato Ready64!
« Ultimo post da Phobos il 21 Marzo 2025, 21:34:33 »
Aggiornate tutte le schede che hanno a che fare con la pubblicazione statunitense della rivista Loadstar, penso la più longeva al mondo per quanto riguarda il C64. Partiti a metà del 1984 (mensilmente fino al 2002, poi un inevitabile declino riducendo le uscite) hanno cessato la pubblicazione nel 2008 con il numero 250. Tratto distintivo un vero magazine in formato digitale su dischetti con articoli, immagini, software, file audio e tanti giochi di pubblico dominio realizzati internamente o da programmatori esterni, insomma di tutto e di più. Facile trovare in rete l'intera collana e rimando al sito www.c64-wiki.com/wiki/Loadstar per chi volesse approfondire sull'argomento.
2
Segnalazione News / Re:Aggiornato Ready64!
« Ultimo post da Phobos il 11 Marzo 2025, 19:16:31 »
Continua, sottotraccia senza bisogno di news ad hoc, gli aggiornamenti alle schede con l’inserimento dell’anno di pubblicazione, completo di giorno e mese, o di altre utili informazioni da riportare tra le righe. Dopo aver lavorato ad ogni singolo gioco del 2011 mi sono messo al lavoro su un periodo che è davvero alquanto ostico. Lo definirei l’immediato “post-commodoriano” (1995/2000) che ha al suo interno molti titoli semi sconosciuti, opere di Public Domain, e non solo, di gente e software house che non si erano rassegnati alla fine del C64. Grazie al contributo di AmigOS, sono riuscito a mettere le mani sull’intera opera di divulgazione perpetuata da Commodore Zone che, dal 1995 fino a fine 2001, ha dato natali a coloro che il C64 l’avevano sempre avuta accanto al cuore. Grazie a queste informazioni si potrà ricostruire pezzetti di memoria perduti posizionando tutti i puzzle trovati nella loro giusta collocazione. Ulteriore aiuto, che invito alla scoperta, è stata la visione del sito Cosine Systems (https://www.cosine-systems.com/cosine/index.php) che proprio in quegli anni ha pubblicato numerosi giochi e demo usufruendo appunto della collaborazione di Commodore Zone. Pertanto vedremo in futuro l’inserimento di schede di giochi dimenticati.
3
Segnalazione News / Re:Quod Init Exit V1.2
« Ultimo post da saimo il 05 Marzo 2025, 11:08:24 »
Ragazzi, dall'ultimo post è stata fatta una grossa quantità di miglioramenti e aggiunte, tra le quali spicca l'aggiunta della quarta zona: TOWERS. Siccome non sarebbe pratico scrivere qui una lista di tutti i cambiamenti, vi fornisco questo link all'history e quelli degli ultimi due video:
https://www.youtube.com/watch?v=Sq50CBSlrJQ
https://www.youtube.com/watch?v=wcf6QDYbtzs

Per altri dettagli: https://retream.itch.io/quod-init-exit-iio

P.S. Rimane solo una zona da fare e poi il gioco sarà finalmente completo!
4
Aiuto & Domande / Re:datassette in pensione?
« Ultimo post da Alpiñolo il 25 Febbraio 2025, 18:27:42 »
Potrebbe essere che il connettore sul C64 fosse ossidato e non so se l'hai connesso/disconnesso alcune volte ma potrebbe essersi pulito, oppure come dicevo anche lo switch del sense se hai premuto qualche tasto si è pulito, oppure semplicemente i misteri dell'elettronica...

Se fatica a riavvolgere sicuramente anche io controllerei la cinghia ma potrebbe pure essere la frizione che slitta.
Il Datassette è originale Commodore? Su un modello non originale o trovato la frizione rovinata, mentre quelli originali come scritto nel post precedente sono più robusti.
5
Aiuto & Domande / Re:datassette in pensione?
« Ultimo post da Grissino78 il 24 Febbraio 2025, 20:57:52 »
Sinceramente non so spiegarlo, ho riaperto il datassette per fare i controlli di tensione sulla scheda elettronica, ho tolto le viti della scheda per capire dove erano saldati i fili , rimetto le viti controllo la tensione ed è presente, premo il tasto play e il motorino gira, Sarà stata la vite che non faceva massa correttamente? Ho avviato i giochi e vanno, solo che ho notato che man mano che si avvolge il nastro il motorino rallenta ma presumo sia dovuto alle cinghie che si sono allentate dopo tutti questi anni,  sostituendole dovrei risolvere, grazie
6
Commodore 64 & Ready64 / Re:Pangrammi!
« Ultimo post da claudio.daffra il 24 Febbraio 2025, 20:25:11 »
Aggiungo i link dei video sui pangrammi / autogrammi :

1) breve introduzione :  https://www.youtube.com/watch?v=fcLxxz-IS3Q&t=300s

risolti con macchina reale in 2.30h :

2) il commodore 64 risolve gli autogrammi Italiano : https://www.youtube.com/watch?v=J0kYQws62I4

3) c64 challenges autograms english version :  https://www.youtube.com/watch?v=5WmACT9XHWQ&list=PL-lCO2g1paXk17WY02dZ0n7bxi9ZsWmwi

7
Aiuto & Domande / Re:datassette in pensione?
« Ultimo post da Grissino78 il 19 Febbraio 2025, 06:11:17 »
Ti ringrazio per la disponibilità, faccio le verifiche che hai detto, temevo potesse essere una tensione a vuoto al di sotto del nominale, considerando l'ulteriore caduta che ci sarebbe collegandogli il carico, purtroppo sono fuori per lavoro mi posso dedicare solo nel weekend, grazie di nuovo
8
Aiuto & Domande / Re:datassette in pensione?
« Ultimo post da Alpiñolo il 18 Febbraio 2025, 15:05:36 »
Non si sente nulla neanche per attimo all'accensione del C64?
Premesso che il motore viene alimentato dai 6V ricavati dalla linea 9V AC sul pin C-3, i 4,7V della linea +5V (pin B-2) sono ancora accettabili e per me il problema non è quello. Link pinout: https://www.c64-wiki.com/wiki/Cassette_Port
Prima cosa io controllerei lo switch del "sense" (quello che si chiude quando premi un qualsiasi tasto) che potrebbe essere rotto o solo ossidato.
Il problema potrebbe essere anche nel C64: bisognerebbe provare il tuo datassette con un altro C64 o un altro datassette (sicuro funzionante) con il tuo C64 e vedere dove rimane il difetto.

I datassette originali Commodore sono abbastanza robusti e affidabili, quelli che ho recuperato da cantine fredde e umide rimasti fermi per più di 30 anni sono ancora funzionanti.
9
Commodore 64 & Ready64 / Re:Pangrammi!
« Ultimo post da JoJo1973 il 16 Febbraio 2025, 17:01:09 »
Queste IA diventano sempre più inquietanti! Comunque ho fatto una semplice prova inserendo per ciascuna lettera un limite ±1 centrato sul valore della soluzione ed il pangramma è stato trovato.

Il prossimo step sarà quello di adattare il programma a trovare il secondo pangramma che ho trovato col programma in Python e poi, tempo permettendo, disassemblare e commentare la routine in LM.
10
Commodore 64 & Ready64 / Re:Pangrammi!
« Ultimo post da Flavioweb il 16 Febbraio 2025, 13:13:33 »
Ho fatto anch'io alcune prove per capire se il listato proposto su CCC fosse realmente utilizzabile nella pratica sul Commodore 64.
Come prima prova l'ho messo in esecuzione sull'emulatore Denise che sul mio PC gira a circa il 3300% della velocità originale del 64.
Come "parametri" ho settatto il limite minimo proposto e come "massimo" esattamente il doppio di ogni valore. Non ho usato un criterio particolare per utilizzare questi valori ma sono andato a "sentimento".
Dopo 5 giorni di elaborazione continuata non ho ancora ottenuto alcun risultato: nessun pangramma e nemmeno un esito negativo.

Come secondo tentativo, giusto per capire se il codice potesse realmente funzionare, ho usato la AI Gemini di Google.
L'ho da prima istruita a comprendere cosa facesse il codice assembly necessario al funzionamento del prg basic e poi le ho chiesto di analizzare il funzionamento dei due codici in maniera combinata.
Il risultato è stato questo:
Citazione
Ok, proviamo a incrociare l'analisi del codice assembly con il codice BASIC per dedurre il funzionamento e ipotizzare dei valori di input.

Ipotesi sul Funzionamento Generale:

Considerando le operazioni di lettura/scrittura nella pagina di memoria $C2xx, i salti condizionati, e le informazioni che abbiamo sul BASIC, ecco un'ipotesi più dettagliata:

Inizializzazione:

Il codice assembly legge i limiti inferiori e superiori (min/max occorrenze di lettere) che l'utente ha inserito tramite INPUT nel BASIC e che sono stati scritti nella pagina $C2xx (probabilmente $C2A0-$C2AF).

Inizializza una tabella (forse in $C2B0-$C2BF) con dei valori di partenza.

Ciclo Principale (Ricerca Pangramma):

Il codice assembly seleziona una combinazione di numeri dalla lista N$() (uno, due, tre, ... cinquanta).

Conta le occorrenze di ogni lettera (a, b, c, ... z) in questa combinazione.

Confronta queste occorrenze con i limiti min/max letti precedentemente dalla pagina $C2xx.

Se tutte le lettere rientrano nei limiti, e se sono presenti tutte le lettere (cioè, se è un pangramma), memorizza questa combinazione come un potenziale risultato.

Continua a provare altre combinazioni finché non trova una soluzione o esaurisce le possibilità.

Tabella di Salto (Gestione Risultati o Condizioni):

La tabella di salti (le istruzioni JMP dopo i BNE) potrebbe servire per gestire diverse situazioni:

Se una lettera è troppo rara nella combinazione corrente, salta a una routine per provare una combinazione diversa.

Se una lettera è troppo frequente, salta a una routine per provare una combinazione diversa.

Se tutte le lettere rientrano nei limiti ma non sono presenti tutte, salta a una routine per aggiungere altre parole alla combinazione.

Se trova un pangramma valido, salta a una routine per memorizzare i risultati.

Output dei Risultati:

Se trova un pangramma valido, il codice assembly scrive gli indici delle parole che compongono il pangramma nella memoria (probabilmente $C2C0-$C2CF).

Imposta un flag in memoria per indicare il successo della ricerca.

Ipotizziamo Valori di Input:

Dato che il programma cerca un pangramma con lettere da 'a' a 'v' e 'z', un input sensato sarebbe:

a (min 12, max 15): Un valore alto perché ci sono molte parole che non contengono la lettera 'a'.

b (min 1, max 2): Valori bassi, poiché 'b' non è frequentissima.

c (min 5, max 7): Anche qui, valori bassi.

d (min 5, max 7): Valori bassi.

e (min 11, max 14): Valore alto, 'e' è molto comune.

i (min 4, max 6): Valori medi.

n (min 11, max 14): Valore alto, 'n' è comune.

o (min 10, max 13): Valore alto, 'o' è comune.

q (min 4, max 5): Valore basso, 'q' è rara.

r (min 5, max 7): Valori medi.

s (min 5, max 7): Valori medi.

t (min 8, max 10): Valori medi/alti.

u (min 11, max 13): Valore alto, 'u' è abbastanza comune.

v (min 2, max 3): Valore basso, 'v' è rara.

Esempio di Interazione Utente (ipotetica):
Citazione
Codice: [Seleziona]
ESTREMO INFERIORE A (MIN. 12)? 12
ESTREMO SUPERIORE A? 15

ESTREMO INFERIORE B (MIN. 1)? 1
ESTREMO SUPERIORE B? 2

ESTREMO INFERIORE C (MIN. 5)? 5
ESTREMO SUPERIORE C? 7

... e così via ...

INIZIATA RICERCA PANGRAMMI
ATTENDERE PREGO!

QUESTO PANGRAMMA TROVATO CON IL
COMMODORE SESSANTAQUATTRO CONTIENE:
UNDICI A, UNA B, SEI C, CINQUE D,
DODICI E, UNA F, DUE G, UNA H,
CINQUE I, DUE L, CINQUE M, DODICI N,
DODICI O, DUE P, QUATTRO Q, CINQUE R,
SEI S, OTTO T, UNDICI U, DUE V,
E UNA Z.
Come questi input influenzano il codice assembly:

Gli input dell'utente vengono scritti nella pagina $C2xx, quindi le istruzioni LDA $C2xx nel codice assembly leggono direttamente questi valori.

I limiti min/max vengono usati per i confronti all'interno del ciclo di ricerca. Il codice assembly confronta il numero di occorrenze di ogni lettera con questi limiti e decide se accettare o rifiutare la combinazione corrente.

La scelta degli input influenza direttamente il tempo di esecuzione. Se i limiti sono troppo restrittivi, il codice potrebbe impiegare molto tempo per trovare una soluzione (o non trovarla affatto).

Prossimi Passi:

Debug con gli input ipotizzati: Prova a eseguire il programma nel VICE con questi input ipotizzati e usa il debugger per vedere come il codice assembly reagisce.

Identificare la tabella di salto: Cerca di capire quali condizioni attivano i diversi salti nella tabella di salto. Questo ti darà un'idea di come il codice gestisce le diverse situazioni.

Analizzare il codice intorno ai salti: Analizza il codice immediatamente prima e dopo le istruzioni BNE e JMP per capire cosa viene confrontato e cosa succede quando il salto viene eseguito o non eseguito.

Quindi sembra che il codice funzioni anche sulla macchina reale anche se io personalmente non sono ancora riuscito a verificarlo nella pratica.
Pagine: [1] 2 3 ... 10