Post

Translate

Immagine
CP/M Plus date-time test utility This utility reads date-time from SCB (menu option 1), or from BDOS function 105 (menu option 2). Tests on Amstrad PCW 8512 shows how an interrupt updates SCB datetime. Source code and compiled COM file: https://github.com/fdivitto/CPM3DateTimeTest
Immagine
My ESP32 Graphics library on Hackaday!! https://hackaday.com/2019/04/17/fabgl-has-everything-you-need-to-write-games-for-the-esp32/

Amiga 600 with Gayle ver.1, VHDL code to implement PAL chip (XU1)

Immagine
This article is specific to the Amiga 600, so the chip designations, addressing and all the rest are related to this system, even when not explicitly indicated. Gayle is the custom chip that, among many other things, controls the ATA (IDE) port. There are two versions identified by the following chip numbers: Version 1: 391155-01 Version 2: 391155-02 As far as I could understand, the only difference between the two is the lack (incomplete? Erroneous?) of support for the ATA port in the first version: in detail, version 391155-01 needs an external logic to generate the IDE_CS1 and IDE_CS2 signals, which are needed to control an IDE hard disk. In addition, the external logic controls the RTC_CS (Clock Port 1 selection), SPARE_CS (Clock Port 2 selection) and NET_CS (Arcnet chip selection) signals. Obviously these are also directly handled in the second version of Gayle. In the Amiga this logic is implemented by the XU1 chip, a PAL16L8B, which is a programmable logic th

Amiga 600 con Gayle ver.1, implementazione VHDL del PAL di supporto

Immagine
Questo articolo è specifico per l'Amiga 600, per cui le denominazioni dei chip, gli indirizzamenti e tutto il resto sono relativi a questo sistema, anche quando non espressamente indicato. Gayle è il chip custom preposto, tra molte altre cose, al controllo della porta ATA (IDE). Esistono due versioni identificate dai seguenti chip numbers: Versione 1: 391155-01 Versione 2: 391155-02 Per quanto sono riuscito a capire, l'unica differenza tra le due è il mancato (incompleto? erroneo?) supporto alla porta ATA nella prima versione: in pratica la versione 391155-01 ha bisogno di una logica esterna per generare i segnali IDE_CS1 e IDE_CS2, necessari per controllare un hard disk IDE. Inoltre, la logica esterna, controlla i segnali RTC_CS (selezione clock port 1), SPARE_CS (selezione clock port 2) e NET_CS (selezione chip arcnet). Ovviamente anche questi vengono controllati direttamente nella seconda versione di Gayle. Nell'Amiga  questa logica è implementata da

File di configurazione SETKEYS per alcuni editor a tutto schermo (Amstrad PCW 8256/8512/9512 - CP/M Plus)

Immagine
File di configurazione per l'editor a tutto schermo VDE 2.66 VDE (Video Display Editor) è un editor full screen ottimizzato per lo Z80. Il programma di installazione è denominato VI.COM il quale modifica l'eseguibile specificato come parametro (per esempio VDE.COM ): VI VDE.COM Nel menù principale di VI premere T ( Terminal installation ) per selezionare il tipo di terminale, quindi L ( List terminals ) per visualizzare la lista. Premere RETURN finché non appare " Amstrad / Heath " come terminale, quindi  Y  per confermarlo. Premere ESC ( EXIT  sul PCW)  per tornare al menu principale. Ora bisogna indicare l'ampiezza dello schermo. Il PCW supporta 90 colonne per 32 righe, di cui 31 sono utilizzabili per l'editing del testo ed una è dedicata all'header. Premere di nuovo T e quindi E ( Edit current ). Premere RETURN finché non appare " Viewable columns ": qui inserire 90 (il default è 80). Premere RETURN finché non appare "

Installazione Gotek su Amstrad PCW 9512

Immagine
L'Amstrad PCW 9512 può gestire sia drive da 3'' che da 3.5''. La procedura di riconoscimento del tipo di drive installato è effettuata al boot del CP/M (o del Locoscript). Prima di tutto il boot cerca di scoprire su quale versione del PCW sta girando effettuando alcuni tentativi sul controller del disco. Questo viene effettuato mettendo i motori in stop (segnale MOTOR = HIGH) e inviando al controller un comando di "Sense Drive Status" per il drive A (S0 = LOW) finché questo no ritorna "Drive Not Ready". Qui nasce un problema in quanto il Gotek, ignorando il segnale Motor, risponde Ready ogni volta che S0 è LOW. La procedura entra in un ciclo infinito ed il boot non va avanti. Con un solo drive la soluzione è semplice: basta togliere il jump da S0 e metterlo su MO. Così il drive A è selezionato ogni volta che MO = LOW, anziché S0, che questa volta viene ignorato. Ciò permette alla procedura di boot di avere il Not Ready da A. In figura è

File di configurazione SETKEYS per alcuni editor a tutto schermo (Amstrad CPC 6128 - CP/M Plus)

Immagine
File di configurazione per l'editor a tutto schermo ED80.COM dell'Hisoft Devpac80 ED80 è l'editor a tutto schermo del pacchetto Hisoft Devpac80 (versione 2) e può essere utilizzato anche indipendentemente da quest'ultimo. Infatti basta copiare il file ED80.COM in un altro disco ed utilizzarlo come editor stand alone. L'unica cosa da fare è creare un file di configurazione per SETKEYS così da poter utilizzare correttamente la tastiera. Ecco il contenuto del file che ho creato per questo editor:  8   "↑S"        Freccia Sinistra => cursore a sinistra  8 S " ↑A"        SHIFT + Freccia Sinistra => parola a sinistra  8 C " ↑'#8F'"    CTRL + Freccia Sinistra => Inizio riga  1   " ↑D"        Freccia Destra => cursore a destra  1 S " ↑F"        SHIFT + Freccia Destra => parola a destra  1 C " ↑'#90'"    CTRL + Freccia Destra => Fine riga  0   " ↑E&