HBasic

Du hast ein Betriebssystem für den Hive geschrieben oder beschäftigst dich mit den grundlegenden Systemfunktionen, dann bist du hier richtig!
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: HBasic

Beitrag von drohne235 »

Funktioniert es denn jetzt soweit mit deinem Code?
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

Re: HBasic

Beitrag von PIC18F2550 »

Binn gerade dabei.

suche "_sl"
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

Re: HBasic

Beitrag von PIC18F2550 »

Oh schreibfehler sollte _s1 sein :SCHREIEN
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: HBasic

Beitrag von drohne235 »

Kann ich dir sagen:

Code: Alles auswählen

'                  +------------------------------- /hs
'                  |+------------------------------ /wr
'                  ||+----------------------------- busclk
'                  |||+---------------------------- hbeat
'                  |||| +-------------------------- al
'                  |||| |+------------------------- /bel
'                  |||| ||+------------------------ /adm
'                  |||| |||+----------------------- /ram2
'                  |||| ||||+---------------------- /ram1
'                  |||| |||||           +---------- a0..10
'                  |||| |||||           |
'                  |||| |||||           |        +- d0..7
'                  |||| |||||+----------+ +------+
_al     long  %00000000_10000000_00000000_00000000  ' /al bitmaske
_bwr    long  %00000100_00000000_00000000_00000000  ' /wr bitmaske
_ram1   long  %00000000_00001000_00000000_00000000  ' /ram1 bitmaske
_latch  long  %00000000_00000000_11111111_00000000  ' latch bitmaske
_adr    long  %00000000_00000111_11111111_00000000  ' adrbus bistmaske

dinp    long  %00000111_11111111_11111111_00000000  ' bus input
dout    long  %00000111_11111111_11111111_11111111  ' bus output
_s1     long  %00000100_01111000_00000000_00000000  ' bus inaktiv                                  <--- Da ist das Bitmuster! :)
_b1     long  %00000000_00111000_00000000_00000000  ' adm=1, bel=0, wr=0, busclk=0
_b2     long  %00000010_00111000_00000000_00000000  ' adm=1, bel=0, wr=0, busclk=1
_b3     long  %00000110_00111000_00000000_00000000  ' adm=1, bel=0, wr=1, busclk=1
_a1     long  %00000000_01011000_00000000_00000000  ' adm=0, bel=1, wr=0, busclk=0
_a2     long  %00000010_01011000_00000000_00000000  ' adm=0, bel=1, wr=0, busclk=1
_a3     long  %00000110_01011000_00000000_00000000  ' adm=0, bel=1, wr=1, busclk=1
_hs     long  %00001000_00000000_00000000_00000000  ' hs=1?
_zero   long  %00000000_00000000_00000000_00000000  '
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

Re: HBasic

Beitrag von PIC18F2550 »

Nein will immer noch nicht.
SPIN-Teil zum schreiben

Code: Alles auswählen

'1. schreiben in den externen RAM
  ios.ram_wrlong(0,$0008_4638,$7f00)
  ios.ram_wrlong(0,$3143_4950,$7f04)
  ios.ram_wrlong(0,$000A_3035,$7f08)
  ios.ram_wrlong(0,$3532_0000,$7f0C)
  ios.ram_wrlong(0,$0000_0000,$7f10)
'2. Lesen aus den externen RAM lesen und schreiben in hRAM
  long[$7f00]:=ios.ram_rdlong(0,$7f00)
  long[$7f04]:=ios.ram_rdlong(0,$7f04)
  long[$7f08]:=ios.ram_rdlong(0,$7f08)
  long[$7f0C]:=ios.ram_rdlong(0,$7f0C)
  long[$7f10]:=ios.ram_rdlong(0,$7f10)
PASM-Teil zum lesen

Code: Alles auswählen

'2. Lesen aus den externen RAM lesen und schreiben in hRAM
              mov       temp2, h00007f00
              call      #eRamRB
              wrbyte    temp1, temp2   '<<- liest $00 sollte aber $38 sein
              add       temp2, h00000001
              call      #eRamRB
'              wrbyte    temp1, temp2
              add       temp2, h00000001
              call      #eRamRB
'              wrbyte    temp1, temp2
              add       temp2, h00000001
              call      #eRamRB
'              wrbyte    temp1, temp2
              add       temp2, h00000001
              call      #eRamRB
'              wrbyte    temp1, temp2
list irgendwie immer $0
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: HBasic

Beitrag von drohne235 »

Hmm, kann ich mich gerade nicht richtig reindenken. Der erste Teil (SPIN-Code zum schreiben) ist klar, da schreibst du diverse Longs in diverse Adressen.

Der zweite Codeschnipsel scheint mir ein Rätsel zu sein:

Code: Alles auswählen

              mov       temp2, h00007f00  'das ist wahrscheinlich eine adresse?
              call      #eRamRB		  'von welcher hier ein byte gelesen wird?
              wrbyte    temp1, temp2	  'was wird da aus temp1 auf temp2  (die adresse) kopiert?
              add       temp2, h00000001  'die neue adresse erhöhen
              call      #eRamRB		  'byte von der adresse in temp2 lesen	
              add       temp2, h00000001  'adresse+1	
              call      #eRamRB		  '?
              add       temp2, h00000001  '??
              call      #eRamRB           `???
              add       temp2, h00000001
              call      #eRamRB
Keine Ahnung in welchem Zusammenhang die Sequenz steht. Was soll die PASM-Sequenz genau machen? Ich verstehs gerade nicht - könnte auch an der fast leeren Flasche Rotwein liegen... :EIEI
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

Re: HBasic

Beitrag von PIC18F2550 »

richtig

Code: Alles auswählen

'---------------------------------------------------------------------
' eRam
'
' temp1     Daten
' temp2     Adresse
' temp3     temp
'---------------------------------------------------------------------
eRamRB ' byte lesen
              call    #setadr           ' adresse setzen
              mov     temp1,  ina         ' port einlesen
              mov     outa,   _s1          ' bus wieder inaktiv
              and     temp1,  h000000ff   ' daten ausmaskieren
eRamRB_ret    ret
'---------------------------------------------------------------------
setadr ' adresse verarbeiten
       'hwt-adresse --> latch
              mov     temp3,  temp2       ' adresse holen
              shr     temp3,  #$3          ' adresse für latch zurechtschieben
              and     temp3,  _latch      ' latchbits ausmaskieren
              or      outa,   temp3        ' adresse für latch an ports setzen
              xor     outa,   _al          ' wert in latch übernehmen
              mov     outa,   _s1          ' wert in latch übernehmen
       ' nwt-adresse setzen
              mov     temp3,  temp2       ' adresse holen
              shl     temp3,  #$8          ' adresse zurechtschieben
              and     temp3,  _adr        ' adresse ausmaskieren
              or      outa,   temp3        ' adresse an ports setzen
              xor     outa,   _ram1        ' rambank 1 selektieren
setadr_ret    ret
mache gerade mal einen Speichertest aber bis jetzt alles I.O.
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: HBasic

Beitrag von drohne235 »

mache gerade mal einen Speichertest aber bis jetzt alles I.O.
Na da kann ich ja ohne Bdenken ein Gläßchen nachschenken. :LACHEN
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

Re: HBasic

Beitrag von PIC18F2550 »

:shock:
drohne235 hat geschrieben:Na da kann ich ja ohne Bdenken ein Gläßchen nachschenken. :LACHEN
wie viel Durchläufe hatt das Teil?
Das artet ja in Nachtarbeit aus.
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: HBasic

Beitrag von drohne235 »

PIC18F2550 hat geschrieben::shock:
drohne235 hat geschrieben:Na da kann ich ja ohne Bdenken ein Gläßchen nachschenken. :LACHEN
wie viel Durchläufe hatt das Teil?
Das artet ja in Nachtarbeit aus.
Zykluszeit wird größer, wrdn immer wnger Buchtaben auf dem Ky.. naja dem Dingens halt... Also mach ma fertisch dein Basic da! :LACHEN
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Antworten