Adattatore Telematico 6499 per Commodore 64

()

Download 6499.zip

30 aprile 2013


Ho adorato questo modem perché è stato il mio primo contatto “telematico” col resto del mondo (diciamo Italia!). Pareva una cosa straordinaria collegarsi con altri computer tanto lontani.
Ho usato tantissimo il servizio Videotel.
A causa di una forte nostalgia (!) mi sono comprato su eBay un 6499 solo per il gusto di rivederne le schermate, altrimenti introvabili su Internet.
Ho dunque avuto l’idea di crearci l’immagine .CRT per utilizzarla sull’emulatore Commodore 64 VICE: e ci sono riuscito!
Non mi dilungo oltre, ne ho già parlato altrove e lo scopo di questa pagina è strettamente tecnico.

Non è stato facile, di seguito riporto ciò che ho capito e fatto per riuscire nell’impresa. Forse non servirà mai a nessuno, ma siccome non ho trovato nulla su Internet e mi dispiace che questa ricerca venga dimenticata, preferisco scrivere qualche appunto su questa pagina.
Impagabile, durante le varie prove, l’aver scritto qualche riga di assembler come ai vecchi tempi… (sì, dovrei chiamarlo assembly, ma non mai digerito sto nome qundi mi ostino a sbagliare con assembler!)

Premetto che da giovane avevo stampato tutto il contenuto della ROM del modem e me l’ero studiato. Mi sembra di aver pure realizzato una sorta di protocollo di trasferimento da usare col 6499, ma il ricordo è vaghissimo o magari è solo presunzione.
Di certo avevo fatto, non so dire se per Commodore 64 o Amiga, un utility che permetteva di trasformare un file in caratteri ASCII inviabili tramite mailbox del Videotel (l’equivalente della moderna email). In seguito poi scoprirò che la mia “invenzione” altro non era che la codifica UUencode.


Ecco i passi che ho compiuto per realizzare l’immagine cartridge per l’emulatore.

> Non ricordo assolutamente come ho fatto, tanti anni fa, ad accedere alla ROM del 6499. Ho provato tramite locazione $01 ma senza risultati. Internet non m’è stato d’aiuto, se non suggerendo il metodo del kernel ‘speciale’.
Deve esserci anche un modo via software perché da giovane il kernel del mio C64 era assolutamente originale.

> Mi sono servito di un Commodore 64 dotato di ROM kernel con SpeedDOS che consente di avviare il suo monitor linguaggio macchina tenendo premuto il tasto Commodore all’accensione.
Questo mi ha permesso di bypassare l’autorun del 6499 e accedere ai suoi 16KByte di ROM, visibili dall’indirizzo $8000 a $BFFF. Ho così subito salvato su file quest’area di memoria.

> Il trasferimento del file da floppy disk a moderno computer, per essere poi usato sull’emulatore, l’ho fatto per mezzo del C64SD Infinity di Manosoft.

> La conversione in formato cartridge .CRT l’ho fatta per mezzo del programma cartconv già presente nel pacchetto dello stesso VICE. L’operazione è stata semplice ed ha subito funzionato… o quasi! La sezione Videotel, tasto F5, non funzionava… come mai?!

> Da una rapida analisi del contenuto della ROM noto subito che non c’è alcun testo con riferimento alla sezione Videotel… possibile?!
Allora cerco di saperne di più sulle cartridge tramite Internet e scopro che 16K sono sì la dimensione massima di una ROM visibile dal C64, ma queste possono essere sovrapposte! Ovvero possono coesistere 16+16 KB (e anche più) agli stessi indirizzi di memoria e agendo su certe locazioni del computer si può selezionare l’una o l’altra!

> Ma come fare fare?!
Fortunatamente un tempo tutto era semplice e comprensibile.
Ho approfondito il funzionamento di una cartridge: banalmente il computer se all’accensione rileva una cartridge inserita ed una particolare sequenza di caratteri salta all’indirizzo specificato nei primi byte.

      00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F          ASCII
      - - - - - - - - - - - - - - - - - - - - - - - -     - - - - - - - -
8000  35 80 35 80 C3 C2 CD 38 30 .. .. .. .. .. .. ..     5.5.CBM80.......

Al RESET, il C64 verifica la presenza della stringa ‘CBM80’ a partire dalla locazione $8004. Se presente salta all’indirizzo contenuto nelle locazioni $8000-$8001 (low/high) in questo caso $8035 (cold start). Gli altri due byte che seguono, sono l’indirizzo a cui saltare se premuti i tasti RunStop+Restore (warm start).

> A questo punto grazie al debugger di VICE ho disassemblato e seguito ciò che accade quando premo F5 per accedere alla sezione Videotel… ed eccola lì! La locazione $DE01 che permette di scambiare i due banchi di memoria! Preciso che non è una regola per tutte le cartridge, ognuna usa un suo metodo e altre locazioni (limitrofe) per la selezione del banco di ROM.

> Così, tornato al vero C64, scrivo sulla $DE01 e… magia, ecco svelato il secondo banco, anche lui allocato dalla $8000 alla $BFFF che salvo immediatamente su disco.

> Felicissimo, pensavo di aver finito. Certamente il programma di conversione in formato .CRT di VICE mi permetterà di integrare i due dump della ROM di cui ora dispongo… macché, nient’affatto!
Nella conversione in .CRT va specificato il tipo di cartridge: l’emulatore quando carica l’immagine deve sapere a priori che “se viene scritto NN alla locazione AAAA” va attivato un certo banco di memoria.
In altre parole un file .CRT può sì contenere più banchi ROM ma deve trattarsi di una cartridge già conosciuta dall’emulatore che quindi sa come gestirla. E naturalmente il 6499, essendo solo italiano, non è tra i modelli contemplati!

> Disperazione… stavo per rinunciare. Del resto a che serve ciò che sto facendo?! A chi?! Potrei anche fermarmi qui. Tutto sommato il primo banco funziona, il menù principale sull’emulatore si avvia… è già qualcosa!

> C’è un documento interessante (CRT.txt) che descrive il contenuto dei file in formato .CRT e dei vari tipi di cartridge riconosciuti dagli emulatori.
Grazie a questo noto che la cartridge Comal-80 somiglia al mio caro 6499, ovvero è strutturata in banchi da 16KB selezionabili scrivendo su di una certa locazione… ma accidenti, altri valori su altra locazione! Come fare?!
Semplice, modifico le routine del 6499 relative allo scambio dei banchi!
L’idea è buona ma… funzionerà?! Basta così poco??
Le routine interessate sono due:

6499 ORIGINALE - banchi 0 e 1
800D  AD 01 DE    LDA $DE01
8010  49 08       EOR #$08
8012  8D 01 DE    STA $DE01
[..]
802A  AD 01 DE    LDA $DE01
802D  49 08       EOR #$08
802F  8D 01 DE    STA $DE01

6499 MODIFICATO - banco 0
800D  AD 00 DE    LDA $DE00
8010  A9 81       LDA #$81
8012  8D 00 DE    STA $DE00
[..]
802A  AD 00 DE    LDA $DE00
802D  A9 81       LDA #$81
802F  8D 00 DE    STA $DE00

6499 MODIFICATO - banco 1
800D  AD 00 DE    LDA $DE00
8010  A9 80       LDA #$80
8012  8D 00 DE    STA $DE00
[..]
802A  AD 00 DE    LDA $DE00
802D  A9 80       LDA #$80
802F  8D 00 DE    STA $DE00

SSSSSIIIIIIIIIIII funziona!
Che soddisfazione! 😆 😆


Download 6499.zip
Qui potete scaricare l’immagine .CRT dell’Adattatore Telematico 6499; l’ho provata solo con VICE e funziona.
Troverete anche un’immagine floppy in formato .D64 contenente delle schermate (frame) salvate tanti anni fa.
Sono un’assoluta rarità: in quato originali, provengono direttamente dal Videotel e qualcuna da ITAPAC (mi pare Arkimede e BlackJack). Originali perchè contengono esattamente i byte ricevuti dal modem (non banali screenshot, ma sono in formato Prestel CEPT3).
Nel .zip ho incluso anche i dump dei due banchi di ROM del 6499.


Infine qualche immagine del software del 6499:

…e i frame provenienti dal passato:

14 risposte a Adattatore Telematico 6499 per Commodore 64

  1. isacco scrive:

    Ricordo bene quanto il videotel era diffuso nei locali come i bowling.. Poi usci’ un emulatore per Windows 95/98 che permetteva il collegamento via internet! E a questo punto, se esiste ancora il servizio, basterebbe l’adattatore OpenSource che permette di collegare il C64 alla rete LAN via Ethernet… Non solo videotel a questo punto, ma molto di più…

    • lorenzo scrive:

      Ciao che tu sappia oggi 06/04/2017 e ancora attiva qualche pagina dell’adattatore telematico ..????

      fatemi sapere se avete novità a riguardo io me ne sono comprato uno ora e per ora riesco solo a telefonarmi sul cellulare ……almeno a farlo suonare
      inoltre vorrei sapere come collegarmi alle bbs visto che sono ancore attive (organza2000@libero.it)

      grazie ciao a tutti

  2. isacco scrive:

    Il software per collegarsi a METROPOLIS via PC si chiamava EMULAWIN, il file si chiamava EMWIN10.zip se non ricordo male… Credo non esista più… Se lo trovo lo metterò disponibile al mondo per il download.

    • Fabrizio scrive:

      Sei tu che hai scritto in it.comp.sicurezza.varie, rispondendo ad un messaggio del 2000?
      Ho trovato Emulawin, grazie al fatto che gli HD decuplicano ad ogni generazione e cosi’, copio il vecchio HD nel nuovo… e me lo dimentico.
      Vedo di inviare il file (il file di testo, scritto da me, risale al 2000…) all’indirizzo di Isacco che ho letto sul newsgroup.
      Tuttavia, salvo duplicare il server che aveva Metropolis, non penso che tu ci faccia niente.

  3. Isacco scrive:

    Ho provato la tua bellissima immagine crt.
    Compongo il 165 o 1651 oppure le linee dedicate sul manuale ufficiale, mi appare il cursore ma poi non so come accedere al servizio…

  4. isacco scrive:

    Beh avendo visto che non è vecchissimo il tuo approccio vi speravo XD

  5. davide scrive:

    Ciao, ho avuto l’adattatore ma solo dal tuo post capisco a cosa serviva 🙂 Ma era possibile collegarsi anche a BBS o esclusivamente a teletext e videotel ?

  6. Attilio scrive:

    Un fantastico tuffo nel passato,
    grazie.

  7. Daniele scrive:

    Grazie per questo articolo e per l’impegno che hai messo nel realizzare questo progetto ! Anche io ne possedevo uno e mi collegavo al videotel e alle bbs. Mi ricordo che un anno arrivo una bolletta del telefono di quasi 500 mila lire che per quell’epoca erano tantissimi ! I miei genitori non hanno mai saputo di quella bolletta perché la pagai di tasca mia con i soldi ricevuti con i regali di Natale e quelli risparmiati rinunciando a uscire con gli amici il sabato sera !!!
    Che nostalgia di quei tempi ! Comunque nell’armadio ho ancora il c64 che usavo all’epoca con il registratore a cassette, il 1541, la stampante mps803 e l’adattatore telematico 6499 !!!

    • Lorenzo scrive:

      Ciao che tu sappia oggi 06/04/2017 e ancora attiva qualche pagina dell’adattatore telematico ..????

      fatemi sapere se avete novità a riguardo io me ne sono comprato uno ora e per ora riesco solo a telefonarmi sul cellulare ……almeno a farlo suonare
      inoltre vorrei sapere come collegarmi alle bbs visto che sono ancore attive (organza2000@libero.it)

      grazie ciao a tutti

  8. Marco scrive:

    Stupendo articolo! Interessantissimo, grazie!

  9. Mario scrive:

    Fantastico! Per fortuna non ti sei arreso!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *