Ready64 Forum

Commodore 64 => Aiuto & Domande => Topic aperto da: Razhell - 01 Maggio 2011, 14:16:14

Titolo: Compilatori Basic E Cartucce
Inserito da: Razhell - 01 Maggio 2011, 14:16:14
 MODERAZIONE - Leggi il Regolamento. Non riesumare thread di anni fa, a maggior ragione se lo fai cambiando argomento. Thread diviso e spostato in "Aiuto e Domande". -eregil

Ciao a tutti, mi collego a questo topic per una domanda, sto realizzando un programma per una interfaccia hardware di mia realizzazione, il programma è in basic e sta diventando gorssino, ho provato a compilarlo con il BLITZ e il risultato è ottimo, ora:
vorrei mettere il programma su cartuccia, il risultato compilato dal Blitz è comparabile ad un sofware in linguaggio macchina o assembly al fine di creare il file .bin da mettere sulla cartuccia ?

Premetto che NON so assolutamente usare il luinguaggio assembly e non intendo impararlo ora per questo scopo.... 8-) ( non ho tempo)

So come si programma una eprom e ho tutto il necessario per farlo...

Se il blitz non va bene quale compilatore mi consigliate di usare ?

Posso mettere su cartuccia il programma in basic estrapolandolo dalla memoria o non andrà mai ?

grazie  a tutti per le risposte

Leo
Titolo: Compilatori Basic E Cartucce
Inserito da: iAN CooG - 01 Maggio 2011, 14:27:16
 I compilatori generano programmi lanciabili da basic a partire dalla locazione 2049 ($0801); le cartucce devono partire da 32768 ($8000); per mettere un prg compilato in una cartuccia va rilocato a $8000, il formato e' gia' stato discusso in altri post, ma richiede una minima routine in asm e un pelo di competenza.
Non sono a conoscenza di programmi che facciano in automatico quel che chiedi, va fatto a mano per quel che ne so;  ma se da parte tua c'e' l'ammissione di NON VOLERE IMPARARE, tanto vale fermarsi qua.  
Titolo: Compilatori Basic E Cartucce
Inserito da: Razhell - 01 Maggio 2011, 15:18:38
 Inizio scusandomi per aver messo il post nel posto sbagliato.

Poi per quello che riguarda la mia volontà di imparare, la volontà c'è !! solo che mi rendo conto che non sarei in grado di imparare l'assembly al punto di riscrivere il software che ho creato nei tempi che ho a disposizione.

Devo ancora finire il programma principale, e se mi fermo e riparto da capo i tempi si allungano.... però con il vostro aiuto è anche vero che tutto può diventare possibile....

per meglio spiegarmi e capire come posso procere...
Il programma in questione gestisce tramite la porta user una centralina per 12 luci a 220 volt che uso come sequencer per le luci stile disco.
Il programma compila da solo le sequenze delle 12 luci che sono introtte tramite linee di "data" dove i valori sono a coppie, un primo vaolre compreso tra 0 e 63 per le prime 6 luci e un valore da 64 a 127 per le altre 6.
La macchina usa 1 canale della porta per leggere la musica e sincronizzare le luci e gli altri 7 per le 12 lampade, 1 per il multiplexer e 6 per i dati così spezzando in 2 i dati ho 6+6 luci.
Il tutto è fatto tramite l'uso delle poke 56577 e 56579.
I "data" sono formattati così che il programma da solo capisce l'inizio e la fine di ogni sequenza e la compila dentro a variabile a 2 dimensioni memoriazzando inizio, fine  e nome di ogni singola sequenza.
Le sequenze introducibili sono da 1 ad un max di 30 e il prg se le conta da solo così a noi rimane solo di avere fantasia nel creare le sequenze ottiche come la fantasia ci suggerisce.
>Il prg capisce da solo quandi data leggere senza dare errore di out of data in fase di compilazione
Le sequenze, sempre fornite a coppie, sono lunghe a piacere, da 1 coppia  a qualche centinaia per effetti molti complessi.
I tasti da "1 a 0" da "q a p" e da 2a a ": sono usati per selezioanre le 30 ( o meno ) sequenze.
Un ciclo su se stesso a dimensione variabile crea un rallentamento se le sequenze sono troppo veloci.
Il video, una volta generate le sequenze mostra una schermata con i nomi delle 30 sequenze, lette dai data, un monitor con la effettiva immagine delle 12 luci accese o spente, nelle 4096 possibili posizioni, e il valore di ritardo applicati.
La velocità ottenuta ottimizzando e compilando il sorgente mi permette di usare i 12 canali anche come luci stroboscopiche.
La prima versione la scrissi nel 1985, ora ho ricreato tutto dopo 20 anni che non usavo il basic e il commodore, che mi sono ricomprato apposta per riusare la macchina delle luci che ho ripescato in cantina...
Qui la schermata durante l'uso, dopo la compilazione...

(http://s2.postimage.org/2zai96ns4/tim.jpg) (http://postimage.org/image/2zai96ns4/)

Nella versione definitiva prevedo di mettere la lettura delle sequenze da un file esterno che sarà creato da un editor dedicato...

Ora... chi mi insegna o mi da un po di dritte per spostare il tutto dal basic all'assembly ????

grazie  a tutti

Leo
Titolo: Compilatori Basic E Cartucce
Inserito da: Razhell - 06 Maggio 2011, 01:00:38
 Nessuno che mi aiuta ?? nessun che ha mai messo su cartuccia un proprio programma ??

Nessuno nessuno ????

 :confused:

RAz
Titolo: Compilatori Basic E Cartucce
Inserito da: Elder0010 - 06 Maggio 2011, 11:04:59
 Non credo che nessuno ti convertirà il codice! Piuttosto dovresti metterti a studiare un po di linguaggio macchina. Onestamente penso che se sei riuscito a programmare con successo una cosa cosi' in basic non sarà troppo difficile passare al basso livello.

Sul forum l'argomento è trattato ampiamente (http://ready64.org/smf/index.php?topic=3547.0).

In 5 righe potresti procedere cosi:
- impara a contare in binario / esadecimale se non sai farlo
- prendi un libro introduttivo per il linguaggio macchina sul c64
- scrivi dei programmi semplici di esempio, arriva al punto di disegnare due/tre schermate (menu - schermata1 - schermata2) che cambiano con la pressione di un tasto
- spendi un po di tempo a capire cosa sono gli interrupts e come si usano.

Scarica il dasm di Ian Coog a questo  indirizzo (http://iancoog.altervista.org/C/dasm2.20.07-iAN_Rev_L.rar) per compilare.

 
Titolo: Compilatori Basic E Cartucce
Inserito da: Razhell - 07 Maggio 2011, 01:20:29
 Grazie per la risposta e l'iniezione di fiducia !! non pretendo che qualcuno mi converta il codice, figurati, ma almeno mi hai detto da che parte partire per iniziare a comprendere l'assembly, so contare in binario ed esadecimale.
Poi ho cercato dove si parla delle cartuccie e ho capito come si tira fuori un priogramma, ma ora devo fare la cosa inversa a livello di software.
A livello di hardware non ho problemi, faccio ripariazioni elettroniche da anni specie su prodotti ormai vintage, juke box, flipper e commodore anni 80.....
Ho giusto riportato in vita 3 MB di C-64 in questi giorni, quindi per programmare la eprom non avrò problemi.
La cosa che mi intriga di più è capire che velocità sulla user port riuscirò ad ottenere passando in Assembly perchè già il passaggio dal basic al basic compilato col Blitz! è stato a dir poco notevole al punto che ho messo un ritardo se no le luci erano troppo veloci...

RAz
Titolo: Compilatori Basic E Cartucce
Inserito da: Elder0010 - 07 Maggio 2011, 08:48:35
 dal punto di vista hardware non so nulla, ma sono sicuro che avrai un bel boost di performance!!!!
Titolo: Compilatori Basic E Cartucce
Inserito da: med - 08 Maggio 2011, 09:07:31
 
Citazione
Ora... chi mi insegna o mi da un po di dritte per spostare il tutto dal basic all'assembly ????

Scusa, perchè non posti (o meglio, alleghi) il programma che hai scritto in basic? Magari se non è troppo complesso qualcuno te lo riscriverà in assembler...
Titolo: Compilatori Basic E Cartucce
Inserito da: Razhell - 10 Maggio 2011, 10:38:21
 Posso farlo però vorrei anche provare io, se qualcuno si offre di dargli un occhio lo posto, però siccome sto ancora lavorandoci sopra per ottimizzare il codice e aggiungendo feature non ho ancora una versione definitiva.
Se però volete lo metto ( così fi fate 2 risate se ci sono dentro porcate), ditemi però come fare per allegare un file perchè il testo è lunghino.....

RAz
Titolo: Compilatori Basic E Cartucce
Inserito da: med - 10 Maggio 2011, 14:00:34
 
Citazione
Se però volete lo metto ( così fi fate 2 risate se ci sono dentro porcate)
Se pensi che possa accadere una cosa del genere, allora hai sbagliato forum...

Citazione
ditemi però come fare per allegare un file perchè il testo è lunghino.....

Comprimilo come vuoi (zip, rar) e allega il file che ne deriva.
Dal momento che hai postato un'immagine ricavata dal VICE, ne deduco che non stai scrivendo il programma direttamente su un vero commodore ma su un emulatore... Quindi perchè non alleghi anche questo file (sia che si tratti di PRG, D64, T64, ecc) o una snapshot di VICE?

Citazione
Posso farlo però vorrei anche provare io, se qualcuno si offre di dargli un occhio lo posto
Infatti, è giusto che a provare (ed imparare) sia tu. Più che altro sono curioso di vederne la (eventuale) complessità. E poi una disanima (progressiva) della conversione del tuo programma da BASIC a ASSEMBLER di certo tornerà utile anche ad altri utenti del forum.
Titolo: Compilatori Basic E Cartucce
Inserito da: Razhell - 10 Maggio 2011, 14:34:28
 Guarda che non mi offendo se mi pigliate in giro per qualche ingenuità nel sorgente basic... sono 20 anni che non scrivo nulla... e qualche abominio stilistico nel codice c'è di sicuro !!  :lol:
Ho messo la schermata del vice perchè il software lo scrivo usando l'editor CBM Program Studio su win7 ( che reputo molto valido) che è decisamente molto più comodo per l'editing che non usare il c-64 reale o digitare nel vice, CBM poi con un clic mi passa il codice al vice e vedo subito se va tutto bene, almeno così non ho in giro il l'SX-64 con buona pace della moglie.... mi capite vero ?
Il prg poi funziona sul mio sx-64 per ovvie ragioni di collegamento con la scheda luci hardware che deve controllare, però c'è la funzione monitor che evita di collegare la macchina luci per vedere il risultato se no il prg sembrerebbe li fermo, invece spara dati a manetta sulla user-port
Questa sera se riesco ( tempo tiranno) vi metto il sorgente e un minimo di spiegazione per capire cosa fa e come usarlo, se no la vedo dura..
Tieni presente che il prg non fa ancora tutto quello che mi ero prefissato di fargli fare, infatti ci lavoro su tutte le sere.... lo sto ottimizzando perchè il programma macina una quantità enorme di DATA dentro ad una variabile a 2 dimensioni per gestire i 4096 modi in cui puo' combinare l'accensione delle 12 lampade e quindi combinando le sequenze i DATA sono molti molti... stasera mi capirai meglio.

Grazie e a presto
RAz
Titolo: Compilatori Basic E Cartucce
Inserito da: Razhell - 11 Maggio 2011, 00:14:42
 domanda.... come si fa ad allegare un file al messaggio ? c'è l'opzione per una immagine ma il file è 15 minuti che cerco ma ...

RAz
Titolo: Compilatori Basic E Cartucce
Inserito da: eregil - 11 Maggio 2011, 00:23:20
 Se non hai un tuo hosting, usa un servizio di file sharing (megaupload, ecc.) e posta il link.
 
Titolo: Compilatori Basic E Cartucce
Inserito da: Razhell - 11 Maggio 2011, 00:38:17
 Ecco la versione più recente del programma T.I.M. ovvero "The incredible Machine", nome di una fantasia estrema....
Ora vi spiego cosa serve e cosa fa il programma basic che allego al messaggio, basta fare un drag e drop dentro al VICE e poi con esc fermarlo per vedere il listato...
Prima un po' di info anche sull'hardware, TIM è un sequencer di luci per discoteca, con 12 canali a 220 volt a cui connettere le classiche lampade colorate, utile per creare una discoteca molto anni 80.
L'hardware è collegato alla user port del C-64 tramite una interfaccia isolata da fotoaccoppiatori, ora vediamo come ottenere 12 luci indipendenti con la user port.
La porta ha 8 linee programmabili come in o out, ne usiamo una come input ( l'ultima) e 7 come output, la linea di input la uso per leggere una linea audio AUX dalla quale ottenere i picchi della musica per far avanzare le luci a ritmo, le altre 7 sono usate così: 6 linee per gestire le luci e una per gestire il multiplexer, ovvero se la linea è a 0 comando le luci da 1 a 6 poi
portando la linea del multillexer ad 1 (alto) mando i segnali per le seconde 6 luci, così facendo ho 12 luci indipendenti.
da qui si capisce che per gestire le 12 luci devo sempre mandare una coppia di dati sulla porta, una con il multiplexer basso e una col multiplexer alto.
Le sequenze, per usare la centralina come luci da discoteca bisogna gestire degli effetti, ad esempio una lampada che viene accesa una dopo l'altra, luce 1 accesa, le altre 11 spente, poi spengo la 1 accendendo la 2 e le altre sempre spente.... ecc, così il punto luminoso scorre per le 12 luci, sempre col sistema delle 6 + 6 luci.
Le poke usate sono solo 2, all'inizio si setta la porta con poke 56579,127, poi con poke 56577,x ripetuta mando le 2 data per le 12 luci (6+6)
i valori usati sono da 0 a 63 per le prime 6 luci e da 64 a 127 per le altre 6, i codici sono ripetuti se le posizioni delle luci sono simmetriche, basta mandare il primo valore e poi il primo valore +64.
Mi spiego:
luci tutte spente poke 56579,0: poke 56577,64 (64=0+64)
luci tutte accese: poke 56579,63: poke 56579,127 (63+64=127)
Quante comnbinazioni ottengo con 12 luci= 4096 combinazioni ( 64 per ogni banco, quindi 64 *64= 4096)
Per leggere i picchi della musica basta leggere con peek sempre la locazione 56577, se il valore è maggiore di 127 il picco è presente e il programma reagisce facendo avanzare le sequenze delle luci.
quindi per gestire le luci ed ottenere degli effetti è sufficiente mandare alla user port delle sequenze di poke, sempre a coppie e si ottiene il movimento delle luci, più è veloce l'invio e più veloce è l'effetto ottenuto, l'importante è avere la fantasia giusta per creare inseguimenti, lampi scie e quant'altro.
E qui la cosa si fa complessa, per ottenere velocità ho fatto si che il programma carichi i valore da dare alle poke in una variabile bidimensionale DIMensionata DIM A%(5000,1) così abbiamo la possibilità di gestire 5000,0 valori per il primo banco e 5000,1 per il secondo, vi sembrerà strano ora ma non è grande la variabile, definiti gli effetti forse sarà da ingrandire, leggete fino in fondo prima di tirare conclusioni....
Ora bisogna capire come passare al prg le sequenze numeriche, usando le linee di DATA è la soluzione più veloce, ovvio che bisogna creare a penna le sequenze perchè per ottenere solo un punto luminoso che scorre ci vogliono 24 valori, per farlo continuo si ripete la stessa sequenza all'infinito, non bisogna scrive infinite volte  la sequenza.
Un problema che si è posto è come gestire la lunghezza delle sequenze perchè è una cosa che può variare spesso in base all'idea che ci viene, ho realizzato sequenze da 400 step che corrispondono a 800 DATA da leggere, quindi ogni sequenza avrà un inizio e una fine e questo crea pasticci perche la lettura dei DATA è sequenziale, quindi se vogliamo mettere 3 sequenze dobbiamo sapere esattamente dove ognuna inizia e finisce all'interno della sequenza dei data, ma se vogliamo inserire altri step in una sequenza dobbiamo ricalcolare ogni inzio e fine.
Quindi ?? ho creato un formato da leggere nei data affinche il prg sappia da solo capire l'inizio, il nome, la lunghezza e la fine di ogni sequenza così non devo ricalcolare ogni volta il tutto, poi la READ dei data non deve andare in errore quindi va messo un qualcosa che dica che si è letto l'ultimo valore dell'ultima sequenza e non si deve READ altri DATA.
ecco un esempio:
DATA 150,"strobo",63,127,0,64,250
150 definisce l'inzio della sequenza ed è sempre seguito dal nome, poi ci sono le coppie di valori e poi il valore 250 dice che la sequenza è finita, se dopo ci fosse un 255 vuol dire che non c'è più nulla da leggere.
Nell'esempio la macchina accende e poi spegne le 12 luci, ripetendo si ottiene un effetto strobo su tutti i 12 canali.
Le sequenze hanno un nome, come si vede, e questo viene mostrato a video nell'elenco delle sequenze disponibili così si ricorda l'effetto mnemonicamente.
Il programma mostra il numero della sequenza in esecuzione.
Sapendo l'inizio e la fine di ogni sequenza si può far andare indietro il ciclo con uno STEP-1 e l'effetto della sequenza è al contrario...
Un ciclo for next su se stesso crea un ritardo se le luci sono troppo veloci, ovvio che il valore si cambia in real time...
Il monitor delle luci, per non dover collegare la macchina ogni volta ci vuole il monitor che mostra lo stato delle 12 luci esattamente come sono al vero, anche qui sono ricorso ai data dove ho creato le 64 possibili condizioni per ogni 6 banchi di luci e ripetendole per il secondo banco ho un monitor in real time che reagisce agli stessi valori di POKE inviati alla porta, così si vede se l'effetto è corretto o da problemi.
Altre cose sono banali, con f1 accendo tutte le luci e f3 le spengo, utile per illuminare fisso il locale in caso di allestimenti o problemi... idem spegnere tutto se si vuole passare ad altri effetti presenti in sala tipo laser o altro.
Poi.. il programma può passare da automatico a sincronizzato con la musica con la sola pressione di un tasto, NON passate a sincronizzato se testate il mio prg su un c-64 vero perchè senza l'audio in ingresso si ferma in attesa del picco musicale che non gli arriverà mai, sul vice non succede nulla....

Dopo un bel po di teoria passiamo al programma vero e proprio.
Alla partenza viene presentata una schermata di transizione dove il programma è impegnato nella creazione del banco monitor, ovvero la lettura dei data, la macchina esegue la sequenza dei poke per vedere il funzionamento, poi le luci sono spente.
Ora parte la compilazione della variabile a%(5000,1) che contiene le sequenze che sono variabili in numero da 1 a 30.
Il programma mostra il progressivo della sequenza in compilazione e il relativo nome, una specie di ventola mostra che il prg NON è piantato, ci mette un po, ma leggere qualche centinaio di data e separare le sequenze ci vuole un po...
Poi terminata la compilazione la schermata cambia e il prg mostra le sequenze compilate associandole ai relativi tasti di selezione, le sequenze sono in numero variabile a scelta da 1 a 30, ci pensa il programma a mostrare i nomi a video per un max di 30 sequenze.
poi il programma si setta con le luci tutte accese fisse e attiva il monitor.
Il programma è in modalità automatica e il reverse delle sequenze è disinserito, il ritardo sulle sequanze è posto a 0 ( zero).
Ora basta premere i tasti mostrati sullo schermo per vedere il monitor mostrare i giochi di luci che sono gli stessi che vedremmo sulle 12 luci se fosse collegata la Incredible Machine.
Vi sembreranno strane alcune cose come il modo in cui il prg mette i nomi delle sequnze a video, siccome lo spazio di ogni nome è di 10 caratteri il prg ne tiene conto e se il nome è più lungo lo tronca senza variare l'incolonnamento delle 3 colonne dei nomi.
Idem per mostrare il numero o lettera della sequenza in uso, che corrisponde al carattere della tastiera associato, uso una poke con il valore del carattere e non una print che deve tener presente posizione di riga e colonna ogni volta.
Se vi sembra lungo il tempo di compilazione delle sequenze campione che ci sono nel programma potete limitarlo ad usare le prime 4 mettendo un 255 alla fine dell'utima sequenza che volete usare senza cancellare le DATA successive, noterete che sullo schermo anche i nomi delle sequenze non usate non saranno presenti, le sequenze non assegnate sono come la 1
Importante è lasciare sempre fissa e non modificata la prima sequenza definita STROBO perchè uso i relativi valori per avere con F1 ed F3 le luci accese o spente.
Vi accorgerete che in alcune righe di codice supero gli 80 caratteri di testo, è una forzatura, sto risolvendo il problema perchè senò diventa difficile modificarle dentro al vice o su un c-64 vero.
Se volete vedere come si comporta la velocità delle luci usando il BLITZ! compiler... beh provate !!! ecco perchè vorrei passare all'assembly !!
Sperando di avervi incuriosito vi saluto

RAZ

qui sotto grazie alla dritta di eregil trovate il link al sorgente per il VICE

http://www.megaupload.com/?d=5E79LRML (http://www.megaupload.com/?d=5E79LRML)
Titolo: Compilatori Basic E Cartucce
Inserito da: Razhell - 11 Maggio 2011, 19:19:45
 Spariti tutti ?? troppo lungo da leggere il post ???  :lol:

RAz
Titolo: Compilatori Basic E Cartucce
Inserito da: iAN CooG - 11 Maggio 2011, 20:16:56
Citazione da: "Razhell"
Spariti tutti ?? troppo lungo da leggere il post ???  :lol:

RAz
Ehi calma, qua di giorno noialtri si lavora, e per le risposte urgenti bisogna contrattare con il tariffario alla mano. Altrimenti si aspetta che qualcuno si faccia vivo.  :P  
Titolo: Compilatori Basic E Cartucce
Inserito da: med - 11 Maggio 2011, 20:23:24
 
Citazione
Spariti tutti ?? troppo lungo da leggere il post ???
Per essere lungo, è lungo! Più tardi me lo devo necessariamente stampare per non rischiare di bruciarmi le retine.

Citazione
Ehi calma, qua di giorno noialtri si lavora, e per le risposte urgenti bisogna contrattare con il tariffario alla mano. Altrimenti si aspetta che qualcuno si faccia vivo.
Pienamente d'accordo.
Titolo: Compilatori Basic E Cartucce
Inserito da: iAN CooG - 11 Maggio 2011, 21:27:38
 Soluzione raffazzonata in quattro e quattr'otto

http://iancoog.altervista.org/hid/tim_cart.rar (http://iancoog.altervista.org/hid/tim_cart.rar)

E' necessario comprimere il prg per farlo stare in meno di 8kb, ho dovuto poi constatare che non bastava rinchiudere le variabili tra $3300 e $7fff (*) perche' il prg basic a quanto pare richiede memoria ben oltre $8000, ma li' c'e' la ROM della cartuccia. La ROM della cart si puo' disabilitare switchando via il basic (lda #$36 sta $01, o se volete poke 1,54) ma il prg basic poi non avrebbe piu' l'interprete. Eregil in chat ha suggerito di copiare la ROM in RAM. Questo funziona a patto di limitare l'uso della RAM da parte del basic a $9fff.

Fanno 20 euro, detraggo il 15% per la commissione di Eregil.  :lol:

(*) $3300 e' approssimativamente la fine del prg basic, ho preferito arrotondare alla pagina successiva
Titolo: Compilatori Basic E Cartucce
Inserito da: med - 11 Maggio 2011, 23:15:43
 (http://s2.postimage.org/3w1he06c/senza_parole.jpg) (http://postimage.org/image/3w1he06c/)
Senza Parole!!!
Sei eccezionale iAN!!!  :mavieni:
Ovviamente per un 15% anche Eregil...  :P  
Titolo: Compilatori Basic E Cartucce
Inserito da: Razhell - 12 Maggio 2011, 10:35:08
 woowww siete fantastici !!! in così poco tempo poi !!! io non volevo mica farvi fretta per la soluzione, ero solo curioso di leggere commenti sul mio prg in basic !! ( lavoro pure io nè..)
DOmanda da profanissimo, ma i file che ci sono nel rar.. acosa servono ?? a parte l'eseguibile compilato...

RAz
Titolo: Compilatori Basic E Cartucce
Inserito da: tsm_carmine - 12 Maggio 2011, 14:07:30
 Scrivi cartbas.prg in una 2764 e segui questa guida per realizzare la cartuccia:
Link (http://www.commodore128.org.uk/books/How%20to%20make%20C64%20cartridges%20%28part%201%29.pdf)
Se non hai una 2764 va bene una EPROM più grande, adattando opportunamente alcuni collegamenti.
Titolo: Compilatori Basic E Cartucce
Inserito da: Razhell - 13 Maggio 2011, 01:59:18
 ok, però io devo mettere un .bin. nella eprom
cartbas.prg devo rinominarlo e basta o devo togliere i primi 2 start byte ??poi devo mettere la sequenza CBM80 per l'auto boot...
qui ci sono altre info in merito:
http://home.ica.net/~leifb/commodore/carts/ (http://home.ica.net/~leifb/commodore/carts/)

RAz
Titolo: Compilatori Basic E Cartucce
Inserito da: tsm_carmine - 13 Maggio 2011, 21:14:47
 Devi togliere i primi 2 byte e (se il tuo software di programmazione lo richiede) rinominare come .bin. Per il resto va bene così com'è.
Titolo: Compilatori Basic E Cartucce
Inserito da: Razhell - 15 Maggio 2011, 20:10:36
 Ciao, sto facendo un po di prove... per ora non va nulla ma insisto....

Probabile sbaglio qualcosa togliendo i 2 byte...

insisto

RAz
Titolo: Compilatori Basic E Cartucce
Inserito da: Razhell - 16 Maggio 2011, 10:39:17
 Questa sera vi dico se la cartuccia funziona !! non ho in casa il laboratorio... quindi non sempre riesco a fare le prove subito.
Nel frattempo ho fatto si che le sequenze enormi di data siano su un file esterno, così il programma è sceso a 6 Kbyte e non va modificato quando cambio gli effetti ed ha più senso tenerlo sulla cartuccia.

RAz
Titolo: Compilatori Basic E Cartucce
Inserito da: Razhell - 16 Maggio 2011, 19:20:14
 Eccomi, fatto prove e....

FUNZIONAAAA la versione messa sulla eprom è quella con i 2 byte all'inizio rimossi !!

Devo dire che è perfetto e realizzato grazie al vostro prezioso aiuto, specie di iAN che mi ha convertito il codice !!

Ora però vorrei procedere da solo e non dover rompere ad agni modifica... e cheido a iAN come ha fatto col mio basic a convertirlo... specie in così poco tempo !!

Lo chiedo perchè sto facendo un po di modifiche al software e vorrei testare alcune cosette su cartuccia.
Allego foto del programma in esecuzione e della cartuccia, lo schermo è in b/n perchè il C64 aperto ha deciso che i colori non gli piacciono più.
Sull'SX-64 va perfetto a colori.

Grazie ancora

RAz
(http://s2.postimage.org/1r3uv9w84/Foto_139.jpg) (http://postimage.org/image/1r3uv9w84/)
 
Titolo: Compilatori Basic E Cartucce
Inserito da: iAN CooG - 17 Maggio 2011, 20:19:14
 e' tutto scritto nel sorgente cartbas.s
ti occorre dasm, bastext, exomizer ed eventualmente mcart
Titolo: Compilatori Basic E Cartucce
Inserito da: Razhell - 18 Maggio 2011, 00:23:52
 Ok, mi di dafare.

RAz
Titolo: Compilatori Basic E Cartucce
Inserito da: sys58255 - 22 Maggio 2011, 16:16:50
 mcart dove lo si trova?

grazie anticipatamente.
Titolo: Compilatori Basic E Cartucce
Inserito da: Razhell - 25 Maggio 2011, 10:56:38
 Centra poco ma magari a qualcuno interessa.. il c64 che andava in bianco e nero aveva il compensatore sporco, è quel coso di solito blu che sta a lato del chip video e della ram video, una specie di trimmer regolabile ( un condensatore variabile) l'ho mosso quasi per caso col dito e i colori hanno lampeggiato sul video.
Pulito con aria spray, ora è tutto a posto e i colori belli vivi !!

RAz

p.s qualcuno ha una routine in BASIC già fatta per leggere la dir del disco che carica i nomi del file in una variabile ?? devo visualizzare a schermo i file tipo SEQ ma ci sto uscendo matto..... :stordita:

RAz
Titolo: Compilatori Basic E Cartucce
Inserito da: jack58 - 14 Giugno 2011, 17:46:03
 Esiste per il c64 una cartridge venduta come complemento a un  programmatore di  eprom americano.(1985) JASON RANHEIM  forse mai arrivata in Italia la comprai negli USA.
Chiede il nome del file e a seconda della lunghezza ti dice che eprom serve.
Normalmente sono 32 blocchi ogni 8k , ti crea un file su disco  in autostart che puo' essere sparato nel programmatore e da li su una cartridge standard $8000 Se il programma e' piu' grande occorre la sua cartridge dedicata per alloggiare il programma, questa supporta fino a oltre 200 blocchi.
Il file creato puo' anche essere utilizzato passandolo su pc e utilizzandolo con  un programmatore standard rinominando il  file in .bin.
Ho tradotto anni fa il menu' della cartridge in italiano e se ci riesco lo volevo provare sulla POCKETCARD64 tempo permettendo.
Ho perso le istruzioni cartacee ma  il problema e' che la cartridge oltre al programma che riloca monta un proprio kernal e senza quello non funziona.(ultimax).
Comunque sono ottimista.
(http://s3.postimage.org/1g8vmnoxw/CART4.jpg) (http://postimage.org/image/1g8vmnoxw/)
 
Titolo: Compilatori Basic E Cartucce
Inserito da: Razhell - 18 Giugno 2011, 01:03:35
 Domanda... da profano... ho riscritto mezzo codice per stare dentro gli 8 K, devo usare sempre Exomizer ? mi sembra di aver capito che è un compattatore e crea un file autoestraente, utile se il file principale è oltre gli 8 K...

Grazie

RAz
Titolo: Compilatori Basic E Cartucce
Inserito da: Razhell - 18 Giugno 2011, 01:08:33
 Jack58, sembra molto molto interessante la cartuccia !!!

Se trovi sarei curioso di saperne di più !!

RAz
Titolo: Compilatori Basic E Cartucce
Inserito da: Razhell - 28 Giugno 2011, 19:46:24
  Ian aiuto !!! non ci sto capendo molto sulla procedura che mi hai illustrato, quale è la sequenza dei prg da usare ?  :doh:
bastext, poi exomizer e poi dasm ?? se si, ad exomizer passo il txt che ottengo con bastext ?  sarà il caldo ma sono impantanato !!!
Ho riscritto il programma e ora sta negli 8k e volevo metterlo su cartuccia come l'altra volta !!  :specchio:

RAz

http://www.megaupload.com/?d=F2U2S7G5 (http://www.megaupload.com/?d=F2U2S7G5)
Titolo: Compilatori Basic E Cartucce
Inserito da: iAN CooG - 30 Giugno 2011, 00:06:12
 la nuova versione e' piu' corta di 8192-256 byte quindi non serve comprimere
http://iancoog.altervista.org/cartbas2.rar (http://iancoog.altervista.org/cartbas2.rar)
La procedura e' scritta in cartbas.s
E' necessario aggiungere poke1,54 come prima istruzione per usare la ROM copiata in RAM e disattivare la cart.
Bastext serve sia per convertire un prg in listato txt che per riconvertire un listato txt in prg, a me serve per non dover editare un prg basic da dentro l'emulatore, tu fai come preferisci.
La richiesta iniziale per caricare un file non controlla che il file esista o addirittura se c'e' un floppy inserito, quindi si blocca tutto, per cui non ho potuto provare se funziona effettivamente il resto del programma.
Titolo: Compilatori Basic E Cartucce
Inserito da: tsm_carmine - 30 Giugno 2011, 01:41:43
 Forse mi sono perso qualche passaggio, ma scusate, dov'è l'utilità di avere il programma su cartuccia, se la prima cosa che fa è caricare un file da disco?
Titolo: Compilatori Basic E Cartucce
Inserito da: Razhell - 30 Giugno 2011, 11:07:29
 Ciao Ian, grazie come sempre,
è vero il prg non verifica il disco se c'è e se c'è il file, però lasciandolo li genera 5000 sequenze vuote, non si blocca, solo ci mette un po... ho divuto farlo per risparmiare spazio sul codice.
Carmine è semplice, mi piaceva averlo su cartuccia perchè è una cosa, avere un mio prg su cartuccia, che ho sempre desiderato, poi per nautura sua il prg deve poter caricare un file in base a come è configurata la stanza dove sono usate le luci, ovvero le 30 sequenze tengono presente dell'allestimento quindi ci no 30 sequenze per ogni caso, non ci stanno tutte in memoria e poi è inutile caricare 90 sequenze per usarne solo 30 ogni volta.

ciaoo

RAz
Titolo: Compilatori Basic E Cartucce
Inserito da: Razhell - 30 Giugno 2011, 15:14:29
 Fatto 2 prove, il prg funziona solo che togliendo tutti gli spazi si genera un errore che lo fa funzionare sballando le sequenze delle luci, ho provato pure io a rimuovere gli spazi e l'errore si crea anche nel file in basic quindi devo risolvere la cosa prima di procedere.
Probabile cheuna qualche istruzione unita ad una variabile senza lo spazio in mezzo crei una istruzione interpretata erroneamente...

RAz
Titolo: Compilatori Basic E Cartucce
Inserito da: Razhell - 30 Giugno 2011, 16:32:07
 Trovato l'errore, dipende da CBMproStudio che crea un pasticcio quando rimuove gli spazi vuoti nel codice, già avvisato l'autore col quale da settimane togliamo bugs ...

Cmq allego qui il file a posto e il file delle sequenze che ti fermava il prg, giusto se vuoi vedere cosa fa...

arigrazie

RAz
Titolo: Compilatori Basic E Cartucce
Inserito da: Razhell - 03 Luglio 2011, 15:26:06
 Si era perso il link...

http://www.megaupload.com/?d=PPFV8G6M (http://www.megaupload.com/?d=PPFV8G6M)

RAz
Titolo: Compilatori Basic E Cartucce
Inserito da: Razhell - 18 Luglio 2011, 18:52:19
 Domanda,  se compilo il programma ad esempio con il Blitz! il prgramma va molto più veloce e la cosa mi fa comodo, se voglio mettere il programma compilato dentro la cartuccia e supera gli 8 K come faccio ?
Il programma compilato richiede sempre il basic o si può considerarlo un programma in LM ? così da poter sfruttare i 16 K ?

Chi mi sa dire qualcosa ?

grazie

RAz
Titolo: Compilatori Basic E Cartucce
Inserito da: Razhell - 24 Luglio 2011, 15:37:46
 Ciao a tutti, nel frattempo ho preso su internet la cartuccia 9506 di REX datentechnik, la cartuccia crea il file da mettere su cartuccia e permette di selezionare se è un file basic o LM, con poce domande crea il file per le versioni 8 o 16 K.

Per ora ho provato con file basic da 8 k e funziona, basta togliere i primi 2 byte al file creato su disco, rinomnarlo in bin e metterlo su eprom e funziona.

Colgo l'occasione di ringraziere tutti coloro che mi hanno dato aiuto su questo prezioso forum e a Jan che mi ha realizzato le prime versioni facendomi capire molte cose utili !!

RAz