|
EMREZ
|
 |
« : 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
|
 |
« 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
|
 |
« 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
|
 |
« 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
|
 |
« 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 
|
|
|
|
|
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
|
 |
« 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
|
 |
« 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
|
 |
« 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
|
 |
« 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
|
 |
« 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 » |
|
shift+runstop Bu trick ile oyun yüklemeyi bilmeyen commodore'cu da sanırım yoktur 
|
|
|
|
|
Logged
|
|
|
|
|