Dreamcast i stacja dysków CD

ODPOWIEDZ
Awatar użytkownika
Forte
'normalnie deBesciak'
'normalnie deBesciak'
Posty: 821
Rejestracja: 2011-11-23, 09:27
Lokalizacja: Dom

Dreamcast i stacja dysków CD

Post autor: Forte » 2013-03-25, 14:33

Udało mi się znaleźć tutorial pozwalający na montaż stacji dysków CD-Rom (DVD też) do poczciwego Makarona.

http://forum.clubedohardware.com.br/dri ... ec8d589495&

Wydaje mi się, że taki zabieg byłby zgoła lepszy niż męczenie się z wypoziomowaniem lasera. Z tego co przetłumaczyło google, kolesiowi na 3 stacje dysków działały 2 :P

Niestety, całość jest po portugalsku, a mod wygląda na dość trudny do zrobienia... postarałem się przetłumaczyć co nieco za pomocą google tłumacza, ale niestety, nie znam się na sprawach hardware'owych więc za dużo mi to nie mówi.

Witam wszystkich którzy kochają Dreamcasty.

Wiele tych maszyn już nie działa, sam byłem w takiej sytuacji gdzie nie działał mi czytnik optyczny i stacja dysków (?). W czasie surfowania po sieci uświadomiłem sobie, że wielu ludzi używa płyt CD-ROM. Pomyślałem, że po co używać tylko czytnika jeśli można użyć całego napędu.
Chciałbym postawić sprawę jasno, ze jest to dostosowany tryb IDE na Dreamcasta. (?)

Pierwszym krokiem jest znalezienia napędu z silnikiem prądu stałego (?). Musi mieć podobne właściwości elektryczne jak konsola. Sam odtwarzacz CD-ROM także musi być zgodny z Dreamcastem. W moim przypadku użyłem napędu DVD-ROM ponieważ nie miałem (innego?) z silnikiem prądu stałego (dalej nie mam pojęcia jak to zinterpretować).


Aby sprawdzić, czy odtwarzacz CD-ROM jest kompatybilny z Dreamcastem wystarczy podłączyć odtwarzacz bez napędu (?)do Dreamcasta. Następnie podłączyć urządzenie i zamknąć odtwarzacz CD. Jeżeli silniczek lasera ruszy, że jest zgodny. Nie jest trudno znaleźć kompatybilny odtwarzacz. Z trzech CD-ROMów dwa demontowane były zgodne. Część łącząca jest identycznie podłączana jak od oryginalnego czytnika (chyba chodzi o taśmę albo te czarno-czerwone kabelki?). Włożyłem leżanka do zabezpieczenia CD-ROM (nie mam pojęcia o co chodzi z leżanką...)

Jedyne, co trzeba było zrobić to mały obwód, aby otworzyć i zamknąć szufladę stacji. Poniżej znajduje się schemat połączeń obwodu i program PIC. PIC 16F628A był używany. (program Pic, czyli już jakieś programowanie.... uhhhh)

Programa do PIC.

;|-------------------------------------------|
;|Controle Open Close CD-ROM para Dreamcast |
;|-------------------------------------------|

#INCLUDE <P16F628A.INC>

__CONFIG _BODEN_ON & _CP_OFF & _PWRTE_ON & _WDT_OFF & _LVP_OFF & _MCLRE_ON & _INTOSC_OSC_NOCLKOUT

;DEFINIÇÃO DE COMANDOS------------------------
#DEFINE G_ABRE_ON BSF PORTB,0
#DEFINE G_ABRE_OFF BCF PORTB,0
#DEFINE G_FECHA_ON BSF PORTB,1
#DEFINE G_FECHA_OFF BCF PORTB,1
#DEFINE T_ABRE BSF PORTB,2
#DEFINE T_FECHA BCF PORTB,2
#DEFINE O_C_B PORTB,3
#DEFINE G_FECHADA PORTB,4
#DEFINE G_ABERTA PORTB,5

#DEFINE BANK0 BCF STATUS,RP0
#DEFINE BANK1 BSF STATUS,RP0

DELAYPU01 EQU 0x20
DELAY2S01 EQU 0x21
DELAY2S02 EQU 0x22
DELAY2S03 EQU 0x23
;==============================================

;VETOR DE RESET--------------------------------
ORG 0x00
GOTO INICIO
;===============================================

;INTERRUPÇÃO-----------------------------------
ORG 0x04
RETFIE
;===============================================

;DELAY-PU---------------------------------------
DELAYPU
MOVLW B'11111111'
MOVWF DELAYPU01
DPUB01
DECFSZ DELAYPU01
GOTO DPUB01
RETURN
;===============================================

;DELAY 2 SEG------------------------------------
DELAY2SEG
MOVLW D'255'
MOVWF DELAY2S01
MOVLW D'255'
MOVWF DELAY2S02
MOVLW D'10'
MOVWF DELAY2S03
DELAY2SB01
DECFSZ DELAY2S01
GOTO DELAY2SB01
DELAY2SB02
DECFSZ DELAY2S02
GOTO DELAY2SB01
DELAY2SB03
DECFSZ DELAY2S03
GOTO DELAY2SB01
RETURN
;===============================================

;FECHA GAVETA-----------------------------------
FECHA_GAVETA
G_FECHA_ON
BTFSS G_FECHADA
GOTO FECHA_GAVETA
CALL DELAYPU
G_FECHA_OFF
RETURN
;===============================================

;ABRE GAVETA------------------------------------
ABRE_GAVETA
G_ABRE_ON
BTFSS G_ABERTA
GOTO ABRE_GAVETA
CALL DELAYPU
G_ABRE_OFF
RETURN
;===============================================

;BOTAO ABRE FECHA-------------------------------
BOTAO_A_F
BTFSS O_C_B ;BOTAO ABRE FECHA PRESSIONADO ?
GOTO BOTAO_A_F ;não
RETURN
;===============================================

;CONFIGURA-PIC----------------------------------
INICIO
BANK1
MOVLW B'00000000'
MOVWF TRISA
MOVLW B'11111000'
MOVWF TRISB
MOVLW B'10000100'
MOVWF OPTION_REG
MOVLW B'00000000'
MOVWF INTCON
BANK0
MOVLW B'00000111'
MOVWF CMCON
;================================================

;PROGRAMA-PRINCIPAL------------------------------
;SET SAIDAS{
MOVLW B'00000100'
MOVWF PORTB
;SET SAIDAS}

;VERIFICA SE GAVETA ESTA ABERTA{
BTFSS G_FECHADA ;GAVETA ESTA ABERTA ?
CALL FECHA_GAVETA ;SIM
VOLTA
T_FECHA
CALL BOTAO_A_F
T_ABRE
CALL DELAY2SEG ;AGUARDA CD PARAR
CALL ABRE_GAVETA ;ABRE GAVETA
CALL BOTAO_A_F
CALL FECHA_GAVETA
GOTO VOLTA

END


Co wy na to? Może damy radę wspólnie opracować to, żeby powstał solidny tutorial? Może uda się komuś nawet zmodować odpowiednio DC, sam bym chętnie spróbował gdybym wiedział co i jak :)

Chipa zaprogramować nie miałbym jak bo sprzęt, ale może dałoby rade wymontować tylko dane części, żeby nie musieć używać tacki?
Sega!

ODPOWIEDZ