Seite 1 von 1

KC85/3 & M100

Verfasst: Mi 27. Apr 2016, 09:46
von PIC18F2550
Da sich das interesse an getrennten VGA/SRAM Modulen auf dem Treffen in Grenzen hielt, habe ich mal ein neues Modul gezaubert.

- Ausgabe des Videosignals auf VGA
- 1MB gepufferter SRAM wie das M035 1 MBYTE SEGMENTED RAM 64x16k
- Lithiumionen Akku 1000mA mit Ladeelektronik (Pufferbetrieb)
- Umsetzer PS/2 Tastatur auf KC-Tastaturanschluss.


Das Videosignal besitzt nur ein Manko : der CTC interupt kann auf grund der fehlenden verbindung nicht ausgewertet werden. Das zeigt sich nur im Spiel "digger" wo die kristalle nicht mehr so schön blinken.
An sonsten 100% compartiebel.

Re: KC85/3 & M100

Verfasst: Do 18. Mai 2017, 23:24
von PIC18F2550
Hallo,

da ich lange nichts mit dem propeller gemacht habe bin ich wohl etwas eingerostet.

Ziel war das Impulsmuster der Tastatur zu erzeugen.

Ich find den Fehler einfach nicht. :(

Code: Alles auswählen

 siehe 003

Re: KC85/3 & M100

Verfasst: Fr 19. Mai 2017, 09:00
von PIC18F2550
Hab gerade was im ewig vermißten Inet gefunden.

Code: Alles auswählen

CON
  _CLKMODE = xtal1 + pll16x
  _XINFREQ = 6_000_000

  MY_LED_PIN = 0

PUB main
  cognew(@blink, 0) ' Start a Cog with our assembly routine, no stack
                    ' is required since PASM requires we explicitly
                    ' assign and use memory locations within the Cog/Hub
DAT
        org     0
blink   mov     dira,   Pin       ' Set our Pin to an output
        rdlong  Delay,  #0        ' Prime the Delay variable with memory location 0
                                  ' this is where the Propeller stores the CLKFREQ variable
                                  ' which is the number of clock ticks per second
        mov     Time,   cnt       ' Prime our timer with the current value of the system counter
        add     Time,   #9        ' Add a minimum delay ( more on this below )
:loop   waitcnt Time,   Delay     ' Start waiting
        xor     outa,   Pin       ' Toggle our output pin with "xor"
        jmp     #:loop            ' Jump back to the beginning of our loop

Pin     long    |< MY_LED_PIN     ' Encde MY_LED_PIN to a bit mask
Delay           res     1
Time            res     1
        fit
ich glaub das ich den waitcnt total falsch verstanden habe. :(

Re: KC85/3 & M100

Verfasst: Fr 19. Mai 2017, 21:51
von PIC18F2550
So sollte es glaub ich eher aussehen.:

Code: Alles auswählen

Error404

Re: KC85/3 & M100

Verfasst: Do 1. Jun 2017, 19:39
von PIC18F2550
:JUBELN

Das Bild zeigt nicht die Signale auf der Leitung sondern die der U807 ausgibt. :KOTZEN

In der Doku zur D005 wurde die Startbitbeschreibung vertauscht :evil:

Code: Alles auswählen

DAT
'-------------------------------------------------------------------------------------------------
' Test 1 Zeichen an D001 senden
'
'
'-------------------------------------------------------------------------------------------------
' Px(Prop) über R(10k) an B(SS216)
' C(SS216) über R(2,2K) an Signalin(D001)
' Masse(D001) an E(SS216) und GND(Prop)
'
' Die L-Impulse auf der Signalleitung werden mit H-Impulen an dem Propausgängen erzeugt.
'
'-------------------------------------------------------------------------------------------------

CON
  _clkmode = XTAL1|PLL16X
  _xinfreq = 5_000_000

PUB INI
  cognew(@AsmCode, 0)
  repeat

DAT
AsmCode
' ---------------------------------------------------------------------
        ORG 0
INI1
        mov     dira, Pin         ' Conf Ausgang
        andn    outa, Pin         ' Set Ausgang 0 = 9V
        mov     Time, cnt         ' Get system counter
        add     Time, #$1FF       ' erststart des Timers Experiment
        waitcnt Time, #0
' ---------------------------------------------------------------------
'Vorspann Initalisierung
' ---------------------------------------------------------------------
CnZ
' ---------------------------------------------------------------------
'Check neues Zeichen
        add     Time, Delay20_0ms
        waitcnt Time, #0
        mov     char, #13     ' IBUS Code für Zeichen
        shl     char, #1
        and     char, #$7E
        or      char, #$01    ' bit 1 setzen wenn keine chift taste
        call    #cc

        add     Time, Delay20_0ms
        waitcnt Time, #0
'        mov     char, #$02   'Code für Zeichen
'        call    #cc

        jmp     #CnZ
' ---------------------------------------------------------------------
' Der Code muß mindetens 2x übertragen werden damit er als gültig
' erkannt wird
CC
        mov     schar, char
        call    #SC
        add Time, Delay14_3ms
        waitcnt Time, #0
        mov     schar, char
        call    #SC
        add Time, Delay14_3ms
        waitcnt Time, #0
CC_ret
        ret
' ---------------------------------------------------------------------
' der Zeichencode wird ins seriele gewandelt
SC
        mov     Tmp1, #7 'zeichen besteht aus 7 Bit
Loop3
        call    #LB               ' Vordere ipulse
        shr     char, #1     wc
  if_c  add     Time, Delay07_1ms
  if_nc add     Time, Delay05_0ms
        waitcnt Time, #0
        djnz    Tmp1, #Loop3 wz
        call    #LB               ' hinterer letzter impuls
SC_ret
        ret
' ---------------------------------------------------------------------
' Trenn Burst zwischen den einzelnen Bits
LB
        mov     Tmp2, #5          '5 Impulse erzeugen
LB1
        or      outa, Pin         ' Set Ausgang 1 = 0V
        add     Time, Delay16ys
        waitcnt Time, #0
        andn    outa, Pin         ' Set Ausgang 0 = 9V
        add     Time, Delay16ys
        waitcnt Time, #0
        djnz    Tmp2, #LB1   wz
LB_ret
        ret
' ---------------------------------------------------------------------
Pin         long |<1
Delay20_0ms long 80 * 20_000   'Vorspann Initalisierung oder neues zeichen
Delay14_3ms long 80 * 14_336   'Pause Zeichen repeat
Delay07_1ms long 80 *  7_168   'eine 1 Übertragen
Delay05_0ms long 80 *  5_120   'eine 0 Übertragen
Delay16ys   long 80 *     16   'eine Halbwelle vom 31kHZ-Burst
Char        res   1
sChar       res   1
Tmp1        res   1
Tmp2        res   1
Time        res   1

            fit     $1F0
Jetzt muss ich nur noch sehen wie ich den Tastaturtreiber aus dem Pufferbereich des VGA-Treibers bekomme. :SCHRAUBEN

Re: KC85/3 & M100

Verfasst: Fr 7. Jul 2017, 08:36
von PIC18F2550
D005 anschluss