Aktualności: C64 Power - online od stycznia 2000 !

Autor Wątek: Ratunku!!! Jak działa stacja dysków?!  (Przeczytany 2904 razy)

0 użytkowników i 6 Gości przegląda ten wątek.

Offline qus

  • Level 3
  • ***
  • Wiadomości: 201
Ratunku!!! Jak działa stacja dysków?!
« dnia: 24 Czerwca 2016, 08:51 »
W skrócie - robię własnego kernala (wyprzedzając szydercze pytania, odpowiedź: bo tak mi się podoba i bo mogę), korzystam ze źródeł z tej strony: http://spiro.trikaliotis.net/cbmrom. Ponieważ chcę tam dodać parę rzeczy, wywaliłem całą część basicową, zaprogramowałem własny, dużo mniejszy, edytor ekranowy i CHROUT (z obsługą UTF8, wyprzedzając szydercze pytania, odpowiedź: bo tak mi się podoba i bo mogę).

Próbowałem teraz zrzucić katalog dyskietki posługując się odpowiednim kodem z sjLOAD, jednak LISTEN wpada w nieskończoną pętlę, sprawdzając, czy zmianie ulega $DD00, konkretnie tu:

@LED5A:
jsr     IecGetDataClockIn
bcc     @LED5A


IecGetDataClockIn:
lda     IEC_REG_DATA_CLK_IN
cmp     IEC_REG_DATA_CLK_IN
bne     IecGetDataClockIn
asl     a
rts

Ponieważ nie mam pojęcia, jak działa komunikacja ze stacją, nie bardzo wiem co tak naprawdę powinno się tu dziać. Czy ktoś ŻYCZLIWY i NIEZBYT PRZEMĄDRZAŁY jest w stanie pomóc? Może po objawie okaże się, że np. Gdzieś nie zainicjalizowałem czegoś w CIA? Dla przypomnienia część LISTEN z feralnym momentem, do którego dochodzi:

iLISTEN:
ora     #IEEE_LISTEN                    ; create primary address for TALK
jsr     LF0A4                           ; TODO (assumed: Wait for RS232 transmission to stop)

IecOutputCommand:
pha                                     ; remember byte to be output

bit     zC3PO                           ; test: Is there already some character in the output buffer?
bpl     @BufferByte                     ; no -> branch, do not output but put the byte into the buffer instead

; there is some byte in the output buffer.
; output it on the IEC bus.

sec
ror     zTSFCNT                         ; set zTSFCNT.7, thus: Signal an EOI on output

jsr     IecOutputByte                           ; output a byte on IEC bus

; IecOutputByte returns with C == 0
lsr     zC3PO                           ; unset zC3PO.7, thus:
; mark: There is no byte in the buffer
lsr     zTSFCNT                         ; unset zTSFCNT.7. Subsequent bytes will not be signalled with EOI

@BufferByte:
; here, zC3PO.7 is unset.
; Either we jumped here because of the bpl, or it was specifically unset two lines above

; Thus, the buffer is already marked as empty

pla                                     ; get back the byte to be output
sta     zBSOUR                          ; and store it into the output buffer

sei                                     ; make sure the interrupt does not disturb our timing

; it is not completely clear if this command is missing
; on the VIC20, or if it is not critical there, as the VIC20
; does not have badlines, which might help the timing here.

; TODO: document
jsr     IecDataClear

cmp     #IEEE_UNLISTEN
bne     @NotUNLISTEN

jsr     IecClkClear

@NotUNLISTEN:

; set ATN state

lda     IEC_REG_ATN_OUT
ora     #IEC_B_ATN_OUT
sta     IEC_REG_ATN_OUT

IecOutputByte2:
sei                                     ; make sure the interrupt does not disturb our timing

; it is not completely clear if this command is missing
; on the VIC20, or if it is not critical there, as the VIC20
; does not have badlines, which might help the timing here.
jsr     IecClkSet
jsr     IecDataClear
jsr     IecDelay1ms


IecOutputByte:
sei                                     ; make sure the interrupt does not disturb our timing

jsr     IecGetDataClockIn

bcs     DeviceNotPresent
jsr     IecClkClear
bit     zTSFCNT
bpl     @LED5A

@WaitDataInactive:
jsr     IecGetDataClockIn

bcc     @WaitDataInactive

@WaitDataActive:
jsr     IecGetDataClockIn

bcs     @WaitDataActive
; tu sie zapetla...
@LED5A:
jsr     IecGetDataClockIn

« Ostatnia zmiana: 24 Czerwca 2016, 08:54 wysłana przez qus »



Offline wegi

  • Level 7
  • *******
  • Wiadomości: 2588
Re: Ratunku!!! Jak działa stacja dysków?!
« Odpowiedź #1 dnia: 24 Czerwca 2016, 10:10 »
Mógłbym Cię odesłać do opracowań krilla i timingów

tu je znajdziesz

http://csdb.dk/release/download.php?id=148190


Dla mnie prościej założyć breakpointa w Vice i jechać step by step.
Gdy po wynalezieniu komputera kwantowego jedni pytali o sposób wytwarzania prądu, kisiel pytał jak wytwarzać świeczki...

NIECH NIE BĘDZIE NICZEGO !!!

CZY RAF PIŁ Z JERICHA KUBECZKA ???

Offline qus

  • Level 3
  • ***
  • Wiadomości: 201
Re: Ratunku!!! Jak działa stacja dysków?!
« Odpowiedź #2 dnia: 24 Czerwca 2016, 10:17 »
A myślisz, że skąd wiem, gdzie się zapętla? :D

Offline wegi

  • Level 7
  • *******
  • Wiadomości: 2588
Re: Ratunku!!! Jak działa stacja dysków?!
« Odpowiedź #3 dnia: 24 Czerwca 2016, 10:24 »
Załóż breakpointa na normalnym kernelu i porównaj. Nie da się wytłumaczyć jak to działa, dopóki nie wgłębisz się w to na najniższy poziom i sam  zrozumiesz. Mnie jako tako interesowało zawsze nie jak działa standardowa transmisja, tylko jak ją ominąć i zrobić to szybciej.

W opracowaniach krilla znajdziesz więcej szczegółów, może Ci pomogą.

Droga bitu po drucie opisana w odcinku 8 programowania stacji dysków C&A 95/04
Gdy po wynalezieniu komputera kwantowego jedni pytali o sposób wytwarzania prądu, kisiel pytał jak wytwarzać świeczki...

NIECH NIE BĘDZIE NICZEGO !!!

CZY RAF PIŁ Z JERICHA KUBECZKA ???

Offline Kisiel

  • Level 7
  • *******
  • Wiadomości: 11447
  • Number 7 in all users competition...
    • http://wiki.projekt64.filety.pl/doku.php
Re: Ratunku!!! Jak działa stacja dysków?!
« Odpowiedź #4 dnia: 24 Czerwca 2016, 10:33 »
no to załóż break pointa na orginale.
idz wyprostowany wśród tych co idą na kolanach

...w przypadku checi zakupu UK1541,GA,MA,T8500,T7501 prosze o kontakt na Facebooku, haslo: UK1541....

Offline qus

  • Level 3
  • ***
  • Wiadomości: 201
Re: Ratunku!!! Jak działa stacja dysków?!
« Odpowiedź #5 dnia: 24 Czerwca 2016, 11:03 »
tylko jak ją ominąć i zrobić to szybciej.

Do LOAD akurat wykorzystam kod ze sjLOAD

Offline Kisiel

  • Level 7
  • *******
  • Wiadomości: 11447
  • Number 7 in all users competition...
    • http://wiki.projekt64.filety.pl/doku.php
Re: Ratunku!!! Jak działa stacja dysków?!
« Odpowiedź #6 dnia: 24 Czerwca 2016, 11:06 »
Jak ja rozumiem to musisz mieć JD w stacji.
idz wyprostowany wśród tych co idą na kolanach

...w przypadku checi zakupu UK1541,GA,MA,T8500,T7501 prosze o kontakt na Facebooku, haslo: UK1541....

Offline Raf

  • Master of disaster
  • Administrator
  • Level 7
  • **********
  • Wiadomości: 7333
  • Wolność, własność, sprawiedliwość
Re: Ratunku!!! Jak działa stacja dysków?!
« Odpowiedź #7 dnia: 24 Czerwca 2016, 11:10 »
nie musisz, mozesz
"Cokolwiek powiesz albo napiszesz, znajdzie się ktoś, kto słyszy lub czyta coś zupełnie innego i jeszcze bezczelnie wmawia Ci to"

Offline Kisiel

  • Level 7
  • *******
  • Wiadomości: 11447
  • Number 7 in all users competition...
    • http://wiki.projekt64.filety.pl/doku.php
Re: Ratunku!!! Jak działa stacja dysków?!
« Odpowiedź #8 dnia: 24 Czerwca 2016, 13:07 »
SJLOAD is a C64/C64DTV software fastloader. Its main difference from normal fastloaders is that it only works with Jiffy-enabled drives and uses the JiffyDOS protocol.


PS. to też oznacza opłatę 8$ za używanie JD.
idz wyprostowany wśród tych co idą na kolanach

...w przypadku checi zakupu UK1541,GA,MA,T8500,T7501 prosze o kontakt na Facebooku, haslo: UK1541....

Offline Raf

  • Master of disaster
  • Administrator
  • Level 7
  • **********
  • Wiadomości: 7333
  • Wolność, własność, sprawiedliwość
Re: Ratunku!!! Jak działa stacja dysków?!
« Odpowiedź #9 dnia: 24 Czerwca 2016, 14:08 »
a to widzisz zmienia postac rzeczy, ide pod stol szczekac. Gdy uzywalem sjload to pewnie tylko z sd2iec albo nie zwrocilem uwagi ze zwykla stacja nie trybi z tym.

Czy to oznacza oplate - nie wiem. Placisz za licencje na cygana.
"Cokolwiek powiesz albo napiszesz, znajdzie się ktoś, kto słyszy lub czyta coś zupełnie innego i jeszcze bezczelnie wmawia Ci to"

Offline qus

  • Level 3
  • ***
  • Wiadomości: 201
Re: Ratunku!!! Jak działa stacja dysków?!
« Odpowiedź #10 dnia: 24 Czerwca 2016, 15:54 »
Nie ma obawy, robię to po to, żeby po ludzku korzystać z sd2iec. Prawnicy CMD mogą spać spokojnie.

PS. to też oznacza opłatę 8$ za używanie JD.

Przez producentów hardware...
« Ostatnia zmiana: 24 Czerwca 2016, 15:59 wysłana przez qus »

Offline Kisiel

  • Level 7
  • *******
  • Wiadomości: 11447
  • Number 7 in all users competition...
    • http://wiki.projekt64.filety.pl/doku.php
Re: Ratunku!!! Jak działa stacja dysków?!
« Odpowiedź #11 dnia: 24 Czerwca 2016, 19:48 »
Przez producentów hardware...
Producenci hardware jak Stary Marabut czy Raf przerzucają odpowiedzialność na end usera. Używasz płacisz to jest w licencji.

"Note: This purchase provides the buyer a license to utilize the downloaded ROM overlay image on one computing device or emulation environment.  Each use must have a separate license for legitimate operation.  "

No i tyle z mądrości ludowych.

idz wyprostowany wśród tych co idą na kolanach

...w przypadku checi zakupu UK1541,GA,MA,T8500,T7501 prosze o kontakt na Facebooku, haslo: UK1541....

Offline qus

  • Level 3
  • ***
  • Wiadomości: 201
Re: Ratunku!!! Jak działa stacja dysków?!
« Odpowiedź #12 dnia: 24 Czerwca 2016, 21:08 »
Panowie, sprawa okazała się banalna. Po prostu za szubko po starcie stukałem do stacji, trzeba odczekać aż w DD00 będzie #$97 i wszystko hula.

Offline Kisiel

  • Level 7
  • *******
  • Wiadomości: 11447
  • Number 7 in all users competition...
    • http://wiki.projekt64.filety.pl/doku.php
Re: Ratunku!!! Jak działa stacja dysków?!
« Odpowiedź #13 dnia: 24 Czerwca 2016, 21:15 »
Takich banalnych spraw w kodowaniu jest pełno... zapowiadają się ciekawe zimowe wieczory.
Userzy SD2IEC pewnie się zastanawiają co się stało z programami używającymi basica, przestały działać na tej modyfikacji ?
idz wyprostowany wśród tych co idą na kolanach

...w przypadku checi zakupu UK1541,GA,MA,T8500,T7501 prosze o kontakt na Facebooku, haslo: UK1541....

Offline Raf

  • Master of disaster
  • Administrator
  • Level 7
  • **********
  • Wiadomości: 7333
  • Wolność, własność, sprawiedliwość
Re: Ratunku!!! Jak działa stacja dysków?!
« Odpowiedź #14 dnia: 25 Czerwca 2016, 00:49 »
a czy sjload to emulator?
"Cokolwiek powiesz albo napiszesz, znajdzie się ktoś, kto słyszy lub czyta coś zupełnie innego i jeszcze bezczelnie wmawia Ci to"