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.
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.:
Re: KC85/3 & M100
Verfasst: Do 1. Jun 2017, 19:39
von PIC18F2550
Das Bild zeigt
nicht die Signale auf der Leitung sondern die der U807 ausgibt.
In der Doku zur D005 wurde die Startbitbeschreibung vertauscht
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.
Re: KC85/3 & M100
Verfasst: Fr 7. Jul 2017, 08:36
von PIC18F2550
D005 anschluss