Ana Sayfa
Amiga Dokumantasyon Projesi
Medya
Yardım
Ara
Giriş Yap
Kayıt
Merhaba,
Ziyaretçi
. Lütfen
giriş yapın
veya
üye olun
.
1 Saat
1 Gün
1 Hafta
1 Ay
Her zaman
Kullanıcı adınızı, parolanızı ve aktif kalma süresini giriniz
Gelişmiş Arama
insanın içinde varsa, commodore.gen.tr açığa çıkarır bunu.. bir nevi retro olaylarının dolunayıyız.(Arda)
commodore.gen.tr
Genel Kategori
Proje
16F84 yerine 16f628 kullanma
« önceki
sonraki »
Sayfa: [
1
]
Aşağı git
Gönderen
Konu: 16F84 yerine 16f628 kullanma (Okunma Sayısı 4774 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
ozkano
Uzman
Mesaj Sayısı: 3.510
16F84 yerine 16f628 kullanma
«
:
Şubat 09, 2018, 07:26:59 ÖÖ »
Selam, 16F84 kullandığım projede 16F628 kulanma istiyorum,
16F84 external Crystal Kullanıyor
16F628 kullanarak internal osilator kullanmak istiyorum
firmware i ve source u var
direk fuse bitler le bu ş olur mu
Logged
A500,A500+,A600,A1000,A1200,A2000,A3000,A4000,CDTV,CD32,A1,MacMini,R2HV,C64,48K,Ps,Ps2,Ps3
Xbox,Xbox360,Nes,Snes,N64,N64Ique,Gamecube,Wii,PcEngine,PcEngineGT,PcEngineDUO,TurboGrafx,NeoGeoAES
NeogeoCD,NeoGeoMVS,NeoGeoPocket,MegaDrive,SegaCD,MultiMega,Saturn,Dreamcast,Jaguar,Lynx,Cps1
Cps2,System11
yavuzg
Genel Yönetici
Mesaj Sayısı: 5.524
Ynt: 16F84 yerine 16f628 kullanma
«
Yanıtla #1 :
Şubat 09, 2018, 09:12:49 ÖÖ »
ozkan, pic uzmanı değilim ama kodun içinde (başlarda bi yerlerde) pic tipini belirten bir constant falan tanımlanıyor diye hatırlıyorum. ayrıca Atmel'den farklı olarak fuse bitler kodun içinde set ediliyor diye hatırlıyorum PIC dünyasında. yani programlayıcıda başka bir şeye set edersen kodun içindeki direktifler override oluyormudur bilmem. en sağlıklısı kodu bu şekilde modifiye edip yeniden firmware build etmen diye düşünüyorum ama dediğim gibi PCI içeren 1-2 minik iş yaptım o kadar, uzman değilim...
Logged
SCARTCADE
NEO GEO
Elvira Pinball Restorasyon
ibo1973
Uzman
Mesaj Sayısı: 2.082
Ynt: 16F84 yerine 16f628 kullanma
«
Yanıtla #2 :
Şubat 09, 2018, 10:26:20 ÖÖ »
Alıntı sahibi: ozkano üzerinde Şubat 09, 2018, 07:26:59 ÖÖ
Selam, 16F84 kullandığım projede 16F628 kulanma istiyorum,
16F84 external Crystal Kullanıyor
16F628 kullanarak internal osilator kullanmak istiyorum
firmware i ve source u var
direk fuse bitler le bu ş olur mu
özkan aynı soruyu picproje.org de sormanı tavsiye ederim senelerdir takıldığım düzgün bir sitedir.
Logged
Eşimin videolarını çektiği youtube yemek tarifleri kanalımız
http://www.youtube.com/channel/UCWeURdgKjzxe9490Pb5KTPA?view_as=subscriber
ozkano
Uzman
Mesaj Sayısı: 3.510
Ynt: 16F84 yerine 16f628 kullanma
«
Yanıtla #3 :
Şubat 09, 2018, 10:50:43 ÖÖ »
;
; CREATED BY ACKMAN APPE V3c.0
;
; ADAPTADOR DE MANDO DE PSX PARA AMIGA CON EMULACION DE PAD CD32
; PROCESADOR PIC16F84/10 MHZ
;
;bug en la rutina de comunicacion con el pad solucionado...
;
DEVICE 16C84, XT_OSC, PROTECT_OFF, WDT_OFF
; LITERALS
; REGISTROS
TX_D EQU 0X10 ;CONTIENE EL BYTE A TRANSMITIR AL PAD PSX
OUT EQU 0X11 ;CONTIENE EL BYTE A PONER EN EL JOYSTIC DE AMIGA EN MODO NORMAL
FLAG EQU 0X12 ;REGISTRO DE FLAG INTERNOS DEL PROGRAMA
CONT3 EQU 0X13 ;CONTADOR GENERICO 3
CONT2 EQU 0X14 ;CONTADOR GENERICO 2
CONT1 EQU 0X15 ;CONTADOR GENERICO 1
CD32TX EQU 0X16 ;CONTIENE EL DATO A TRANSMITIR AL AMIGA EN MODO CD32
BYTE2 EQU 0X17 ;CONTIENE EL SEGUNDO BYTE UTIL RECIBIDO DEL PAD PSX
BYTE1 EQU 0X18 ;CONTIENE EL PRIMER BYTE UTIL RECIBIDO DEL PAD PSX
BYTE EQU 0X19 ;CONTIENE EL BYTE QUE SE ESTA RECIBIENDO DEL PAD PSX
ALMACENS EQU 0X1A ;CONTIENE EL VALOR DEL STATUS DURANTE LAS IRQ
ALMACENW EQU 0X1B ;CONTIEN EL VALOR DE W DURANTE LAS IRQ
FIREVEL EQU 0X1C ;CONTIEN LA VELOCIDAD DEL AUTOFIRE A MAS VALOR= MENOS VELOCIDAD
CD32TXB EQU 0X1D ;REGISTRO DE RESGUARDO DE VALOR A TRANSMITIR EN MODO CD32
; PORTA
DATA EQU 0X00 ;PIN 17 ENTRADA DE DATOS DEL PAD PSX
COMM EQU 0X01 ;PIN 18 SALIDA DE DATOS AL PAD PSX
CLK EQU 0X02 ;PIN 1 SALIDA DE SINCRONISMO AL PAD
ATT EQU 0X03 ;PIN 2 SALIDA DE ENABLE AL PAD, PARA LLAMAR SU ATENCION
ACK EQU 0X04 ;PIN 3 ENTRADA DE RECONOCIMIENTO DEL PAD
; PORTB MODO NORMAL CD32
FIRE2 EQU 0X00 ;PIN 6 NO USE ENABLE CD32
UP EQU 0X01 ;PIN 7 UP --
LEFT EQU 0X02 ;PIN 8 LEFT --
DOWN EQU 0X03 ;PIN 9 DOWN --
RIGHT EQU 0X04 ;PIN 10 RIGHT --
FIRE1 EQU 0X05 ;PIN 11 FIRE 1 DATA OUT
FIRE0 EQU 0X06 ;PIN 12 FIRE 1 CLOCK IN
NCONN EQU 0X07 ;PIN 13 -- --
;
STATUS EQU 3 ; REGISTRO DE ESTADO
PORTA EQU 5 ; REGISTRO DEL PUERTO A
PORTB EQU 6 ; REGISTRO DEL PUERTO B
TRISA EQU H'85' ; REGISTRO DE FUNCION PUERTO A 1=IN, 0=OUT
TRISB EQU H'86' ; REGISTRO DE FUNCION PUERTO B 1=IN, 0=OUT
RP1 EQU 6 ; REGISTRO DE SELECCION DE BANCO, JUNTO CON RP0
RP0 EQU 5 ; IDEM RP1 00=B0, 01=B1, 10=B2, 11=B3
OPTION EQU H'81' ; REGISTRO DE OPCIONES
INTCON EQU H'0B' ; REGISTRO DE ESTADO DE INTERRUPCIONES
Z EQU H'02' ; INDICADOR DE ZERO DE REGISTRO STATUS
C EQU H'00' ; INDICADOR DE ACARREO DE 8 BIT
DC EQU H'01' ; INDICADOR DE ACARREO DE LOS 4 BIT DE MENOS PESO
TMR0 EQU H'01' ; REGISTRO DEL TEMPORIZADOR PRINCIPAL
;**** BITS DEL REGISTRO DE OPCIONES OPTION
RBPU EQU 7 ;BIT DE CONEXION DE CARGAS PULL-UP PORTB (1=QUITADAS)
INTEDG EQU 6 ;TIPO DE FLANCO DE INTERRUPCION EXTERNA (1= ASCENDENTE)
T0CS EQU 5 ;FUENTE DE RELOG PARA TMR0 (1=EXTERNO)
T0SE EQU 4 ;TIPO DE FLANCO PARA TMR0 (1=DESCENDENTE)
PSA EQU 3 ;ASIGNACION DEL DIVISOR (1=WDT; 0=TMR0)
PS2 EQU 2 ;VALOR DEL PREDIVISOR
PS1 EQU 1 ;
PS0 EQU 0 ;
;**** BITS DEL REGISTRO DE INTERRUPCIONES INTCON
GIE EQU 7 ;BIT DE HABILITACION DE INTERRUPCIONES
PEIE EQU 6 ;BIT DE ACTIVACION DEL COMPARADOR
T0IE EQU 5 ;BIT ACTIVACION DE INTERRUPCION DE TMR0
INTE EQU 4 ;BIT ACTIVACION DE INTERRUPCION EXTERNA
RBIE EQU 3 ;BIT DE ACTIVACION DE PORTB
T0IF EQU 2 ;FLAG REBOSAMIENTO DE TMR0
INTF EQU 1 ;FLAG DE ESTADO INTERRUPCION EXTERNA
RBIF EQU 0 ;FLAG DE ESTADO INTERRUPCION PORTB
NOP
CALL PUERTOS
CALL DEFECTO
GOTO MAIN
CD32OUT: ;RUTINA DE ATENCION A IRQ
MOVWF ALMACENW ;GUARDA CONTENIDO DE W
BSF STATUS,RP0 ;PONE FIRE0 COMO ENTRADA
BSF PORTB,FIRE0 ;PONER FIRE0 COMO ENTRADA DE RELOG
BCF STATUS,RP0
WCLKE: BTFSC PORTB,FIRE2 ;ESPERA A QUE LA LINEA DE RELOG ESTE A 1
GOTO SALIR32 ;Y COMPRUEBA QUE NO SE HAYA TERMINADO LA TRANSMISION
BTFSS PORTB,FIRE0
GOTO WCLKE
TX32A: BTFSS CD32TX,0
BCF PORTB,FIRE1 ;MANDA 0
BTFSC CD32TX,0
BSF PORTB,FIRE1 ;MANDA 1
RRF CD32TX,F ;ROTA EL BYTE A MANDAR
WCLKU: BTFSC PORTB,FIRE2 ;ESPERA QUE LA LINEA DE RELOG ESTE A 0
GOTO SALIR32
BTFSC PORTB,FIRE0
GOTO WCLKU
GOTO WCLKE ;REPITE LA RUTINA
SALIR32:
BSF STATUS,RP0 ;RESTABLECE F0 COMO SALIDA
BCF PORTB,FIRE0
BCF STATUS,RP0
; MOVF OUT,W ;COLOCA LOS DATOS EN LA SALIDA COMO ANTES DE LA IRQ
; MOVWF PORTB
MOVF CD32TXB,W ;RESTABLECE EL REGISTRO CD32TX, POR SI SE PRODUCE OTRA IRQ TEMPRANA
MOVWF CD32TX
SWAPF ALMACENW,F ;RESTAURA EL VALOR DE W COMO ANTES DE LA IRQ
SWAPF ALMACENW,W ;
BCF INTCON,INTF ;BORRA EL FLAG DE INTERRUPCION EXTERNA
RETFIE
MAIN:
CALL PAD
CALL BIGDELAY
CALL BIGDELAY
CALL JOYOUT
CALL BIGDELAY
CALL PREP32
CALL BIGDELAY
GOTO MAIN
PAD: ;RUTINA DE LECTURA DE DATOS DEL PAD
BCF PORTA,ATT ;LLAMA LA ATENCION DEL PAD
CALL BIGDELAY ;ESPERA UN POCO
MOVLW 0X01 ;MANDA UN 01 AL PAD PARA RESETEARLO
MOVWF TX_D
CALL TX_RX
CALL BIGDELAY ;ESPERA OTRO POCO
MOVLW 0X42 ;MANDA UN 42 PARA PEDIR LOS DATOS DEL PAD
MOVWF TX_D
CALL TX_RX ; SIMULTANEAMENTE SE RECIBE EL TIPO DE PAD CONECTADO
; 0X41=PAD DIGITAL/ 0X23=NEGCOM/ 0X73=ANALOGICO ROJO
; 0X53=ANALOGICO VERDE/ 0X23=RATON PSX
;**** PROXIMAMENTE SE DEBERIA HACER COMPATIBILIDAD*****
CALL BIGDELAY ;ESPERA UN POCO
CALL TX_RX ; SE ENVIA UN DATO VACIO FF
;SIMULTANEAMENTE SE RECIBE UN 0X5A INDICANDO QUE SE VA A TRANSMITIR
CALL BIGDELAY ;SE ESPERA OTRO POCO MAS
CALL TX_RX ;SE RECIBE EL PRIMER BYTE UTIL
MOVF BYTE,W
MOVWF BYTE1 ;Y SE GUARDA EN EL REGISTRO BYTE1
CALL BIGDELAY ;OTRA PAUSA
CALL TX_RX ;SE RECIBE EL SEGUNDO BYTE UTIL
MOVF BYTE,W
MOVWF BYTE2 ;Y SE GUARDA EN EL REGISTRO BYTE2
CALL BIGDELAY ;OTRA PEQUEÑA PAUSA
BSF PORTA,ATT ;SE DEJA LIBRE EL PAD, SE LE LIBERA DE ATENCION
RETURN
; CRONOCGRAMA DEL PROTOCOLO PARA MANDAR Y RECIBIR UN BYTE
; BIT0 BIT1 BIT2 BIT3 BIT4 BIT5 BIT6 BIT7
;clock---___---___---___---___---___---___---___---___------------
;data ---000000111111222222333333444444555555666666777777---------
; * * * * * * * *
;comm ---000000111111222222333333444444555555666666777777---------
;ack ------------------------------------------------------___---
; |-4µS-|
TX_RX: ;RUTINA QUE TRANSMITE Y RECIBE SIMULTANEAMENTE UN BYTE AL PAD
MOVLW 0X08 ;PONE EL NUMERO DE BIT A TRANSMITIR EN EL CONTADOR 3
MOVWF CONT3
LOOP_1:
BCF PORTA,CLK ;PONE A NIVEL BAJO LA LINEA DE RELOG
BTFSC TX_D,0 ;PONE EL VALOR ADECUADO EN LA LINEA COMM
BSF PORTA,COMM
BTFSS TX_D,0
BCF PORTA,COMM
RRF TX_D,F ;ROTA EL BYTE A MANDAR
RRF BYTE,F ;ROTA EL BYTE A RECIBIR
NOP ;ESPERA SIN HACER NADA AL MENOS 1.5 uS
NOP
NOP
NOP
NOP
NOP
BCF BYTE,7
BSF PORTA,CLK ;PONE A UNO LA LINEA DE RELOG
BTFSC PORTA,DATA ;LEE EL DATO PRESENTE EN LA LINEA DATA
BSF BYTE,7
; BSF PORTA,CLK ;PONE A UNO LA LINEA DE RELOG
NOP ;ESPERA SI HACER NADA AL MENOS 1.5uD
NOP
NOP
NOP
NOP
NOP
DECFSZ CONT3,F ;COMPRUEBA SI ERA EL ULTIMO BIT
GOTO LOOP_1 ;SI NO ES EL ULTIMO LEE EL SIGUIENTE
MOVLW 0XFF ;SI ES EL ULTIMO CARGA FF EN EL REGISTRO A TRANSMITIR
MOVWF TX_D
BSF PORTA,COMM ;Y DEJA LA LINEA COMM A NIVEL ALTO
RETURN
; CONTENIDO DE LOS BYTES TRANSMITIDOS POR EL PAD DIGITAL Y ANALOGICO ROJO
; BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0
;BYTE1 IZQDA ABAJO DRCHA ARRBA STAR - - SELECT
;BITE2 (|_|) (X) (O) (/\) R1 L1 R2 L2
; CONTENIDO DEL BYTE DE TRANSMISION AL AMIGA EN MODO CD32
; BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0
;CD32TX PLAY << >> VERDE AMRLL ROJO
;EQU START L1 R1 (|_|) (/\) (X)
;EL BOTON AZUL NO ES NECESARIO TRANSMITIRLO QUE EQUIVALE A (O)
JOYOUT:
MOVLW 0XFF
MOVWF OUT
BTFSS BYTE1,4 ;SI SE PULSA ARRIBA
BCF OUT,UP
BTFSS BYTE1,5 ;SI SE PULSA DERECHA
BCF OUT,RIGHT
BTFSS BYTE1,6 ;SI SE PULSA ABAJO
BCF OUT,DOWN
BTFSS BYTE1,7 ;SI SE PULSA IZQUIERDA
BCF OUT,LEFT
BTFSS BYTE2,1 ;SI SE PULSA R2
CALL AUTOFIRE
BTFSS BYTE2,5 ;SI SE PULSA (O)
BCF OUT,FIRE1
BTFSS BYTE2,6 ;SI SE PULSA (X)
BCF OUT,FIRE0
MOVF OUT,W
MOVWF PORTB
RETURN
AUTOFIRE:
DECFSZ FIREVEL,F
RETURN
BCF BYTE2,6
MOVLW 0X04 ;ESTE VALOR AJUSTA LA VELOCIDAD DE AUTOFIRE -=+VEL
MOVWF FIREVEL
RETURN
;
PREP32:
;RUTINA TRADUCTORA DE PSX A PROTOCOLO CD32
BSF CD32TX,6
BSF CD32TX,7
BTFSS BYTE1,3 ;SI SE PULSA STAR
BCF CD32TX,5 ;EQUIVALE A PLAY/PAUSA
BTFSS BYTE2,2 ;SI SE PULSA L1
BCF CD32TX,4 ;EQUVALE A <<
BTFSS BYTE2,3 ;SI SE PULSA R1
BCF CD32TX,3 ;EQUVALE A >>
BTFSS BYTE2,4 ;SI SE PULSA TRIANGULO
BCF CD32TX,1 ;EQUVALE A AMARILLO
BTFSS BYTE2,7 ;SI SE PULSA CUADRADO
BCF CD32TX,2 ;EQUIVALE A VERDE
BTFSS BYTE2,6 ;SI SE PULSA (X)
BCF CD32TX,0 ;EQUIVALE A ROJO
BTFSC BYTE1,3 ;SI NO SE PULSA STAR
BSF CD32TX,5 ;EQUIVALE A PLAY/PAUSA
BTFSC BYTE2,2 ;SI NO SE PULSA L1
BSF CD32TX,4 ;EQUVALE A <<
BTFSC BYTE2,3 ;SI NO SE PULSA R1
BSF CD32TX,3 ;EQUVALE A >>
BTFSC BYTE2,4 ;SI NO SE PULSA TRIANGULO
BSF CD32TX,1 ;EQUVALE A AMARILLO
BTFSC BYTE2,7 ;SI NO SE PULSA CUADRADO
BSF CD32TX,2 ;EQUIVALE A VERDE
BTFSC BYTE2,6 ;SI NO SE PULSA (X)
BSF CD32TX,0 ;EQUIVALE A ROJO
MOVF CD32TX,W
MOVWF CD32TXB
RETURN
PUERTOS:
;ASIGNACION DE LAS PATILLAS DE I/O
BSF STATUS,RP0
BSF PORTA,DATA
BCF PORTA,COMM
BCF PORTA,CLK
BCF PORTA,ATT
BCF PORTB,FIRE0
BCF PORTB,FIRE1
BSF PORTB,FIRE2
BCF PORTB,UP
BCF PORTB,DOWN
BCF PORTB,LEFT
BCF PORTB,RIGHT
BCF OPTION,INTEDG
BSF OPTION,RBPU
BCF STATUS,RP0
RETURN
DEFECTO:
;ASIGNACION DE VALORES POR DEFECTO A REGISTROS Y PATILLAS
;INICIALIZACION DE INTERRUPCIONES
BSF PORTA,ATT
BSF PORTA,CLK
BSF PORTA,COMM
MOVLW 0X02
MOVWF FIREVEL
BCF INTCON,INTF
BSF INTCON,GIE
BSF INTCON,INTE
RETURN
DELAY:
MOVWF CONT1
LOOP1:
DECFSZ CONT1,F
GOTO LOOP1
RETURN
BIGDELAY:
MOVLW 0X0A
MOVWF CONT2
MOVLW 0X0A
LOOP2:
CALL DELAY
DECFSZ CONT2,F
GOTO LOOP2
RETURN
END
Logged
A500,A500+,A600,A1000,A1200,A2000,A3000,A4000,CDTV,CD32,A1,MacMini,R2HV,C64,48K,Ps,Ps2,Ps3
Xbox,Xbox360,Nes,Snes,N64,N64Ique,Gamecube,Wii,PcEngine,PcEngineGT,PcEngineDUO,TurboGrafx,NeoGeoAES
NeogeoCD,NeoGeoMVS,NeoGeoPocket,MegaDrive,SegaCD,MultiMega,Saturn,Dreamcast,Jaguar,Lynx,Cps1
Cps2,System11
ozkano
Uzman
Mesaj Sayısı: 3.510
Ynt: 16F84 yerine 16f628 kullanma
«
Yanıtla #4 :
Şubat 09, 2018, 10:52:12 ÖÖ »
her şey için teşekkürler, ayrıca code ne ile compile ederim
Logged
A500,A500+,A600,A1000,A1200,A2000,A3000,A4000,CDTV,CD32,A1,MacMini,R2HV,C64,48K,Ps,Ps2,Ps3
Xbox,Xbox360,Nes,Snes,N64,N64Ique,Gamecube,Wii,PcEngine,PcEngineGT,PcEngineDUO,TurboGrafx,NeoGeoAES
NeogeoCD,NeoGeoMVS,NeoGeoPocket,MegaDrive,SegaCD,MultiMega,Saturn,Dreamcast,Jaguar,Lynx,Cps1
Cps2,System11
yavuzg
Genel Yönetici
Mesaj Sayısı: 5.524
Ynt: 16F84 yerine 16f628 kullanma
«
Yanıtla #5 :
Şubat 09, 2018, 11:01:13 ÖÖ »
abi ben PIC'i bir iki projemde kullandım sadece. Birisi Naomi için nul pic yapmak amacıyla diğeri de scartcade projesinde. her ikisinde de MPLABX (resmi microchip compiler) kullandım (mışım). Sanırım microchip'in sitesinden indirmişim diye hatırlıyorum... özel bir konfigürasyona da kafa yorduğumu hatırlamıyorum, direk download, kurulum ve akabinde kodu build edebildim
Logged
SCARTCADE
NEO GEO
Elvira Pinball Restorasyon
yavuzg
Genel Yönetici
Mesaj Sayısı: 5.524
Ynt: 16F84 yerine 16f628 kullanma
«
Yanıtla #6 :
Şubat 09, 2018, 11:04:56 ÖÖ »
ahanda bu:
http://www.microchip.com/mplab/mplab-x-ide
benim laptop'da kurulu olan 2.35 sürümüymüş ama sanırım aynıdır kabaca
Logged
SCARTCADE
NEO GEO
Elvira Pinball Restorasyon
ozkano
Uzman
Mesaj Sayısı: 3.510
Ynt: 16F84 yerine 16f628 kullanma
«
Yanıtla #7 :
Şubat 09, 2018, 11:05:33 ÖÖ »
çok saol
kurup bi compile edeyim
Logged
A500,A500+,A600,A1000,A1200,A2000,A3000,A4000,CDTV,CD32,A1,MacMini,R2HV,C64,48K,Ps,Ps2,Ps3
Xbox,Xbox360,Nes,Snes,N64,N64Ique,Gamecube,Wii,PcEngine,PcEngineGT,PcEngineDUO,TurboGrafx,NeoGeoAES
NeogeoCD,NeoGeoMVS,NeoGeoPocket,MegaDrive,SegaCD,MultiMega,Saturn,Dreamcast,Jaguar,Lynx,Cps1
Cps2,System11
yavuzg
Genel Yönetici
Mesaj Sayısı: 5.524
Ynt: 16F84 yerine 16f628 kullanma
«
Yanıtla #8 :
Şubat 09, 2018, 11:07:50 ÖÖ »
Alıntı sahibi: ozkano üzerinde Şubat 09, 2018, 10:50:43 ÖÖ
;
; CREATED BY ACKMAN APPE V3c.0
;
; ADAPTADOR DE MANDO DE PSX PARA AMIGA CON EMULACION DE PAD CD32
; PROCESADOR PIC16F84/10 MHZ
;
;bug en la rutina de comunicacion con el pad solucionado...
;
DEVICE 16C84, XT_OSC, PROTECT_OFF, WDT_OFF
bak dediğim gibi, senin kodun da en başına yazmış eleman (daha doğrusu compiler koyuyor galiba onları) orayı elindeki malzemeye göre değiştirip yeniden build edersen sorunun çözülür herhalde.
Logged
SCARTCADE
NEO GEO
Elvira Pinball Restorasyon
yavuzg
Genel Yönetici
Mesaj Sayısı: 5.524
Ynt: 16F84 yerine 16f628 kullanma
«
Yanıtla #9 :
Şubat 09, 2018, 11:20:18 ÖÖ »
bir de hatırladığım, internal oscilator fabrika kalibrasyon bilgisinin silinmemesi için kodun başına bişey daha yazıyorduk.
şöyle bişey: "movwf osccal"
bunu bi google'la istersen...
Logged
SCARTCADE
NEO GEO
Elvira Pinball Restorasyon
Simon (Özay Turay)
Yönetici
Mesaj Sayısı: 6.916
Commodore Forever
Ynt: 16F84 yerine 16f628 kullanma
«
Yanıtla #10 :
Şubat 09, 2018, 15:27:58 ÖS »
Şu videoda biraz bahsediyor konfigürasyon'un nasıl yapılacağından.
Logged
http://www.retrodergi.com
-
http://www.e-turay.com
Retro: Commodore 64, Amiga 500, Amiga 1200
Retromsu: Wii, XBox360, XBox, PS3 Slim, PS2 FAT, PS1, PSP Slim, Nintendo DS Lite
i_r_on
Uzman
Mesaj Sayısı: 2.865
Ynt: 16F84 yerine 16f628 kullanma
«
Yanıtla #11 :
Şubat 09, 2018, 17:23:46 ÖS »
Internal osilatör hiç bir zaman hariçten bağladığın osilatörün hassasiyetini vermez. Hele assembly ile yazılmış timer interrupt kullanan ve/veya zamanlaması hassas operasyonlar yapan bir kod ile uğraşıyorsan beklediğin sonucu alamayabilirsin.
Internal osilatör'ün dış etmenlere toleransı hariciye göre daha kötü.
ps: Tabii denemekten zarar gelmez.
Logged
Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>
twitter
|
blog
ozkano
Uzman
Mesaj Sayısı: 3.510
Ynt: 16F84 yerine 16f628 kullanma
«
Yanıtla #12 :
Şubat 09, 2018, 18:23:13 ÖS »
Source u compile edemedim , compile edebilecek var mı
Logged
A500,A500+,A600,A1000,A1200,A2000,A3000,A4000,CDTV,CD32,A1,MacMini,R2HV,C64,48K,Ps,Ps2,Ps3
Xbox,Xbox360,Nes,Snes,N64,N64Ique,Gamecube,Wii,PcEngine,PcEngineGT,PcEngineDUO,TurboGrafx,NeoGeoAES
NeogeoCD,NeoGeoMVS,NeoGeoPocket,MegaDrive,SegaCD,MultiMega,Saturn,Dreamcast,Jaguar,Lynx,Cps1
Cps2,System11
Sayfa: [
1
]
Yukarı git
« önceki
sonraki »
Gitmek istediğiniz yer:
Gitmek istediğiniz yer:
-----------------------------
Genel Kategori
-----------------------------
=> Genel Sohbet
=> Proje
===> Proje Alım/Satım
=> DemoScene
=> Tanışma Forumu
-----------------------------
Commodore
-----------------------------
=> Commodore Genel
=> Commodore Yazılım
=> Commodore Donanım
===> C64DTV (C64 Direct-to-TV)
=> Commodore Yayınları
=> Commodore Emulasyon
-----------------------------
Amiga
-----------------------------
=> Amiga Genel
=> Amiga Yazılım
=> Amiga Donanım
=> Amiga Yayınları
=> Amiga Emülasyon
-----------------------------
Diğer Nostaljik Bilgisayarlar
-----------------------------
=> IBM Uyumlular / Retro x86 Sistemler
=> FPGA/ARM Sistemler
=> Amstrad
===> Amstrad - Genel
===> Amstrad - Yazılım
===> Amstrad - Donanım
===> Amstrad - Yayınlar
===> Amstrad - Emulasyon
=> Apple
===> Apple - Genel
===> Apple - Yazılım
===> Apple - Donanım
===> Apple - Emulasyon
=> Atari
===> Atari - Genel
===> Atari - Yazılım
===> Atari - Donanım
===> Atari - Emulasyon
=> MSX Uyumlular
===> MSX - Genel
===> MSX - Yazılım
===> MSX - Donanım
===> MSX - Emulasyon
=> Oric
===> Oric - Genel
===> Oric - Donanım
===> Oric - Yazılım
===> Oric - Emulasyon
=> Sinclair
===> Sinclair - Genel
===> Sinclair - Yazılım
===> Sinclair - Donanım
===> Sinclair - Emulasyon
=> Diğer Bilgisayarlar
-----------------------------
Arcade Sistemler ve Oyun Konsolları
-----------------------------
=> Arcade Sistemler
=> Oyun Konsolları