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



Üyelik Bilgileri
« Yanıtla #105 : Ekim 12, 2015, 02:02:25 ÖÖ »

Visual studio kullanmışsın iron hangi dili kullanıyosun c64 için
Logged

Amiga ölmedi, efsane uyuyor
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #106 : Ekim 12, 2015, 02:09:11 ÖÖ »

Visual studio kullanmışsın iron hangi dili kullanıyosun c64 için

C64 tarafı pek tabii assembly ancak bu seri transfer programını c# ile Visual Studio kullanarak yazdım. Çok basit bir program aslında .net sağolsun. Program arduino ile seri olarak haberleşiyor, normalde zaten seri bağlantı üstünden bu devreyi kumanda edebiliyordum. Burada tek fark ben doğrudan girdiyi vermiyorum da yazmış olduğum program veriyor. Bu programla Pc'de tek bir batch dosya ile c64 kodunu derleyip, peşinden de test için c64'e gönderebilirsin.

Kod:
using System;
using System.Threading;
using System.IO.Ports;
using System.IO;

namespace IRQHackSend
{
    class Program
    {

        static void Receive(SerialPort port)
        {
            Console.Out.WriteLine();
            Console.Out.Write(">>> Transmission from micro start");
            Console.Out.WriteLine();
            while (port.BytesToRead>0)
            {
                int character = port.ReadChar();
                Console.Out.Write((char)character);
            }
            Console.Out.WriteLine();
            Console.Out.Write("<<< Transmission from micro ends");
            Console.Out.WriteLine();
        }


        static void SendFile(string prgFile, string comPort)
        {
            SerialPort port = new SerialPort();
            port.BaudRate = 57600;
            port.DataBits = 8;
            port.StopBits = StopBits.One;
            port.RtsEnable = false;
            port.Parity = Parity.None;
            port.PortName = comPort;

            try
            {
                port.Open();
            }
            catch (Exception ex)
            {
                Console.Out.WriteLine("Port open failed!");
                throw ex;
            }

            byte[] fileContents;

            try
            {
                fileContents = File.ReadAllBytes(prgFile);
            }
            catch (Exception ex)
            {
                Console.Out.WriteLine("Failed reading file!");
                throw ex;
            }

            Receive(port);

            if (fileContents.Length > 65535) throw new Exception("File is too long!");

            Console.Out.WriteLine(String.Format("{0} is opened", comPort));
            Console.Out.WriteLine("Waiting arduino to initialize");
            Thread.Sleep(2000); //Wait arduino to come alive.
            port.Write(new char[] { '1' }, 0, 1); //Send 1 byte command '1'
            Console.Out.WriteLine("Send ReceiveFile command");
            //Wait as much as 2 seconds for the c64 to reset and the circuit to receive what we are
            //sending


            Receive(port);

            Console.Out.WriteLine("Waiting for C64 to reset");
            Thread.Sleep(2100);

            //Send length of prg file
            byte low = (byte)(fileContents.Length % 256);
            byte high = (byte)(fileContents.Length / 256);

            port.Write(new byte[] { low, high }, 0, 2);

            for (int i = 0; i < 2; i++)
            {
                port.Write(new byte[] { fileContents[i] }, 0, 1);
                if (i % 32 == 0)
                {
                    Thread.Sleep(10);
                }

            }

            for (int i = 2; i < fileContents.Length; i++)
            {
                port.Write(new byte[] { fileContents[i] }, 0, 1);
                if (i%32 == 0)
                {
                    Thread.Sleep(10);
                }
               
            }

            Receive(port);
            Thread.Sleep(100);
            Receive(port);
            Thread.Sleep(10000);
            port.Close();

            Console.ReadLine();
        }


        static void OpenMenu(string comPort)
        {
            SerialPort port = new SerialPort();
            port.BaudRate = 57600;
            port.DataBits = 8;
            port.StopBits = StopBits.One;
            port.RtsEnable = false;
            port.Parity = Parity.None;
            port.PortName = comPort;

            try
            {
                port.Open();
            }
            catch (Exception ex)
            {
                Console.Out.WriteLine("Port open failed!");
                throw ex;
            }

            Receive(port);

            Console.Out.WriteLine(String.Format("{0} is opened", comPort));

            port.Write(new char[] { '2' }, 0, 1); //Send 1 byte command '1'
            Console.Out.WriteLine("Send OpenMenu command");
 
            Receive(port);

            port.Close();

            Console.ReadLine();
        }

        static void Main(string[] args)
        {
            string prgFile = args[0];
            string comPort = args[1];

            SendFile(prgFile, comPort);
            //OpenMenu(comPort);
        }
    }
}


Yarışma olayını bir daha yazayım da arada kaynamasın.

Ufak bir de yarışma düzenliyorum. Size üretildiğinde bir adet IRQHack64 kazanma fırsatı. Eğlenceli bir sorusu var, yarın akşam saat 18:00'a kadar doğru cevap verenlerin arasından yapılacak çekiliş ile şanslı kişi belli olacak.

Soru şu : IRQHack64 C64'e program gönderirken ekranda çıkan şeritler neyi ifade ediyor?

Cevapları lütfen PM ile gönderin.
« Son Düzenleme: Ekim 12, 2015, 02:12:02 ÖÖ 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
AmigaMan
Deneyimli
*****
Mesaj Sayısı: 634



Üyelik Bilgileri
« Yanıtla #107 : Ekim 12, 2015, 02:15:07 ÖÖ »

Teşekkürler iron paylaşım için
Logged

Amiga ölmedi, efsane uyuyor
Simon (Özay Turay)
Yönetici
*****
Mesaj Sayısı: 7.751


Commodore Forever


Üyelik Bilgileri WWW
« Yanıtla #108 : Ekim 12, 2015, 13:55:11 ÖS »

Tasarımda son durum:

* Ön yüzde olsa ters durmak zorunda kalacak olan MicroSD modülü arka tarafa aldım. Böylece kutulu veya kutusuz kullanımda daha ergonomik oldu. Kutusuz kullanımda üstten çıkma olmasını istemeyenler MicroSD modülün 90 derece eğik pinlerini düzeltip direk lehimleyerek PCB ile aynı hizaya getirebilirler.

* MicroSD modül arkaya gidince Commodore Open Source logosu ve IRQHack64 yazısı için sol üst köşede güzel bir yer açılmış oldu.

* Tek sıra 90 derece dişi pin header bulunamazsa diye hem tek hem çift sıraya imkan veren çift ıralı tasarımdan vazgeçtim, böyle direk daha sade oldu. Zaten elde çift sıra 90 derece dişi pin header varsa üst sırasının içi sökülerek lehimlenebilir.

« Son Düzenleme: Ekim 12, 2015, 14:11:43 ÖS Gönderen: Simon (Ö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
AmigaMan
Deneyimli
*****
Mesaj Sayısı: 634



Üyelik Bilgileri
« Yanıtla #109 : Ekim 12, 2015, 13:57:39 ÖS »

Simon ben ikitane alayım epromlu olsun listeye yazarsın teşekkürler
Logged

Amiga ölmedi, efsane uyuyor
cihangirabi
Üye
***
Mesaj Sayısı: 115



Üyelik Bilgileri
« Yanıtla #110 : Ekim 12, 2015, 14:12:02 ÖS »

mümkünse bende 1 tane istiyorum epromlu olaraky
Logged
ibo1973
Uzman
*****
Mesaj Sayısı: 2.498


Üyelik Bilgileri
« Yanıtla #111 : Ekim 12, 2015, 16:26:37 ÖS »

güzel olmuş
Logged
i_r_on
Uzman
*****
Mesaj Sayısı: 2.873



Üyelik Bilgileri WWW
« Yanıtla #112 : Ekim 12, 2015, 21:17:26 ÖS »

@Ozay : böyle daha derli toplu olmuş. Artık ufaktan üretime geçelim.

Bu arada yarışmada doğru cevabı bilen çıkmadı. Süreyi Çarşamba akşamına kadar uzatıyorum.
Logged

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

twitter | blog
Geos
Üye
****
Mesaj Sayısı: 315



Üyelik Bilgileri
« Yanıtla #113 : Ekim 12, 2015, 21:42:42 ÖS »

özay bunun üzerine birde wifi koyarsan süper
Logged
Simon (Özay Turay)
Yönetici
*****
Mesaj Sayısı: 7.751


Commodore Forever


Üyelik Bilgileri WWW
« Yanıtla #114 : Ekim 12, 2015, 22:07:50 ÖS »

Simon ben ikitane alayım epromlu olsun listeye yazarsın teşekkürler
Bir o aşamaya gelsin de konuşulur. Ama bu sefer ilk partide gelen PCB sayısı az olacak boyutlardan ötürü. Ney

mümkünse bende 1 tane istiyorum epromlu olaraky
Zaten mecbur EPROM'lu olacak çünkü bu sefer bütün işi yapan i_r_on'un EPROM'daki C64 yazılımı ve Arduino'daki firmware'i.

güzel olmuş
Teşekkürler abi, elimden geldiğince.

Bu arada yarışmada doğru cevabı bilen çıkmadı. Süreyi Çarşamba akşamına kadar uzatıyorum.
Yanılmıyorsam çok basit bir mantığı var ve 16 ile kalansız bölme içeriyor.

özay bunun üzerine birde wifi koyarsan süper
Vall i_r_on WiFi desteği eklerse ben de bir yerlere sıkıştırırım ESP8266 modülünü. Kahkaha


@i_r_on: aslında fena fikir değil, USB-TTL'i çıkarıp yerine bir ESP8266 koyulabilir, o da seri haberleşme yapabiliyor nasılsa. Masum
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 #115 : Ekim 12, 2015, 22:19:25 ÖS »

Yeni yeni mecralara atmayın beni

Tam da d64'ten diskete transfer için şöyle açıklamalı kodları bulunan bir fastload fastsave rutini arıyordum

Bu arada düşündüm de Last Ninja benim devrede de mümkün, ama Metallic'inkine oranla daha fazla kod gömebilmeliyim oyun harici kısımlara.

Şimdi,

1. Wireless (seri haberleşme hızı sd karttan yavaş onu söyleyeyim)
2. Sd karttaki D64 dosyayı diske yazma
3. Last Ninja

Hangi özelliği istersiniz?
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 #116 : Ekim 12, 2015, 22:26:29 ÖS »

Her kartuş bir gün Last Ninja'yı tadacaktır. Benim dandik KissCart64'ler (cyborg olanı saymıyorum) hariç. Kahkaha

Bu arada D64 browsing var mı özelliklerde, ya da eklemeyi düşünüyor musun?
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 #117 : Ekim 12, 2015, 22:46:37 ÖS »

Her kartuş bir gün Last Ninja'yı tadacaktır. Benim dandik KissCart64'ler (cyborg olanı saymıyorum) hariç. Kahkaha

Bu arada D64 browsing var mı özelliklerde, ya da eklemeyi düşünüyor musun?

D64 browsing bana pek mantıklı gelmedi. Zaten içindeki prg'yi açacaksın. Çok amele bir kullanım şekli var, bir tane prg'yi atıyorlar D64'ün içine yayınlıyorlar.

İçinde birden fazla prg olan D64 dosyalar da azımsanmayacak kadar çok denirse düşünülebilir. Open source implementasyonlarına bakmadım ama yaparsak flash'ı biraz zorlayabiliriz ama yine de yetebilir koyulacak son özelliklerden biri bu olursa.

Aslında eprom'daki transfer kodu c64 kodu ile de kullanılabildiği için pek çok şey yapılabilir. Sıkıntı arduino üstündeki flash hafızanın kısıtlı olması. C64 tarafında çalışacak kod kısmı için böyle bir kısıt yok, sd kartın içine atılıp oradan okunabilir.
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 #118 : Ekim 12, 2015, 23:01:19 ÖS »

Yanılmıyorsam çok basit bir mantığı var ve 16 ile kalansız bölme içeriyor.

O işin başka boyutu, zaten mod yapmana gerek yok vic'in $D020 register'ının açıklamasına bakarsan. Benim kastettiğim başka bir şey. Bir tüyo vereyim : İlk yayınladığım videolarla sonrakileri kıyaslayın.
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 #119 : Ekim 12, 2015, 23:04:13 Ö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

Bu arada butonu A5'ten A4'e çevirdim bile.
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 ... 6 7 [8] 9 10 ... 20   Yukarı git
Yazdır
Gitmek istediğiniz yer: