Merhaba, Ziyaretçi. Lütfen giriş yapın veya üye olun.

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.trGenel KategoriProjeIRQHack64 - EPROM Kullanan :) Prg Yükleyici Kartuş
Sayfa: 1 ... 7 8 [9] 10 11 ... 20   Aşağı git
Yazdır
Gönderen Konu: IRQHack64 - EPROM Kullanan :) Prg Yükleyici Kartuş  (Okunma Sayısı 229820 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #120 : Ekim 12, 2015, 23:08:03 ÖS »

Zaten şu menüyü SD karta atıp flash'ta yer açma olayını bir gün oturup güzelce anlattırıcam sana. Kahkaha


Sen arduino kodunu sd karta koyup oradan yükleyeceğimi düşünmüş olabilir misin? Öyle bir şey yok

Bahsettiğim menü kodu da bir c64 prg'si zaten, oyunlar nasıl transfer oluyorsa o da öyle transfer oluyor.
Logged

Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>

twitter | blog
Simon (Özay Turay)
Yönetici
*****
Mesaj Sayısı: 7.756


Commodore Forever


Üyelik Bilgileri WWW
« Yanıtla #121 : Ekim 13, 2015, 00:30:28 ÖÖ »

Sen arduino kodunu sd karta koyup oradan yükleyeceğimi düşünmüş olabilir misin? Öyle bir şey yok

Aynen öyle düşünmüştüm. Şimdi daha netleşti kafamda.
Logged

https://retrodergi.com - https://e-turay.com - https://karizmawow.e-turay.com

Retro: Commodore 64, Amiga 500, Amiga 1200
Retromsu: Wii, XBox360, XBox, PS3 Slim, PS2 FAT, PS1, PS Vita, Nintendo 3DS, Nintendo 2DS
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #122 : Ekim 13, 2015, 00:42:57 ÖÖ »

Sen arduino kodunu sd karta koyup oradan yükleyeceğimi düşünmüş olabilir misin? Öyle bir şey yok

Aynen öyle düşünmüştüm. Şimdi daha netleşti kafamda.

Olsaydı keşke Cpu'nun microcontroller'dan farkı işte. Uğraştığımız şey bir cpu olsaydı bir şekilde genişletme imkanımız olurdu. Bu atmega'lar Harward architecture kullanıyorlar ram'i bile kod saklamak için kullanamıyorsun.
Logged

Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>

twitter | blog
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #123 : Ekim 13, 2015, 00:51:10 ÖÖ »

Daha sağlam tüyo vereyim, Eprom'da aşağıdaki kod mevcut. (256 byte * 256 tane... Sadece iki lokasyondaki değer sırasıyla 0, 1, 2, 3 şeklinde değişiyor)


Kod:
CURRENT		= $02
DATA_LOW = $03
DATA_HIGH = $04
DATA_LENGTH = $05
RESERVED = $06
ACTUAL_LOW = $07
ACTUAL_HIGH = $08

BITTARGET = $64
CHROUT    = $FFD2
BORDER    = $D020
SCREEN    = $D021
TEXT   = $0286
NMI_LO   = $0318
NMI_HI   = $0319

*=$8000
START
.BYTE $09, $80 ; Cartridge cold-start vector = $8009
.BYTE $25, $80 ; Cartridge warm-start vector = $8025
.BYTE $C3, $C2, $CD, $38, $30 ; CBM8O - Autostart key

; KERNAL RESET ROUTINE
STX $D016 ; Turn on VIC for PAL / NTSC check
JSR $FDA3 ; IOINIT - Init CIA chips
JSR $FD50 ; RANTAM - Clear/test system RAM
JSR $FD15 ; RESTOR - Init KERNAL RAM vectors
JSR $FF5B ; CINT   - Init VIC and screen editor
CLI ; Re-enable IRQ interrupts

; BASIC RESET  Routine

JSR $E453 ; Init BASIC RAM vectors
JSR $E3BF ; Main BASIC RAM Init routine
JSR $E422 ; Power-up message / NEW command
LDX #$FB
TXS ; Reduce stack pointer for BASIC

    LDA #00 ; Change border colour to
    STA BORDER ; Pink
    LDA #147 ; PRINT CHR$(147)
    JSR CHROUT ; to clear Screen

        LDY #$7f    ; $7f = %01111111
        STY $dc0d    ; Turn off CIAs Timer interrupts
        STY $dd0d  ; Turn off CIAs Timer interrupts
        LDA $dc0d  ; cancel all CIA-IRQs in queue/unprocessed
        LDA $dd0d    ; cancel all CIA-IRQs in queue/unprocessed


LDA #$0B ;%00001011 ; Disable VIC display until the end of transfer
STA $D011

LDA #$37
STA $01 ; Do not Disable kernal & basic rom


; Change interrupt routines
ASL $D019
LDA #$00
STA $D01A

LDA #<STARTNMI
STA NMI_LO
LDA #>STARTNMI
STA NMI_HI

    LDA #01
    STA BORDER
   
CLI
LDY #$00
CLV
STY BITTARGET
WAIT
BIT BITTARGET
BVC WAIT
CLV

    LDA #02
    STA BORDER

LDA #$37 ;Restore default memory layout
STA $01

LDA #$1B ;%00011011 ; Enable VIC again
STA $D011

LDA #$81 ;%10000001 ; Enable CIA interrupts
STA $DC0D
LDA DATA_LOW
CMP #$01
BNE MACHINELANG
LDA DATA_HIGH
CMP #$08
BNE MACHINELANG

    LDA #03
    STA BORDER

JSR $A659 ;"CLR"
  JMP $A7AE ;"RUN"
 
MACHINELANG
    LDA #04
    STA BORDER
JMP (DATA_LOW) ; Leave control to loaded stuff

; Actual transfer routine

; Below code is used as a template. Code will be duplicated 256 times.
; Only change will be in the lines  LDA #$EA
; First block in the eprom will contain LDA #$00, next one LDA #$01 and LDA #$02, LDA #$03.. so on..

STARTNMI
    LDA #07
    STA BORDER
; Only initial meta 4 bytes will be transferred with this routine
P1
LDA #$EA ; #$EA is a template variable
STA DATA_LOW,Y
STA ACTUAL_LOW,Y
INY
CPY #$04
BNE OUT
LDA #<NMI
STA NMI_LO
LDY #$00
LDX DATA_LENGTH
    LDA #08
    STA BORDER

OUT
RTI

NMI ; Usual : 7 + 2 + 6 + 2 + 5 = 18 cycles per byte + 7 cycle overhead from Kernal
    INC BORDER
P2
LDA #$EA ; #$EA is a template variable
STA (ACTUAL_LOW), Y
INY
BEQ BLOCKEND
RTI

BLOCKEND
INC ACTUAL_HIGH ; Next 256 bytes
DEX ; Decrement data length (set in STARTNMI)
BEQ OUTBLOCK ; If all pages  transferred exit foreground loop
RTI
OUTBLOCK
LDA #$64
STA BITTARGET ; BIT on $64 will set overflow flag. We can't use
; self modifying code since this code is in rom.
RTI





;CHARARRAY
; .BYTE 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,  1, 2, 3, 4, 5, 6

*=$80FF
NOP
; Performance summary
; 44kb file is 176 blocks (4 * STARTNMI is insignificant)
; =~ 45056 NMI + 176 IRQ
; 45056 * (20 + 5) + 176 * 30 = 1.126.400 + 1.280 = 1.131.680 which translates to 1.15 seconds on a pal machine.

PLACEHOLDER1 = (P1 + 1) - START
PLACEHOLDER2 = (P2 + 1) - START
« Son Düzenleme: Ekim 13, 2015, 00:54:25 ÖÖ Gönderen: i_r_on » Logged

Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>

twitter | blog
Simon (Özay Turay)
Yönetici
*****
Mesaj Sayısı: 7.756


Commodore Forever


Üyelik Bilgileri WWW
« Yanıtla #124 : Ekim 13, 2015, 01:25:40 ÖÖ »

C64 yerine Arduino'ya bağladığın 8 EPROM hattı ile sanki 2^8=256 adet minik 256byte'lık EPROM'un varmış gibi at koşturuyorsun. Çok zekice.

Ayrıca bu koddaki şablon olarak kullandığın #$EA yerine koyduğun her minik 256byte'lık EPROM'da farklı değer aldığı için transfer edilen byte'ı böyle tespit ediyorsun sanırım. Bu daha da zekice. Kahkaha
Logged

https://retrodergi.com - https://e-turay.com - https://karizmawow.e-turay.com

Retro: Commodore 64, Amiga 500, Amiga 1200
Retromsu: Wii, XBox360, XBox, PS3 Slim, PS2 FAT, PS1, PS Vita, Nintendo 3DS, Nintendo 2DS
eins
Uzman
*****
Mesaj Sayısı: 1.816


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #125 : Ekim 13, 2015, 03:26:04 ÖÖ »

Olsaydı keşke Cpu'nun microcontroller'dan farkı işte. Uğraştığımız şey bir cpu olsaydı bir şekilde genişletme imkanımız olurdu. Bu atmega'lar Harward architecture kullanıyorlar ram'i bile kod saklamak için kullanamıyorsun.

Atmegalarla aram hiç yok, bilmiyorum ama PIC'ler kendilerini flashlayabiliyor. Bazı projelerde çalıştıracağım kodu mediadan okuyup, kodun o an çalışmakta olmayan bir bölgesini flashlayıp, oraya sıçrayıp çalıştırmışlığım var.

Atmega PIC tartışması açmak istemem ama bence PIC ler daha iyi Kahkaha
 
 
Logged

Doberman ♦ megaOne ♦ HDMI-64 ♦ HDMI-520 ♦ NewSchool
ibo1973
Uzman
*****
Mesaj Sayısı: 2.499


Üyelik Bilgileri
« Yanıtla #126 : Ekim 13, 2015, 11:22:58 ÖÖ »

Olsaydı keşke Cpu'nun microcontroller'dan farkı işte. Uğraştığımız şey bir cpu olsaydı bir şekilde genişletme imkanımız olurdu. Bu atmega'lar Harward architecture kullanıyorlar ram'i bile kod saklamak için kullanamıyorsun.

Atmegalarla aram hiç yok, bilmiyorum ama PIC'ler kendilerini flashlayabiliyor. Bazı projelerde çalıştıracağım kodu mediadan okuyup, kodun o an çalışmakta olmayan bir bölgesini flashlayıp, oraya sıçrayıp çalıştırmışlığım var.

Atmega PIC tartışması açmak istemem ama bence PIC ler daha iyi Kahkaha
 
 
bende tartışılıcak çok şey göremiyorum zaten pic atmega diye pic elbette çok daha iyi sade flaşlama değil kod koruma imkanlarıda daha geniş diye biliyorum pic kötü tarafı fiyatları başka kötü tarafı yok diye biliyorum atmega ya kıyasla.
Logged
Fatih Yıldırım
Deneyimli
*****
Mesaj Sayısı: 1.035



Üyelik Bilgileri WWW
« Yanıtla #127 : Ekim 13, 2015, 11:33:17 ÖÖ »

Ne kadar yoğun bir konu. Tepelerden inmiyor. Hiçbir şey anlamadım ama olsun. Kolay gelsin her ne ile uğraşıyorsanız.
Logged

i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #128 : Ekim 13, 2015, 22:06:21 ÖS »

Olsaydı keşke Cpu'nun microcontroller'dan farkı işte. Uğraştığımız şey bir cpu olsaydı bir şekilde genişletme imkanımız olurdu. Bu atmega'lar Harward architecture kullanıyorlar ram'i bile kod saklamak için kullanamıyorsun.

Atmegalarla aram hiç yok, bilmiyorum ama PIC'ler kendilerini flashlayabiliyor. Bazı projelerde çalıştıracağım kodu mediadan okuyup, kodun o an çalışmakta olmayan bir bölgesini flashlayıp, oraya sıçrayıp çalıştırmışlığım var.

Atmega PIC tartışması açmak istemem ama bence PIC ler daha iyi Kahkaha

Bunlar da flash'layabiliyorlar. Arduino'nun bootloader'ı bu haltı yiyor sonuçta. Aklıma geldi bir opsiyon olarak ama çok da mantıklı gelmedi.

Aslında bu işlere ben de pic'leri kullanarak başladım. TR'de popülaritesi daha fazla olsa gerek Üni'den arkadaşlar hobi olarak uğraşırlarken pic ile uğraşıyorlardı oradan bir kulak aşinalığı vardı. Başta Pic16f84 ile basit devrelerle başladım. 5-6 sene ara verdikten sonra sid player'ı yaparken de ilk seçimim 40 pinlik PIC16f877 ve PIC16F887 çipleri olmuştu. Hatta Pickit-2 ve Pickit-3 alıp debug bile yaptım bu çiplerde.

Gelgelelim benim gözümde AVR işlemcilerin üstünlüklerine. Geyik ve şakalaşma dışında asla bir Meta'nın fanboy'u olmadım onu belirteyim öncelikle.

PIC'in eksileri (sadece 8 bit'leri değerlendiriyorum),

1. Adam akıllı free bir geliştirme ortamı olmaması. Free versiyon kodu optimize etmiyor.

2. Birinci maddenin devamı, recursive koda izin vermiyor. Stack limitasyonundan dolayı.

3. Standartların ötesinde derleyicisi

4. Örnek projeler kısıtlı, nette kaynak bulmak güç.

AVR'nin avantajları
1. Arduino gibi fenomen olmuş bir hobi hareketinin ana taşıyıcısı olması. Arduino tek başına bu alanda bir piyasa yarattı.

2. 2 üniversite öğrencisi tarafından geliştirilmiş olması ve akademik çevrede tercih edilmesi. Basit herkesin uğraştığı işler dışında orijinal projelerde de çoklukla kullanılıyor bu yüzden.

3. Daha fazla flash / daha fazla sram.

4. Daha fazla hazır kütüphane daha fazla örnek proje

5. Arduino ve bootloader'ı sayesinde sadece seri bağlantı ile programlanabilmesi. PIC'te Max232 entegresi ile ayrı devre yapmak zorunda kalmıştım.

6. Ucuz geliştirme kartları. 5 tl Pro mini'lerin tanesi. (Üstteki madde ile birleştirilebilir)

7. Sonradan farkettiğim ve belki de en çok hoşuma gideni (her ne kadar assembly kullanmasam da) instruction mnemonic'lerinin 6502'ninkilere epey bir benzemesi.
Logged

Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>

twitter | blog
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #129 : Ekim 13, 2015, 22:08:48 ÖS »

C64 yerine Arduino'ya bağladığın 8 EPROM hattı ile sanki 2^8=256 adet minik 256byte'lık EPROM'un varmış gibi at koşturuyorsun. Çok zekice.

Ayrıca bu koddaki şablon olarak kullandığın #$EA yerine koyduğun her minik 256byte'lık EPROM'da farklı değer aldığı için transfer edilen byte'ı böyle tespit ediyorsun sanırım. Bu daha da zekice. Kahkaha

Evet aynen böyle. İsminde bu yüzden Hack geçiyor zaten
Logged

Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>

twitter | blog
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #130 : Ekim 14, 2015, 21:04:15 ÖS »

Doğru cevap tek kişiden geldi : Wizofwor  nick'li arkadaşımız soruyu doğru cevapladı.

Doğru cevap : Her bir renk şeriti Arduino'dan C64'e gönderilen 1 byte'ı ifade ediyor.
« Son Düzenleme: Ekim 14, 2015, 21:37:31 ÖS Gönderen: i_r_on » Logged

Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>

twitter | blog
Cengiz Demir
Uzman
*****
Mesaj Sayısı: 3.829



Üyelik Bilgileri
« Yanıtla #131 : Ekim 14, 2015, 21:28:29 ÖS »

Hayırlı olsun Wizofwor,  tebrik ederim
« Son Düzenleme: Ekim 15, 2015, 08:29:50 ÖÖ Gönderen: cdemir » Logged

wizofwor
Genel Yönetici
*****
Mesaj Sayısı: 4.785


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« Yanıtla #132 : Ekim 15, 2015, 09:58:51 ÖÖ »

Aslında zor bir soru değildi ama kimse kafa yormadı anlaşılan. Başka bilen biri çıkar diye bekledim ama çıkmadı.
Logged

Simon (Özay Turay)
Yönetici
*****
Mesaj Sayısı: 7.756


Commodore Forever


Üyelik Bilgileri WWW
« Yanıtla #133 : Ekim 15, 2015, 10:16:45 ÖÖ »

SD2IEC'in yanına kardeş geliyor desene.
Logged

https://retrodergi.com - https://e-turay.com - https://karizmawow.e-turay.com

Retro: Commodore 64, Amiga 500, Amiga 1200
Retromsu: Wii, XBox360, XBox, PS3 Slim, PS2 FAT, PS1, PS Vita, Nintendo 3DS, Nintendo 2DS
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #134 : Kasım 19, 2015, 10:55:12 ÖÖ »

Test için sipariş ettiğimiz ilk seri Özay'a ulaştı, Özay'ın ilk testler başarılı

Özay'ın monte ettiği bebeğin görüntüsü aşağıdaki şekilde,
 









* IRQHack64_03.jpg (543.67 KB, 1268x1521 - Görüntüleme: 32255 kez.)

* IRQHack64_02.jpg (395.83 KB, 1228x1536 - Görüntüleme: 31625 kez.)
Logged

Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>

twitter | blog
Sayfa: 1 ... 7 8 [9] 10 11 ... 20   Yukarı git
Yazdır
Gitmek istediğiniz yer: