Gönderen Konu: bu ne yaahuuu  (Okunma sayısı 5126 defa)

bu ne yaahuuu

« : 05.11.2005 22:35:27 »
Hızlı düğmeleri aç

vigo


  • Ziyaretçi

bu ne yaahuuu

« Yanıtla #1 : 05.11.2005 23:16:34 »
Hızlı düğmeleri aç

spaztica

İleti: 1.493

Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
The RAM in this unit is not directly available to the computer for running
programs but can be used as a very fast temporary storage device. When you turn off the computer you lose all contents of the REU. Resetting the computer with a reset switch will not erase the contents of the REU!

bi nevi silinmeyen Ram-disk...

bu ne yaahuuu

« Yanıtla #2 : 06.11.2005 03:15:15 »
Hızlı düğmeleri aç

skate

İleti: 5.245

A Sinner Scener
Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.akaydin.com/
Hiç elime REU geçmemiş olsa da hakkında hemen herşeyi okudum ve nasıl kullanacağımı iyi biliyorum. Hatta Hadeslere realtime clock hardwareı kastırdığım sıralarda bir REU satın alıp bunu realtime clockla birleştirerek adam akıllı bir işletim sistemi yazma projem vardı. Ancak bu işletim sistemi Geos'dan daha kullanışsız ve coderlara özel olacaktı. Geos = Windows ise benim proje Linux olacaktı bir nevi... REU'nun en güzel kullanım biçimi disk processingi sıfıra indirmesiyle ortaya çıkıyor. Örnek olarak bir müzik/grafik collection ya da bir demonun tüm datalarını REU'ya yüklüyorsun (uzun bir yükleme olabilir bu tabii ki, yüklenip yüklenip transfer edilmesi gerekiyor bir de), sonra yalnızca hafıza transferlerine kalıyor iş. Çizim programları için de çok güzel ufuklar açıyor. IFLI gibi bir grafik modeunda REU ile swap screen özelliği konulabilir ve AMICA PAINT benzeri bir "diğer ekran datasıyla pattern fill" özelliği eklenebilir bla bla...

bu ne yaahuuu

« Yanıtla #3 : 06.11.2005 11:28:05 »
Hızlı düğmeleri aç

hades

İleti: 214

Çevrimdışı
  • ***
  • Full Member
    • Profili Görüntüle
Merak etme Skate. Hayalindeki projeyi gerçekleştirmeye başlamana az kaldı. Borçlarım biraz hafifleyince 2006'nın ikinci çeyreğinde hardware projemin PCB'sini yaptıracağım ve beraber kod kasacağız. Projemin PCB çizimi hazır ama numune bir pcb yaptırmak için 100€+KDV'yi gözden çıkarmam gerekiyor. 3-4 ay içinde bu extra harcamayı yapacak durumum yok. Neyse projemin genel yapısı şöyle.

Yazacaklarım biraz karışık olabilir şimdiden söyleyeyim.

$DE00-$DEFF (veya bir jumper ile $DF00-$DFFF) arası her biri 16 byte genişliğinde bir bölgeyi adreslemekte kullanılacak 16 adet /CS işaretine ayrılıyor. İlk /CS işareti ($DE00-$DE0F) projedeki hardware'i kontrol etmek için kullanılıyor. Geri kalan $DE10-$DEFF arasına ait 15 adet /CS işareti bir konnektöre taşınıyor. Konnektörde ayrıca D0...D7 data bus, A0..A3 adres bus (16 byte adresleyebilmek için), R/WR, /RST, phi2 gibi işaretler bulunmakta. Dolayısı ile bu konnektör üzerinden adreslenebilir birçok hardware eklentisi yapılabilir.

$DE00-$DE0F arasının ayrıntılarına geçmeden önce kart üzerinde neler var yazayım.

512K'lık SRAM
512K'lık FLASH EPROM
RTC
RTC için 4 digitlik display (güzel bir software ile disk access sırasında track/sector bilgileri, hex olarak programın start-end adresleri ve uzunluğu vs. gösterilerbilir. Hatta yeni bir OS ile disket BAM üzerinde uygun bir yere file date, time bilgileri vs. kaydedilip c64 tarafında bu bilgiler okunup displayde gösterilebilir)
3x8 bitlik Input/Output port (LCD display bağlanabilir, PC interface yapılabilir vs..)

Yukarıdakilerin kontrolu için 2 adet 82C55 entegre.

8 bitlik IDE interface ayrıca ileride MMC/SD card bağlantısı için kullanmak üzere bir kaç port.

Gelelim bütün bunları nasıl adreslendiğine. Önce biraz teori tabiiki :)

1 : expansion slotdaki /XROM hattı lojik "0" yapılırsa bağlanırsa C64 $8000-$9FFF arasını kartuş bölgesi olarak ayırır ve expansion slotdaki /ROML hattını lojik "0" seviyesine çeker. Böylece expansion slota takılmış olan bir hardware kontrol edilebilir.
2 : $DE00-$DEFF veya $DF00-$DFFF arasındaki bir adrese yapılacak okuma/yazma işlemi sırasında expansion slotdaki /IO1 veya /IO2 hatları lojik "0" yapılır.

Yukarıdaki iki teoriyi bildikten sonra C64 için yeni hardware tasarlamak basitleşir.

Şİmdi Ayrıntılar....

$DE00-$DE03 : 1. 82C55 entegresinin registerleri (1 tane kontrol, 3 tane port registeri vardır)

PORT A :

bit 0 : A13 adres hattı
bit 1 : A14
bit 2 : A15
bit 3 : A16
bit 4 : A17
bit 5 : A18

Yukarıdaki 6 bit ile Flashın veya Sram'ın adres hatlarını kontrol ederek 512K yı 8K'lık 64 adet BANK olarak seçebiliyoruz ve seçtiğimiz Bank $8000-$9FFF arasında aktif oluyor. (bu seçme işlemini c64'te başka bir adreste çalışan -alt- rutin ile yapmak lazım)

bit 6 : Eprom / sram select

bit 6 "0" ise eprom, "1" ise ram seçiliyor.


bit 7 : Card memory disable/enable

bit 7 "0" ise $8000-$9FFF arası normal şeklinde C64'e ait, "1" ise kart üzerindeki memorye ayrılıyor.

bit 7'nin kullanılması biraz sorun çıkarabilir. Zira "0" yaptığımızda /XROM hattı "1" yapılıyor ve dolayısı ile /ROML hattı "1" oluyor. Bunun sonucunda kart üzerindeki eprom/ram devre dışı kalmış oluyor. Eğer o anda flash veya sram üzerinde bir program çalışıyorsa c64 kilitlenebilir. Eski haline getirmek için c64'ün resetlenmesi (korkmayın kart üzerine reset buton var :)) gerekiyor. Eğer normal olarak çıkıldıysa bir poke komutu ile flashı veya sram'ı istenilen bank seçilerek aktif hale getirmek mümkün. (POKE PORT_A,128 ile flash bank 0 aktif yapılabilir). flash veya sram disable olsa bile c64'e yüklenecek başka programlar ile kendi  rutinlerinizle rtc, ide vs.  kullanmaya devam edebilirsiniz.

PORT B :

RTC ve diğer bilgileri göstereceğimiz display için segment data çıkışları

PORT C :

bit 0 ve bit 1  display için multiplex display scan çıkışları.

bit 2 : RTC entegresi için /RTS çıkışı. "0" olusa rtc'ye erişim yapılabilir.
bit 3 : RTC için /SCL çıkışı

NOT : bit 2 ve bit 3 yer değiştirmiş olabilir. Aklımda yanlış kalmış olabilir.

bit 4 : RTC için /SDA bağlantısı. Bağlantının yönü RTC'ye erişim sırasında  yani read/write durumuna göre 82C55'in kontrol registeri ile değiştirilrcek.

bit 5-6-7 : gelecekteki uygulamalar için kart kenarında bir konnektöre taşınmış durumda. Aynı zamanda /SCL ve /SDA hatlarıda aynı konnektöre taşınmış durumda. Bu konnektördeki bağlantılarla MMC/SD kart interface tasarlanabilir.



$DE04-$DE07 : 2. 82C55 entegresinin registerleri.

Tamamen kullanıcıya bırakılmış 3 adet 8 bitlik IO portu var ve bunlarla LCD display vs. bağlantısı yapılabilir.


$DE08-$DE0F :

8 bitlik ide interface bölgesi.


Bayramdan önce işyerinde PCB'yi basmayı denedim olmadı. İncecik yollar ve çift taraflı olması işimi zorlaştırdı. Ancak 3-5 ay sonra ilk prototipi yaptırınca code kasacağım. HI3S elemanlarından Shadow'un User porttan yaptığı ve çalıştırdığı RTC devresinin codeları elimde.
Multiplex display scan rutini basit. Tek zorlanacağım konu flash eproma yazma rutini gibi gözüküyor.

C64 açıldığında ekranda bir menü olacak. Menüde flash içine save edilen programların isimleri olacak ve seçilen program hangi banka save edildiyse oradan okunup C64'eün asıl belleğine aktarılacak. 0. Bankta bir tür bios olacak-rtc setup, ide access, flashın diğer banklarına program save etmek vs.. tool ler bulunacak.

Şimdi bu kart ile ilgili olarak hayallerinizi serbest bırakın.

Skate sen şimdiden başla bir OS kodlamaya. :)

bu ne yaahuuu

« Yanıtla #4 : 06.11.2005 11:47:06 »
Hızlı düğmeleri aç

eirik

İleti: 312

Çevrimdışı
  • ****
  • Sr. Member
    • Profili Görüntüle
    • http://localhost/
@hades : burayI biliyor musun ?
http://www.olimex.com/pcb/

olimex bulgaristanda bi $irket. eagle cad ile cizilmi$ iki yuzeyli 16*10 bi baskI devre kart ba$Inda 33$ a yapiliyor ve tabii ki bi tane kart bile istesen sipari$i kabul ediyorlar. min. 100 tane yaptirmak zorunda degilsin (dogal olarak) , posta ile gonderisi de >10$ civarInda. ama eagle cad ile hazirlanmami$ olursa ustune biraz ekliyorlar diger programlardan cevirmek icin sanIrIm, ayrintilar sayfada var.

bir de merak ettim senin baskI devreyi hazirlattigin yer istanbulda mI, istanbuldaysa nerede? benim de bi tane isa kartim var pcad ile cizdigim bi turlu eagle a donu$turemedigim icin olimex e gonderemedim

bu ne yaahuuu

« Yanıtla #5 : 06.11.2005 12:09:49 »
Hızlı düğmeleri aç

hades

İleti: 214

Çevrimdışı
  • ***
  • Full Member
    • Profili Görüntüle
Alıntı
Originally posted by eirik@Nov 6 2005, 11:47 AM
@hades : burayI biliyor musun ?
http://www.olimex.com/pcb/

olimex bulgaristanda bi $irket. eagle cad ile cizilmi$ iki yuzeyli 16*10 bi baskI devre kart ba$Inda 33$ a yapiliyor ve tabii ki bi tane kart bile istesen sipari$i kabul ediyorlar. min. 100 tane yaptirmak zorunda degilsin (dogal olarak) , posta ile gonderisi de >10$ civarInda. ama eagle cad ile hazirlanmami$ olursa ustune biraz ekliyorlar diger programlardan cevirmek icin sanIrIm, ayrintilar sayfada var.

bir de merak ettim senin baskI devreyi hazirlattigin yer istanbulda mI, istanbuldaysa nerede? benim de bi tane isa kartim var pcad ile cizdigim bi turlu eagle a donu$turemedigim icin olimex e gonderemedim
[post=2703]Quoted post[/post]
[/b]

şirketin pcb leri yaptırdığı bir firma var. pendikte baskıdevre isimli bir firma.
ben işyerinde 98 kullandığım için çizimlerimi boardmaker ile yapıyorum. Şimdiye kadar şirket için yaptığım çizimlerde bir sorun çıkmadı.

http://www.baskidevre.com/

bu ne yaahuuu

« Yanıtla #6 : 06.11.2005 13:04:29 »
Hızlı düğmeleri aç

vigo


  • Ziyaretçi
ya gençler, enerjinizi mmc64 e harcasanız? :)

bu ne yaahuuu

« Yanıtla #7 : 06.11.2005 20:33:43 »
Hızlı düğmeleri aç

skate

İleti: 5.245

A Sinner Scener
Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.akaydin.com/
Alıntı
Originally posted by vigo@Nov 6 2005, 01:04 PM
ya gençler, enerjinizi mmc64 e harcasanız? :)
[post=2705]Quoted post[/post]
[/b]

MMC64'e yeterince enerji harcayan var. Söz konusu proje MMC64 çıkmadan önce ortaya atılmış bir fikir. MMC64 support elbette ki eklenecektir OS'e o ayrı :)

bu ne yaahuuu

« Yanıtla #8 : 06.11.2005 20:37:32 »
Hızlı düğmeleri aç

skate

İleti: 5.245

A Sinner Scener
Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.akaydin.com/
Hades: Yapı oldukça güzel gözüküyor ancak 512 KB'ı 8x64'ün yanı sıra opsiyonel olarak 16x32 kullanabilsek süper olur (eğer olabilirse). Zaman zaman banklık blokların kullanımı gerekebilir. Örnek olarak bank switching ile SHIFLI gibi bir mode üzerinde değişik şeyler yapmak mümkün olabilir. Ancak 8KB'lık banklar buna izin vermez. Teknik olarak 16 KB'lık bank mümkün müdür? Mümkünse $8000-$9fff kartuş alanının yer aldığı bankta olması şart mıdır? Yani $4000-$8000'i kullanamaz mı?

bu ne yaahuuu

« Yanıtla #9 : 06.11.2005 20:42:26 »
Hızlı düğmeleri aç

hades

İleti: 214

Çevrimdışı
  • ***
  • Full Member
    • Profili Görüntüle
Alıntı
Originally posted by vigo@Nov 6 2005, 01:04 PM
ya gençler, enerjinizi mmc64 e harcasanız? :)
[post=2705]Quoted post[/post]
[/b]

aşağıdaki dökümanı hatim edersek :) bizde mmc64 yapabiliriz.

http://www.sandisk.com/pdf/oem/SD_SDIO_specsv1.pdf

bu ne yaahuuu

« Yanıtla #10 : 06.11.2005 21:15:18 »
Hızlı düğmeleri aç

hades

İleti: 214

Çevrimdışı
  • ***
  • Full Member
    • Profili Görüntüle
Alıntı
Originally posted by skate@Nov 6 2005, 08:37 PM
Hades: Yapı oldukça güzel gözüküyor ancak 512 KB'ı 8x64'ün yanı sıra opsiyonel olarak 16x32 kullanabilsek süper olur (eğer olabilirse). Zaman zaman banklık blokların kullanımı gerekebilir. Örnek olarak bank switching ile SHIFLI gibi bir mode üzerinde değişik şeyler yapmak mümkün olabilir. Ancak 8KB'lık banklar buna izin vermez. Teknik olarak 16 KB'lık bank mümkün müdür? Mümkünse $8000-$9fff kartuş alanının yer aldığı bankta olması şart mıdır? Yani $4000-$8000'i kullanamaz mı?
[post=2732]Quoted post[/post]
[/b]

Projedeki 8K'lık banklardan iki tanesinden bilgiler okunarak C64'ün içine akatrıldıktan sonra reu disable edilirse senin dediğin değişiklik mümkün olabilir.

Bir başka opsiyon ise 2. 82C55 tarafından kontrol edilen ve CPU tarafından erişilemeyen bir bellek kullanmak olabilir. PORT_A : Data bus, PORT_B : Multiplex olarak A0---A7, A8---A15 Adres bus ve PORT_C'nin 2 biti R/WR, Multiplex için Latch Enable işareti için kullanılabilir. Geri kalan 6 bitin  3 tanesi A16,A17 ve A18 adres hatları için kullanılır. son 3 biti ile 3 giriş-8 çıkışlı decode entegresi  kontrol edilerek 8 tane 512K'lık SRAM seçilebilir. Böylece 4MB'lik bir Ram bize hizmet eder. Hatta böyle bir devreyi kullanmak için kartuş bölgesini işgal etmeye bile gerek yok. Sadece bir adres decoder devresi ile $DE00-$DEFF veya $DF00-$DFFF arasında kullanacağımız 4 adres ile işimiz tamam olur.

Hatta bir başka opsiyon ise USER PORT'taki çıkışları kullanarak kontrol edilebilen Bir RAM card devresi olabilir. Bu proje biraz daha karışık duruyor :)

Aslında expansion slotda yeralan /GAME hattı lojik "0" yapılırsa -ki sonucunda /ROMH çıkışı "0" olur ve bu seferde $A000-BFFF arası kartuşa ayrılmış olur. Tabii bu durumda normalde bu adresler arasındaki Basıc Rom devre dışı kalmalı diye düşünüyorum.
Teknik olarak 16K lık bank mümkündür. $8000-$BFFF arası kartuşa ayrılmış olur veya başka bir hardware tarafından kontrol edilebilen Ram Pack olabilir.

Kafamdaki bir başka projede tamamen senin dedğin gibi $4000-$8000 arasında anahtarlanabilen bir Ram yapısı var.

Hatta başka bir projede $0000-$8000 arasında yer alan 32K'lık modüller halinde anahtarlanabilen REU olacak. Tek sorun $0000-$0800 arasının her seferinde yeni seçilen bank'a transfer edilmesi olarak gözüküyor.

Şimdilik birer fantazi olarak gözükebilir.

bu ne yaahuuu

« Yanıtla #11 : 06.11.2005 21:27:25 »
Hızlı düğmeleri aç

eirik

İleti: 312

Çevrimdışı
  • ****
  • Sr. Member
    • Profili Görüntüle
    • http://localhost/
Alıntı
ben işyerinde 98 kullandığım için çizimlerimi boardmaker ile yapıyorum.

cok saol:) boardmaker i kullanmi$tim cizim icin, ama pcad e gectikten sonra bIrakamadIm. boardmaker guzel ama pcad in autoroute ozelligi var, (belki sonradan boardmaker'a da eklenmi$tir) $u bacak $u bacaga $u pin buna baglanacak diyip autorouter i acInca cift tarafLI olarak yollarI hemen hazirliyor. ozellik tek tarafLi hazirlanabilecek gereksiz yere ikinci tarafa gectigi icin kullani$siz. (bu arada yollarIn otomatik hazirlanmasInI izlemek de defragmantasyon izlemek gibi:) ) eger ilgini cekerse tavsiye ederim. bir de programIn orjinal versiyonunda devre elemanlarInIn yerlerini de kendisi ayarlayan bi ozellik (plug in olabilir crackli versiyonunda yok) eger devre elemanInIn yeri yolu engelliyorsa yerini degi$tiriyor. ayrica acIkcasI herhangi bi cad programIna gore cok kolay ogrendim, sadece pcb icin oldugundan fazla ozelligi yok.

bu ne yaahuuu

« Yanıtla #12 : 06.11.2005 21:44:20 »
Hızlı düğmeleri aç

hades

İleti: 214

Çevrimdışı
  • ***
  • Full Member
    • Profili Görüntüle
@eirik:
Boardmakerin win32 versiyonu var. demo versiyonunu kullanmayı denedim ama beceremedim. Aynı şekilde eagle'yi denedim. Zor geldi resmen.
neredeyse 10 senedir boardmakerle çizim yapıyorum. Elim okadar alıştıki başkasını kullanamıyorum. Hatta sırf boardmaker kullanabilmek için evdeki pc'de xp'yi silip 98 kurmayı bile düşündüm :)

Bu arada autorouter işi aslında güzel bir olay ama bana ters geliyor. Her hattı elle çizmek, nereden geçirsem diye düşünmek daha zevkli :)

bu ne yaahuuu

« Yanıtla #13 : 07.10.2007 23:59:19 »
Hızlı düğmeleri aç

Siber55

İleti: 1

Çevrimdışı
  • *
  • Newbie
    • Profili Görüntüle
abicim sen bosuna 98 kurmayı düsünmüssün al sana board makerin xp de calısan versiyonu :)
 
http://www.bafrakent.somee.com/BM.rar