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 Yazılımc64 te load edilen programı nasıl list ederiz?
Sayfa: [1] 2 3   Aşağı git
Yazdır
Gönderen Konu: c64 te load edilen programı nasıl list ederiz?  (Okunma Sayısı 31815 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
EMREZ
Deneyimli
*****
Mesaj Sayısı: 1.940



Üyelik Bilgileri
« : Ekim 28, 2006, 12:41:39 ÖS »

c64 te load edilen programı nasıl list ederiz arkadaşlar genelde yüklemeden sonra oyunlar ve programlarda yüklenen programı listeleyemiyorduk bunun bir yolu varmı?
Logged

this is amiga speaking.
kaplan135
Deneyimli
*****
Mesaj Sayısı: 512


üye


Üyelik Bilgileri
« Yanıtla #1 : Ekim 28, 2006, 22:44:34 ÖS »

gerek yok
list etsen sadece 1 satır sys 2060 vaya neyse
sys 2060 yazıyon başlıyon bu kadan bi işe yaramıyo list etsende basic bilgine gerek var artı bazı proğramlar korumalıdır makina dilinde kotlamaayı biliorsan ki bu imkansızdır oyunu çalıştıramazsın bi işe yaramaz load etsin yükle oyna
Logged

AMİGA COMMODORE ATARİ PS PANG SİNCLAİR NİTENDO SEGA MSX  VECTRECX
LW3D
Yönetici
*****
Mesaj Sayısı: 11.418


Günü Kurtaran Avam Hiooargggh :)


Üyelik Bilgileri WWW
« Yanıtla #2 : Ekim 28, 2006, 22:58:06 ÖS »

C64'de yüklenen oyunlar makina dilinde ya da başka bir değişle assembler ile yazılmış oyunlardır. Bu nedenle sadece bir satırdan oluşan bir liste ile karşılaşılır. Oyunun kendisi hafızadadır ve başlangıç adresinin tetiklenmesi gerekmektedir. O tetik işleminide LIST dediğimizde görünen ve genelde "10 SYS 2xxx" vb. satır başarır. Anlamı decimal olarak 2xxx adresindeki kodu çalıştırdır ve oyun çalışır.

Kısacası LIST komutuyla liste göremeyiz, çünkü ortada Basic dilinde yazılmış bir program yoktur. Basic dilinde olan sadece tetiklemeyi yapan satırdır. Makina dilinde ya da assemblerda yazılan kodları incelemek için ise dissassembler programları ya da monitor programları sağlar.

Benim bilgilerim bu şekilde. Belki yanlış eksik yerler vardır. Diğer arkadaşlar düzeltirse sevinirim..

Not: Peek, Poke komutlarıyla hafızayı okumak ve anlamlı sonuçlar üretmekte mümkün. Mesela oyundaki ingilizce bölümleri Türkçeye çevirmek gibi O zamanlar az hava atmamıştık. Bir ara bu konuya bir değiniriz..

« Son Düzenleme: Ekim 28, 2006, 23:00:01 ÖS Gönderen: LW3D » Logged

vigo
Ziyaretçi
« Yanıtla #3 : Ekim 29, 2006, 01:59:17 ÖÖ »

basic haricindeki hiç bişeyi LIST edemezsin...
0 SYS 49152

gibi bişi görürsen bu $C000 adresine git anlamına gelir.
kartuş'un var ise ve assembler biliyorsan, program run edildikten sonra, reset atarak hafızaya dalabilirsin. tabi o run ettiin program RESET VECTOR'ü kullanıp buna engel olmuyorsa...
Logged
zombi
Ziyaretçi
« Yanıtla #4 : Mayıs 01, 2007, 16:10:47 ÖS »

Ben bilmiyor olabileceğini düşünerek temel bir bilgi vereyim.

C64'de datasettlen yüklediğin programlar otomatik run edilir. Eğer ilgili interput kapatılmadıysa stop tuşuyla çalışmayı durdurabilirsin. List çekebilirsin ama arkadaşların dediği gibi bir satırlık bir BASIC kodu ancak görürsün.

Küçüklüğümde her oyunu durdurmaya çalışırdım. Stop'la durup da list edince basic kodu veren sadece iki oyuna rastlamıştım.

Eğer oyunları disketten yüklersen otomatik run etmez. Ama değişen birşey yok yine basic kodu yoktur.
Logged
Arda
Uzman
*****
Mesaj Sayısı: 2.326


I'm *the* guy from Argleton


Üyelik Bilgileri WWW
« Yanıtla #5 : Mayıs 02, 2007, 14:07:38 ÖS »

Eğer oyunları disketten yüklersen otomatik run etmez. Ama değişen birşey yok yine basic kodu yoktur.

Bunu da dün öğrendim, disketten yüklenen programı otomatik run etmenin hiçbir yolu yok mu peki?

Mesela, programı sistem değişkenlerinin üzerine yükleyerek bilgisayarın işleteceği bir sonraki instructionı programın başladığı yere yöneltmek mümkün değil mi?
Logged

LW3D
Yönetici
*****
Mesaj Sayısı: 11.418


Günü Kurtaran Avam Hiooargggh :)


Üyelik Bilgileri WWW
« Yanıtla #6 : Mayıs 02, 2007, 14:13:23 ÖS »

bende ne numaralar vardı yahu ama hepsini unuttum. Oyunları göya kırardım..kopyalardım..

Arda: yükleme komutunun sonuna :RUN gibi bir ek koyarsan otomatik çalışması lazım Hiç disket sürücüm olmadı , senin sorduğunda bu değildir ama olsun Kahkaha
Logged

zombi
Ziyaretçi
« Yanıtla #7 : Mayıs 02, 2007, 16:03:53 ÖS »

Şöyle bir trik düşünebiliriz. Programı veya oyunu kendimize özel bir algoritma ile crunch edersek, decruncher'ı da programın kodundan ayırıp bir loader ile birleştirsek.

Program direkt yüklenirse çalışmaz. Loader yüklenip run edildikten sonra programı yükler, decrunch eder sonra da çalıştırır. Nasıl?

Sallıyorum! Yanlışım varsa, forumdaki scenerlar düzeltsin...
Logged
Arda
Uzman
*****
Mesaj Sayısı: 2.326


I'm *the* guy from Argleton


Üyelik Bilgileri WWW
« Yanıtla #8 : Mayıs 02, 2007, 19:48:05 ÖS »

yok, C64 Basic'in sonraki statement'ı takip eden bir sistem değişkeni ya da program counter'ı falan var ise, diskette kayıtlı bilgi de sonraki statement'ı düzenleyen bir data ise, ve dolayısıyla yükleme bitince sıradaki komuta atlanacağı için otomatik olarak programın başladığı noktaya yönlendirilse, olmaz mı acaba?
Logged

murmuro
Üye
***
Mesaj Sayısı: 221


Üyelik Bilgileri
« Yanıtla #9 : Mayıs 02, 2007, 20:45:22 ÖS »

disketten yüklenen oyunun otomatikman run olması için komutun sonuna ",1" gibi bişey yazılıyodu galiba yanlış hatırlamıyorsam eğer.
Logged
nightlord
Uzman
*****
Mesaj Sayısı: 558



Üyelik Bilgileri WWW
« Yanıtla #10 : Mayıs 02, 2007, 21:46:53 ÖS »

yok, C64 Basic'in sonraki statement'ı takip eden bir sistem değişkeni ya da program counter'ı falan var ise, diskette kayıtlı bilgi de sonraki statement'ı düzenleyen bir data ise, ve dolayısıyla yükleme bitince sıradaki komuta atlanacağı için otomatik olarak programın başladığı noktaya yönlendirilse, olmaz mı acaba?

GEOS bunu yapabiliyordu diye hatirliyorum. yani disketten GEOS yuklemeye baslardiniz ve kendisi direk calisirdi
Logged
AmigAmigA
Uzman
*****
Mesaj Sayısı: 1.713


Mesaj Sayısı:978616432


Üyelik Bilgileri
« Yanıtla #11 : Mayıs 02, 2007, 22:01:03 ÖS »

load"xxx",8,1
Buradaki 1 run komutu yerine geçiyor bende öyle biliyorum
1'i yazmazsanız program yüklendikten sonra 'Ready.'de bekliyor.

Logged
zombi
Ziyaretçi
« Yanıtla #12 : Mayıs 03, 2007, 07:56:48 ÖÖ »

Benim bildiğim 1 dosyayı okuma amaçlı açtığınızı gösteriyor. Basic kitabı olsa idi elimde ne iyi olurdu.

1 okuma(read), 2 yazma(write), 3 ekleme yapmak(modify) olarak kalmış aklımda. 
Logged
Skate
Uzman
*****
Mesaj Sayısı: 1.479


A Sinner Scener


Üyelik Bilgileri WWW
« Yanıtla #13 : Mayıs 04, 2007, 00:47:29 ÖÖ »

load"xxx",8,1

programı yükler ancak run etmez, yine basic'den "run" yazmak gerekir. autorun için bu satırın sonunda return'e basmak yerine shift+runstop'a basmanız gerekir. böylece yükleme bittikten sonra program otomatik run edecektir.
Logged
Silencer
Ziyaretçi
« Yanıtla #14 : Mayıs 04, 2007, 22:36:23 ÖS »

Alıntı
shift+runstop

Bu trick ile oyun yüklemeyi bilmeyen commodore'cu da sanırım yoktur
Logged
Sayfa: [1] 2 3   Yukarı git
Yazdır
Gitmek istediğiniz yer: