Newsgroup: it.comp.software.emulatori
Titolo: I programmi in formato .PRG o .P00

Possono essere creati ex-novo con un emulatore di C64? E il formato è
lo stesso anche nel caso del C65?
Lo chiedo perchè vorrei smanettare col BASIC del C65, ma siccome il
MESS non permette il salvataggio, scriverei i programmi con un
emulatore di C64 che lo permette e poi li caricherei col MESS...

Devil Master ha scritto:

Non ti e' possibile direttamente, perche' le istruzioni devono essere
"tokenizzate".
Se provi a farlo, ti sembrera' di riuscirci, dato che al comando LIST il
listato dovrebbe apparire, ma i comandi specifici del BASIC 10.0 saranno non
tokenizzati. Puoi rimediare dando il comando LIST e passando, una ad una,
tutte le linee del programma e battendo RETURN per ognuna di esse.
Oppure, a partire dalla documentazione dei token di BASIC 10.0 presenti su
funet...
http://www.funet.fi/pub/cbm/programming/cbm-basic-tokens.txt
...e scrivendoti un tokenizzatore, potresti produrre un "semi-compilatore",
che traduce file ASCII in .PRG per C65 ;-) anche se penso che qualcosa del
genere dovrebbe esistere in rete, magari da adattare... cmq io fin'ora non
ho cercato nulla di simile, quindi e' solo un'ipotesi.

 emulatore di C64 che lo permette e poi li caricherei col MESS...
Puoi usare bastext
http://www.softwolves.pp.se/sw/software/others.html
io ho fatto un paio di modifiche ai sorgenti, c'era un buffer overflow
grande come una casa e ne ho approfittato per implementare anche il
supporto al basic 3.5 del c16/+4
http://digilander.libero.it/iANCooG/C/bastext10.zip
http://digilander.libero.it/iANCooG/C/bastext_101_diff_by_iAn.rar
http://digilander.libero.it/iANCooG/C/bastext_102_diff_by_iAn.rar
poi ce' un modo tutto particolare da usare direttamente col C64.
Per salvare il listato "detokenizzato" su disco scrivi in modo diretto
OPEN 1,8,2,"LISTATO,S,W":CMD1:LIST
quando riappare il cursore
PRINT#1
e
CLOSE1
avrai il tuo listato su disco, che puoi estrarre con Star commander,
64copy, cbmconvert, quel_che_vuoi e smanettarlo.
La forma contraria e' un po' piu' complessa.
OPEN1,8,2,"LISTATO,S":POKE781,1:POKE812,73:SYS65478
questo interpreta ogni riga letta e la sys fa in modo che venga
memorizzata come se fosse battuta da tastiera. Vedrai lo schermo
scrollare come se stesse battendo invio da solo.
alla fine il "READY." alla fine del file generera' un ?syntax error, dai
CLOSE 1
et voila', reimportato il listato.
-- 
-=[]=---iAN CooG/TWT+HokutoForce---=[]=-
 
http://digilander.libero.it/iANCooG/
-=[]=------------------------------=[]=-
Errare Pentium est, perseverare est Microsoft !!!


Fammi capire... io scrivo il programma per esempio col Notepad, lo dņ
in pasto al Bastext e ottengo il file PRG da usare col MESS?

 "tokenizzate".
Mi meraviglio di te....
Ti sei dimenticato del Petcat ???
Saluti,
Dott. Piergiorgio.

 in pasto al Bastext e ottengo il file PRG da usare col MESS?
Quasi.
Il txt deve avere un header e un footer, es:
start tok64 nomeprogramma.prg
10 print "pippo"
stop tok64
bastext -o nome.txt
e ti genera nomeprogramma.prg
bastext -i nomeprogramma.prg>nome.txt
per detokenizzare un prg.
-- 
-=[]=---iAN CooG/TWT+HokutoForce---=[]=-
 
http://digilander.libero.it/iANCooG/
-=[]=------------------------------=[]=-
In Cuesta Frase Ci Sono Tre Erori !


Fiiigo! Mo' lo provo...

ARGH! MA NON FUNZIONA!!!
Come faccio il mount di un programma (dall'unità Quickload) appaiono
dei caratteri strani in cima allo schermo, e se faccio LIST non
risulta alcun listato!
E non è colpa dell'emulatore, perchè il programma che ho prelevato da
http://www.toxic-waste.de/c65/bin/gfxdemo1.prg
 funziona...


P.S.
MALIMORTACCIDELIMORTACCI...
Oltre al danno anche la beffa! Emulando un C64 funziona!

 Oltre al danno anche la beffa! Emulando un C64 funziona!
Secondo me e' normale: il BASIC 10.0 presenta diversi token in piu' rispetto
alle versioni 2.0, 3.5 e 7.0.

 Ti sei dimenticato del Petcat ???
Uhm... in effetti il nome "petcat" mi suona in testa come un'eco lontana di
epoche passate... ma non ricordo affatto cos'era... mi faresti un refresh
della memoria? :)

 Oltre al danno anche la beffa! Emulando un C64 funziona!
Devil master Lamer! :)
-- 
Il vantaggio di essere intelligente e' che si puo' sempre fare 
l'imbecille, mentre il contrario e' del tutto impossibile.

 refresh della memoria? :)
E' un programma ancillare del VICE che permette eppunto di tokenizzare un 
file ASCII in tokens dei vari Basic Commodore.
Una volta ho esposto la procedura per portare al C64 (o 128, vic, ecc.) un 
file BASIC scritto con un editor: si tokenizza con Petcat, poi il file 
risultante viene messo su disco con c1541 (un tool veramente formidabile!) 
ed infine caricato sel 64 emulato ;)
Saluti,
Dott. Piergiorgio.

file ASCII in tokens dei vari Basic Commodore.
Mmmm... sicuro gestisca anche i token del BASIC 10.0? Essendo incluso col
VICE (che credo non emulera' mai il C65) ne dubito.
D.Master: ci hai provato? Se si, con che risultati?


Allora bisognerebbe che Ian Coog si mettesse a implementare i token
del Basic 10.0 nel Bastext...

 del Basic 10.0 nel Bastext...
Basterebbe che iAN CooG mettesse il suo lavoro online ;)

>D.Master: ci hai provato? Se si, con che risultati?
Nessun risultato: bisognerebbe che sapessi come si usa il Petcat...

 Nessun risultato: bisognerebbe che sapessi come si usa il Petcat...
Una ricerchina con Google? Ecco cosa ho trovato:
http://www.nmt.edu/tcc/swinv/vice/1.3/man/petcat.1.html
Dal quale si evince (al contrario di quanto io pensassi) che interpreta
anche il BASIC 10.0 :-)


Allora, ho fatto una prova veloce veloce. Ho creato un file di testo
chiamato "fnord.txt" che contiene quanto segue:
10 print "fnord!"
e ho lanciato il Petcat con la seguente linea di comando:
petcat -w10 fnord.txt >fnord.prg
dopodiché ho lanciato MESS, ho caricato il programma e ho dato il
comando LIST. L'unica cosa che è apparsa è il numero 2573. Ho provato
a dare il RUN e mi è apparso:
?SYNTAX ERROR IN 17954
Dove sbaglio?

Devil master Lamer! :)
Lamer davvero. Non sa nemmeno che senza il ",1" finale potrebbe forzare il
programma ad essere caricato nell'area BASIC. Se non compare nessun listato
sul C65 e` perche` evidentemente i puntatori dell'area BASIC sono diversi
dal C64.
Se invece il listato compare, basterebbe una prova empirica, scrivere
questo listato su C64:
10 DEVIL MASTER LAMER
che non contiene nessuna parola BASIC e quindi nessun token.
Deve comparire uguale sul C65.
-- 
 $B%^%C%7!!%+%G%s%F%# (B - E-mail massi.cadenti(at)
tiscali.it
 <-- NEW
Mastro di chiavi della GHOULS
Obiettore di coscienza ufficiale della BOBBLE
Dittatore del gruppo di fansub IBC-CIF (Rebirth)