Sistema MK3000

Home Indietro Su Avanti

In altra parte del sito in cui ho trattato le ricerche effettuate sulla storia italiana della scheda Ferguson Bigboard I, avevo riportato alcune informazioni relative al sistema MK3000 prodotto in Italia a partire dal 1983 dalla ADE Elettronica di Palazzolo Milanese (Milano). Nel dicembre 2012 sono riuscito ad entrare in possesso di questo sistema. E’ composto da: – una board MK83 (no extended bus) con processore Z80A, – due Z80A PIO (per doppia porta printer, mapping i/o e porta tastiera), – uno Z80A SIO/0 per due canali RS232, – uno Z80A CTC per timer di sistema ed – un FDC 1797 per gestione FM/MFM di drives. La scheda dispone di doppio connettore IDC a 50 pin per drive 8″ e IDC a 34 pin drive 5.25″. I drives presenti sono: – Floppy disk 5.25″ BASF AG 6106 (180 Kb, SS/DD) – Floppy disk 5.25″ Shugart SA465 (720 KB DS/DD) Purtroppo l’hardware non era completato con il rispettivo software CP/M, anche se le condizioni visive dell’hardware sono davvero eccellenti.

DSCN0020

L’Ing. Luciano Fortunati che all’epoca (1983) lavorava al C.N.R. di Pisa risolse un annoso problema di data entry sul mainframe IBM 370 all’epoca in uso al C.N.U.C.E. di Pisa.  Se prima era necessario perforare delle schede e poi farle leggere ad una macchina per lanciare i propri programmi, adesso era sufficiente portarli su supporti floppy disk da 5,25″ in un qualsiasi formato disco che poteva venire letto attraverso il sistema operativo CP/M. Aveva infatti acquistato una scheda configurata in modo da leggere sia in modalità SSSD che in modalità DSDD e, qualsiasi formato di byte/settore e settori/traccia impostabili anche manualmente, in grado di trasferire attraverso un emulatore il programma da fare “girare” sul mainframe.  Di seguito una pagina di descrizione del sistema estratta dal manuale di cui sono riuscito ad entrare in possesso dal sito C.N.R. – I.S.T.I. di Pisa:

MK3000

Quanto esposto sembra oggi essere una banalità, ma ricordo che nel 1983 questa semplice operazione comportava enormi perdite di tempo contrariamente a quanto avviene oggi in cui questo può essere fatto sia in locale sui propri sistemi che eventualmente con un qualsiasi smartphone o tablet in cloud.

Purtroppo il sistema non era completo del disco di avvio del proprio sistema operativo CP/M e delle relative utilità, pertanto dopo aver connesso alla scheda una tastiera PS2 mediante interfaccia PS2-Parallela, aver collegato un monitor TV con ingresso composito PAL analogico, fornito alimentazione con un alimentatore ATX e provveduto ad accendere la scheda ottenendo dopo il reset e lo clear screen iniziale, il messaggio “System Monitor 4.2” ed il prompt “m>”. Erano operativi anche molti altri comandi del firmware come il dump della memoria, ecc. Ho quindi effettuato alcuni ulteriori test per verificare come riuscire a metterla in condizioni di caricare un sistema operativo CP/M.

Non ero però certo che collegando direttamente dei drive da 3,5″ direttamente al connettore IDC da 34 pin della scheda MK83, questi potessero funzionare correttamente. Come minimo ci sarebbe stato da modificare il normale setting DS1 in DS0, ma le mie esperienze mi dicono che il connettore di un floppy disk drive da 3,5″ non è immediatamente compatibile con il connettore di un una interfaccia Shugart per floppy disk drive da 5,25″.

Per evitare di dedicarmi a risolvere questo problema, ho preferito saltarlo provvedendo a disconnettere un adattatore per drive che avevo autocostruito nel gennaio 2012 e che è perfettamente funzionante con la mia MK82 il cui schema è il seguente:

drivebus

In esso il connettore IDC a 50 pin è direttamente connesso al connettore IDC a 50 pin presente sulla board MK82, mentre i connettori A, B e C sono normali IDC a 34 pin sui quali è possibile inserire un classico flat cable per drive da 3,5″ o 5,25″. Al connettore D è possibile collegare un flat cable per connettere mediante un opportuno autocostruito cavo un drive esterno da 8″.   La principale motivazione per realizzare una connessione di questo tipo è insita nel fatto che i drive da 3,5″ non sono direttamente interfacciabili sull’IDC della MK82 per la gestione del Ready signal e perchè ciascun drive si attende il Drive Select Signal sul proprio pin 12 mentre dalla MK83 i singoli segnali sono attestati su differenti pin del connettore IDC da 50 pin (A=26; B=28; C=30 e D=32).

Con queste premesse mi sono dedicato a cercare di capire come riuscire caricare un sistema operativo CP/M.

C’è da dire che il contenuto della Eprom (2716) della MK83, come per la scheda Ferguson Bigboard 1 (=MK82), viene, al momento della accensione, ricopiato automaticamente in DRAM ma, mentre nella Ferguson Bigboard 1 (o MK82) viene posizionato all’indirizzo F000H, nella MK83 viene posizionato all’indirizzo F800H. Pertanto non è possibile far caricare alla scheda MK83 il medesimo sistema operativo CP/M della MK82.

Mi sono però ricordato che, circa un anno prima, avevo avuto modo di essere contattato da una persona di Modena che disponeva di una scheda simile che veniva utilizzata per gestire la sua macchina per maglieria. Osservando le foto che mi aveva inviato ho notato nella sua MK84 la medesima configurazione hardware della parte circuitale relativa al FDC con quella presente nella mia MK83 in cui era presente un FDC WD1797 con il proprio separatore dati esterno FDC9229BT.

 Ho quindi verificato che : 1) installando una eprom (2732) con il BIOS della mia MK82 nella mia MK83: la scheda MK83 ha effettuato correttamente il BOOT del sistema operativo CP/M della scheda MK82. 2) programmando, su una nuova eprom 2716, il contenuto del firmware della MK84 fornitomi a suo tempo dalla persona di Modena, ed installato nella scheda MK83 essa ha caricato il sistema operativo CP/M della MK84 (S.Co.M.A.R. Srl). Questo CP/M però non dispone delle utility di sistema come il SYSGEN, il MOVCPM, e neppure il comando INIT per la formattazione dischetti. Inoltre sarei interessato a poter ripristinare la possibilià di impostare l’utilizzo di differenti formati disco come consentiva il CP/M originale per MK3000. NOTE dagli appunti come promemoria per successiva messa a punto: – La mia scheda MK82 con z80 a 2,5MHz e FDC 1771. Carica il bios a F000H e fa il boot del CP/M da floppy disk formato 8” SSSD 26 settori da 128byte x traccia 77 tracce single side single density. – La scheda MK83 con Z80 B e FDC 1797 carica il suo Bios a F800H ma non ho floppy di sistema. – Se provo a leggere un dischetto CP/M della scheda MK82 con il comando r0,0,1 e poi r0,2,1 vedo a video che legge correttamente i settori. – Se prendo il bios della scheda MK82 (2732) e lo inserisco nella scheda MK83 (2716) carico correttamento il boot di CP/M della scheda MK82. Se cerco invece di fare il caricamento del CP/M con il bios della MK83 che viene caricato in memoria RAM a F800H il caricamento del CP/M non va a buon fine perché il CBIOS del disco di sistema CP/M è configurato per “trovare” gli entry point a F000H. – Mi ricordavo che Fabio Marverti di Modena aveva una MK84 (ha bus di sistema nella PCB) che copiava il bios in RAM a indirizzo F800H ed aveva disco di sistema doppia faccia doppia densità o meglio: entrambe le prime due tracce delle sue faccie contengono il sistema operativo CP/M in singola densità nel formato 26 sett0ori da 128 byte, mentre tutte  le successive 75 tracce hanno formato 8 settori da 1024KB in doppia densità su entrambe le facce. Con questa premessa mi sono fatto mandare la scheda per continuare dei test. – Se scambio i bios tra le schede MK83 ed MK84 nessuna delle schede fornisce alcun prompt di sistema. – Sulla mia scheda MK83 posso leggere settore per settore manualmente un dischetto SSSD di 26 settori da 128byte probabilmente perchè il firmware è configurato con questo default. – Se provo a inserire il dischetto di sistema (S.Co.M.A.R.) nel floppy disk drive della MK84 di fabio marverti posso leggere attraverso i comandi del firmware (Rx,y,x) i settori delle tracce di sistema registrati in SSSD su entrambe le facce, ma non riesco a leggere i settori (8x1024byte in DD) presenti dalla traccia 2 in poi. Probabilmente al caricamento cambia la configurazione per la lettura delle altre tracce dati. – Avevo infine pensato che se la mia scheda MK83 riesce a leggere un dischetto in SD potevo copiare con SYSGEN il CP/M di Fabio Marverti (cioè le prime 2 tracce del disco) su un dischetto in singola faccia SSSD, ma in questo modo però non lo posso rendere presente dove la MK84 si attende di trovarlo anche sulla faccia 2. – Infine: sono riuscito a copiare SYSGEN ed INIT sul disco di sistema di Fabio Marverti, ma essendo questi generati in SSSD per un sistema CP/M per la scheda MK82, ovviamente non funzionano sulla MK84. Non ho la piu’ pallida idea di come generare un nuovo disco CP/M.

Translate »