[zxspectrum] Re: R: R: Re: Nuova utility PCMGT!

  • From: Enrico Maria Giordano <e.m.giordano@xxxxxxxxxxxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Sun, 01 Mar 2015 13:38:45 +0100



Il 01/03/2015 13:07, Stefano Bodrato ha scritto:

57600. E ricordo che con il 128k si può arrivare anche a 115200.

Se lavora nelle 2 direzioni mi interessa..  sorgenti prego.   :P

Certo che lavora nelle due direzioni! Trasmettere è facile. E' ricevere che è difficile. :-) Chiaramente devono risiedere nella zona non contesa e le interruzioni devono essere disabilitate. Ecco i sorgenti:

TXD: trasmette il carattere contenuto in A
RXD: riceve un carattere e lo mette in A

TXD LD   D,A
    LD   A,246
    LD   BC,49149
    OUT  (C),A
    LD   E,8
    LD   A,D
    LD   D,0
    NOP
    NOP
    NOP
    RLCA
    RLCA
    RLCA
    RLCA
SND RRCA
    LD   B,191
    OUT  (C),A
    LD   D,0
    LD   D,0
    NOP
    NOP
    DEC  E
    JR   NZ,SND
    LD   A,254
    LD   B,191
    OUT  (C),A
    RET

RXD LD   A,255
    IN   A,(253)
    RLA
    JR   C,RXD
    DEC  DE
    DEC  DE
    DEC  DE
    DEC  DE
    DEC  DE
    LD   A,0
    NOP
    LD   E,7
RCV LD   A,255
    IN   A,(253)
    RLA
    RR   D
    LD   A,0
    NOP
    NOP
    DEC  E
    JR   NZ,RCV
    LD   A,255
    IN   A,(253)
    RLA
    RR   D
    LD   A,D
    RET

Onestamente ci ho pensato.. mi hai già passato i sorgenti nella versione
vecchia tempo fa, ma non ero riuscito a trovare la quadra e incastrarli
come funzionalità extra in z88dk.

Infatti non è facile. E comunque è meglio che prima vengano testate per bene.

Aggiungerli come opzione ‘nativa’ è molto impegnativo (andrebbero estese
a qualche altra funzione e si dovrebbero modificare i 2 compilatori sdcc
e sccz80 per gestirle, oltre alla framework che li include).  Forse si
potrebbe inventare qualche magheggio su funzione esterna..

Casino...

EMG

--
EMAG Software Homepage: http://www.emagsoftware.it
The EMG Music page: http://www.emagsoftware.it/emgmusic
The EMG's ZX-Spectrum Page: http://www.emagsoftware.it/spectrum
The Best of Spectrum Games: http://www.emagsoftware.it/tbosg

Other related posts: