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.trCommodoreCommodore DonanımCommodore 64 kartuşu yapabilirmiyiz?
Sayfa: 1 2 [3] 4 5 ... 9   Aşağı git
Yazdır
Gönderen Konu: Commodore 64 kartuşu yapabilirmiyiz?  (Okunma Sayısı 83620 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #30 : Temmuz 23, 2010, 15:44:38 ÖS »



Evet kapanmış, şu an aşağıdaki site satıyor ama o da out of stock olmuş, pre order alıyor.

http://www.retro-donald.de/

Yakın bir zaman içinde bir de yabancı bir forumda projeyi yapan eleman "şemaları yayınladık, inşallah birileri şemaları kullanıp üretime geçer" minvalinde bir şeyler yazmış. Takip etmek lazım.

Yine aynı forumda üstte linkini verdiğim retro donald için atılan maillere bir hafta içinde cevap veriyor falan demişler Olur da pre order yapmak isteyen olursa diye onu da belirteyim.

O da burada yer alıyor : http://www.lemon64.com/forum/viewtopic.php?t=34535
Logged

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

twitter | blog
LW3D
Yönetici
*****
Mesaj Sayısı: 11.417


Günü Kurtaran Avam Hiooargggh :)


Üyelik Bilgileri WWW
« Yanıtla #31 : Temmuz 23, 2010, 15:51:43 ÖS »

şemaları daha yeni yayınlamışlar... Ozkano...bu parçaları buradan toplamak mümkün mü? bu boardu nasıl basarız? varmı böyle bir imkan? neye ihtiyaç var?
Logged

ozkano
Uzman
*****
Mesaj Sayısı: 3.514



Üyelik Bilgileri WWW
« Yanıtla #32 : Temmuz 23, 2010, 16:54:37 ÖS »

parçaları kolay bulunacak turden, en zor kısmı pcb si bence
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
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #33 : Temmuz 25, 2010, 00:26:58 ÖÖ »

Bu arada bendeki multi ice'ı açıp baktım içinde 27256 UV ile silinebilen Eprom varmış.
256kB = 32 kbyte bir eprom

http://www.futurlec.com/Memory/27256-250.shtml

Ebay'de 1000 tanesini 400 dolardan veriyorlar :p
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.751


Commodore Forever


Üyelik Bilgileri WWW
« Yanıtla #34 : Temmuz 25, 2010, 00:36:34 ÖÖ »

Bu arada bendeki multi ice'ı açıp baktım içinde 27256 UV ile silinebilen Eprom varmış.
256kB = 32 kbyte bir eprom

http://www.futurlec.com/Memory/27256-250.shtml

Ebay'de 1000 tanesini 400 dolardan veriyorlar :p


Ustanın sözlerine kulak ver.

27c serisi yerine 29F serisi kullanmak çok daha mantıklı çünkü 29F flash olugundan istediğin gibi yazıp silersin


ayrıca pinleri uyum lu sadece 29F de WE (write enable) bunu +5 volt vereceksiniz
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 #35 : Temmuz 25, 2010, 00:57:40 ÖÖ »

Bu arada bendeki multi ice'ı açıp baktım içinde 27256 UV ile silinebilen Eprom varmış.
256kB = 32 kbyte bir eprom

http://www.futurlec.com/Memory/27256-250.shtml

Ebay'de 1000 tanesini 400 dolardan veriyorlar :p


Ustanın sözlerine kulak ver.

27c serisi yerine 29F serisi kullanmak çok daha mantıklı çünkü 29F flash olugundan istediğin gibi yazıp silersin



Yok ben ciddi söylemedim yav, zaten baktım UV olayı sakatmış, göze alacağın exposure ile sakatlanma, cilde alacağınla kanser riski falan var. Ama beri yandan da ucuz olmasından dolayı acaba demiyor değilim Sağlamcı olmaya kalkarsan güzel güneş ışığında 2 hafta da siliniyormuş. Deneme yanılma tarzı takılacağım için bana uymaz bu. Profesyonel eprom eraser ile de 15-20 dakika sürüyormuş, o da uymaz.

Alıntı
ayrıca pinleri uyum lu sadece 29F de WE (write enable) bunu +5 volt vereceksiniz



Aynen flash olayı daha mantıklı, hele de doğrudan eprom'u flash ile değiştirdiğimizde çalışacaksa. Kartuşlardan birinde epromu dil soket ile değiştirip daha sonra sök tak mantığı ile denemeler yapılabilir.

Pek tabii en güzeli easyflash olayı, crt dosyaları yaratıp emülatörde önce denenip, çalıştığına emin olunduğunda yazılabilir falan.
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.751


Commodore Forever


Üyelik Bilgileri WWW
« Yanıtla #36 : Temmuz 28, 2010, 10:44:10 ÖÖ »



Daha önce paylaştığım bu site yenilenmiş. Bizim forumdaki kartuş muhabbeti piyasayı canlandırdı galiba. Yabancılar tarafından izleniyormuyuz ne?

İyi haber 5$'a 8K kartuş PCB, 5$'a da 8K rom satıyorlar. Dokümanlar da iyi.

http://c64zone.alphaworks.com.au/downloads/documents/CartDoc.pdf

http://c64zone.alphaworks.com.au/Documents.htm

http://c64zone.alphaworks.com.au/store.htm
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
wizofwor
Genel Yönetici
*****
Mesaj Sayısı: 4.782


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« Yanıtla #37 : Temmuz 28, 2010, 11:00:39 ÖÖ »

Bu arada bendeki multi ice'ı açıp baktım içinde 27256 UV ile silinebilen Eprom varmış.
256kB = 32 kbyte bir eprom

http://www.futurlec.com/Memory/27256-250.shtml

Ebay'de 1000 tanesini 400 dolardan veriyorlar :p



Freeze kartuşlar biraz daha karmaşık değil mi. Sonuçta sistem belleği kaybolmuyor. Kartuştaki veri sistem belleğine aktarılmıyor.
Logged

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


Commodore Forever


Üyelik Bilgileri WWW
« Yanıtla #38 : Temmuz 28, 2010, 11:03:23 ÖÖ »

Kartuşlarla ilgili faydalı bilgiler içeren bu siteler de var.

http://www.z80.eu/cartridges.html

http://www.mayhem64.co.uk/main.htm

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
Simon (Özay Turay)
Yönetici
*****
Mesaj Sayısı: 7.751


Commodore Forever


Üyelik Bilgileri WWW
« Yanıtla #39 : Temmuz 28, 2010, 11:09:04 ÖÖ »

Freeze kartuşlar biraz daha karmaşık değil mi. Sonuçta sistem belleği kaybolmuyor. Kartuştaki veri sistem belleğine aktarılmıyor.

Freeze kartuşlar sanırım sisteme soft reset yapıp (belleğin silinmemesi için) kontrolü ele alıyorlar.

Ayrıca kartuştaki veri zaten hiçbir zaman sistem belleğine aktarılmıyor. Örneğin 8K'lık kartuşlar için sadece kartuştaki ROM $8000 adresine map ediliyor. Yani sistem bu adresten okumaya çalıştığında sistemdeki RAM değil kartuştaki ROM okunuyor veya program işletiliyor.

Expansion slotundaki EXROM (9 nolu pin) bacağı toprağa bağlanırsa ROML (11 nolu pin) bacağı ve ilgili data bacaklarının bağlı olduğu EPROM $8000 adresine map ediliyormuş. Bakınız http://c64zone.alphaworks.com.au/downloads/documents/CartDoc.pdf
« Son Düzenleme: Temmuz 28, 2010, 11:11:45 ÖÖ Gönderen: Özay Turay » 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
wizofwor
Genel Yönetici
*****
Mesaj Sayısı: 4.782


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« Yanıtla #40 : Temmuz 28, 2010, 11:14:44 ÖÖ »

Freeze kartuşlar biraz daha karmaşık değil mi. Sonuçta sistem belleği kaybolmuyor. Kartuştaki veri sistem belleğine aktarılmıyor.

Freeze kartuşlar sanırım sisteme soft reset yapıp (belleğin silinmemesi için) kontrolü ele alıyorlar.

Ayrıca kartuştaki veri zaten hiçbir zaman sistem belleğine aktarılmıyor. Örneğin 8K'lık kartuşlar için sadece kartuştaki ROM $8000 adresine map ediliyor. Yani sistem bu adresten okumaya çalıştığında sistemdeki RAM değil kartuştaki ROM okunuyor veya program işletiliyor.

Expansion slotundaki EXROM (9 nolu pin) bacağı toprağa bağlanırsa ROML (11 nolu pin) bacağı ve ilgili data bacaklarının bağlı olduğu EPROM $8000 adresine map ediliyormuş. Bakınız http://c64zone.alphaworks.com.au/downloads/documents/CartDoc.pdf


Bu durumda kartuştaki ROM'un altında kalan adres kartuş tarafından erişilemez olmaz mı? Kartuşla her türü oyun kırılabildiğine göre sistem belleğine hiç dokunmuyor olması lazım. Konuyu araştırıyorum.
Logged

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


Commodore Forever


Üyelik Bilgileri WWW
« Yanıtla #41 : Temmuz 28, 2010, 11:16:58 ÖÖ »

Sorunun cevabı bank switching anahtar kelimelerinden geçiyor. LS serisi logic entegrelerle RAM ve ROM arasında geçiş yapılabilir, tabi programda uygun zamanlama şart. Yoksa ROM'a erişmesi gereken anda RAM'e erişirse saçma sapan bir komut uygulanıp program kilitlenir muhtemelen.
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
wizofwor
Genel Yönetici
*****
Mesaj Sayısı: 4.782


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« Yanıtla #42 : Temmuz 28, 2010, 11:30:32 ÖÖ »

Zaten 64'ün kendi tasarımında gerekmediği zaman ROM'u kaldırıp altındaki RAM'i kullanma olayı var. Bu sanırım bank switching ile mümkün oluyor. Ama işte belli bir adres aralığını kartuşataki ROM'a verince bu ROM'un altında kalan RAM'a kartuş nasıl ulaşacak.

Çünkü bu freeze kartuşlarla memory dump'tan tut hex edit'e kadar her nane yapılıyor. Her oyunla da çalışıyor.
Logged

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



Üyelik Bilgileri WWW
« Yanıtla #43 : Temmuz 28, 2010, 13:38:06 ÖS »

Muhtemelen her zaman boş olması muhtemel bir alanda çalışan bir parçası oluyordur... Kaset buffer'ı diye bir yer vardı mesela.. Sonra da hafızaya 01 adresinden map edilmiş io portu üstünden ram/rom konfigürasyonunu switch ederek işini yapıyordur. (Tahmin sadece)
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.751


Commodore Forever


Üyelik Bilgileri WWW
« Yanıtla #44 : Temmuz 28, 2010, 14:17:58 ÖS »

Bu 01 adresi ne RAM'de ne ROM'da CPU'nun içinde (Zero Page) yanlış hatırlamıyorsam. Çok ilginç bir tasarım. En düşük seviyeli üç bitine yazılan değere göre RAM ve ROM geçişi yapılabiliyor.

Mapping The Commodore 64'e göre:

1             $1             R6510

Bit 0: LORAM signal.  Selects ROM or RAM at 40960 ($A000).  1=BASIC, 0=RAM
Bit 1: HIRAM signal.  Selects ROM or RAM at 57344 ($E000).  1=Kernal, 0=RAM
Bit 2: CHAREN signal.  Selects character ROM or I/O devices.  1=I/O, 0=ROM
Bit 3: Cassette Data Output line.
Bit 4: Cassette Switch Sense.  Reads 0 if a button is pressed, 1 if not.
Bit 5: Cassette Motor Switch Control.  A 1 turns the motor on, 0 turns it off.
Bits 6-7: Not connected--no function presently defined.

The chief function of this register is to determine which blocks of
RAM and ROM the 6510 microprocessor will address.  The Commodore 64
comes with 64K RAM, even though it normally does not use all of that
RAM at once.  In addition, it has an 8K BASIC Interpreter ROM, an 8K
Operating System Kernal ROM, a 4K Character Generator ROM, a Sound
Interface Device (SID), a 6566 Video Interface Controller (VIC-II),
and two 6526 Complex Interface adapter chips.

To address all of these at once would require 88K, 24K past the
addressing limit of the 6510 microprocessor.  In order to allocate
address space, the I/O Port is used to affect the addressing lines,
and thus determine which segments of RAM and ROM will be addressed at
any one time.

Bit 0.  This bit controls the LORAM signal.  A 0 in this bit position
switches the BASIC ROM out, and replaces it with RAM at addresses
40960-49151 ($A000-$BFFF).  The default value of this bit is 1.

Bit 1.  Bit 1 controls the HIRAM signal.  A 0 in this bit position
switches the Kernal ROM out, and replaces it with RAM at 57344-65535
($E000-$FFFF).  As the BASIC interpreter uses the Kernal, it is also
switched out and replaced by RAM.  The default value of this bit is 1.

The system allows a wide range of combinations of RAM and ROM to be
utilized.  Of course, the BASIC programmer will have little need, in
the ordinary course of events, to switch out the BASIC ROM and the
Kernal.  To do so would just hang the system up.  But one way to make
use of this feature is to move the contents of ROM to the
corresponding RAM addresses.  That way, you can easily modify and
customize the BASIC interpreter and OS Kernal routines, which are
ordinarily fixed in ROM.  For examples, to move BASIC into RAM, just
type:

FOR I=40960 TO 49151:POKE I,PEEK(I):NEXT

Though it appears that such a program would not do anything, it in
fact copies bytes from ROM to RAM.  This is because any data which is
written to a ROM location is stored in the RAM which resides at the
same address.  So while you are PEEKing ROM, you are POKEing RAM.  To
switch to your RAM copy of BASIC, type in:

POKE 1,PEEK(1) AND 254.

Now you are ready to make modifications.  Examples of simple
modifications include changing the text which the interpreter prints,
such as the READY prompt, the power-up message, or the keyword table.

An example of the latter would be POKE 41122,69.  This changes the FOR
keyword to FER, so that BASIC would respond normally to a FER-NEXT
loop, but fail to recognize FOR as syntactically correct.

On the more practical side, you could change the prompt that INPUT
issues to a colon, rather than a question mark:

POKE 43846,58

You are not limited to just cosmetic changes of text.  Jim Butterfield
has given an example in COMPUTE! magazine of changing the interpreter
so that it assigns a null string the ASCII value 0.  In the ROM
version, the command PRINT ASC("") will return ?ILLEGAL QUANTITY
ERROR.  This is inconvenient when INPUTting a string, because if the
user presses RETURN and you try to check the ASCII value of the string
that has been entered, you will get this error.  By entering POKE
46991,5, this is changed so that PRINT ASC("") now responds with a
zero.

For the more serious machine language programmer, it is quite feasible
to add new commands or modify existing ones by diverting the vectors
which are discussed in the section covering the BASIC interpreter ROM.
For a good example of this technique, see the article "Hi-Res Graphics
Made Simple" by Paul Schatz in COMPUTE!'s First Book of Commodore 64
Sound and Graphics.  The program example there inserts new graphics
commands into a RAM version of BASIC.  When you want to switch back to
the ROM BASIC, enter POKE 1,PEEK(1) OR 1.

For machine language applications, it would be possible to replace the
ROM programs with an entirely different operating system, or an
application that has its own screen editing and I/O functions
included.  Such an application would first have to be loaded from disk
into RAM.  A language other than BASIC could be loaded, and could then
just switch out the BASIC ROM, while still using the OS Kernal.

Or a spreadsheet application that contained its own I/O routines could
switch out all ROMs and have the use of all of RAM that is not
actually needed for the program itself, for data.  It should be
remembered, however, that before switching the Kernal out, it is
necessary to disable interrupts, as the vectors for these interrupts
are contained in the Kernal.

Bit 2.  This bit controls the CHAREN signal.  A 0 in this position
switches the character generator ROM in, so that it can be read by the
6510 at addresses 53248-57343 ($D000-$DFFF).  Normally, this bit is
set to 1, so that while the VIC-II chip has access to the character
generator ROM for purposes of creating the screen display, the user
cannot PEEK into it.  Since this ROM is switched into the system in
the same location as the I/O devices (SID chip, VIC-II chip, and 6526
CIA's), o I/O can occur when this ROM is switched in.

The ability to switch in the character generator ROM is very useful to
the programmer who wishes to expirement with user-defined characters.
Modified character graphics is one of the  more powerful graphics
tools available, but often the user will not want to redefine a whole
character set at one time.  By reading the character ROM and
duplicating its contents in RAM, the user can replace only a few
characters in the set.  The method for reading this ROM into RAM from
BASIC is as follows:

10 POKE 56333,127:POKE1,PEEK(1) AND 251:FOR I=0 TO 2048
20 POKE BASE+I,PEEK(53248+I):NEXT:POKE 1,PEEK(1) OR 4:POKE 56333,129

The first POKE is necessary to turn off the system timer interrupt.
Since the I/O devices are addressed in the same space as the character
ROM, switching that ROM in switches all I/O out, making it necessary
to turn off any interrupts which use these devices.

The second POKE is the one which switches in the character ROM.  The
program loop then reads this ROM memory into RAM, starting with the
address BASE.  Note that this address should start on an even 2K
boundary (an address evenly divisible by 2048) within the block of
memory presently being addresses by the VIC-II chip (for more
information on where to put user-defined character sets, and how to
use them, see the section on the VIC-II chip, under location 53272
($D018), the section on the character ROM at 49152 ($C000), and the
section on banking VIC-II memory at 56576 ($DD00)).  After reading the
contents of ROM into RAM, the next POKEs switch out the character ROM
and restore the interrupt.

It should be noted that while Bits 0-2 of this register allow software
control of some signals that determine the memory configuration that
is used by the Commodore 64 at any given time, they are not the only
determining factor.  Signals can also be generated by means of plug-in
expansion cartridges which are connected to the expansion port, and
these can change the memory map.

Two lines located on the exapansion port are called GAME and EXROM.
When used in conjunction with the software-controlled lines noted
above, these two hardware lines can enable cartridge ROM to replace
various segments of ROM and/or RAM.

Possible configurations include 8K of cartridge ROM to be switched in
at $8000-$9FFF, for a BASIC enhancement program; an 8K cartridge ROM
at $A000-$BFFF, replacing BASIC, or at $E000-$FFFF, replacing the
Kernal, or a 16k cartridge at $8000-$C000.

When cartridge ROM is selected to replace the Kernal, a Max emulator
mode is entered, which mimics the specification of the ill-fated Max
Machine, a game machine which Commodore never produced for sale int he
U.S.  In this mode, only the first 6K of RAM are used, there is no
access to the character ROM, and graphics data such as charactger
dot-data is mapped down from 57344 ($E000) to 8192 ($2000).  Further
hardware information may be obtained from the Commodore 64
Programmer's Reference Guide.


Kaynak: Project 64 Miscellaneous Dox - Mapping The Commodore 64 [TEXT] [PDF]
« Son Düzenleme: Temmuz 28, 2010, 14:28:16 ÖS Gönderen: Özay Turay » 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
Sayfa: 1 2 [3] 4 5 ... 9   Yukarı git
Yazdır
Gitmek istediğiniz yer: