Apple II'de oyun geliştirme nasıldı? [kapalı]


14

Bir süre önce DOS gelişimi hakkında benzer bir soru sordum ve mükemmel bir cevap aldım: DOS oyun geliştirme için tipik araç zinciri neydi?

Şimdi 70'lerin sonunda / 80'lerin başında Apple II'de oyun geliştirmenin nasıl bir şey olduğunu merak ediyorum. Ben esas olarak ilk olanlar ile ilgileniyorum: II ve II +, ama ben de IIe vb.

Sorularım işte burada:

Hangi diller kullanıldı?

6502 toplayıcı olduğunu düşünüyorum, ancak BASIC paketlenmiş ve muhtemelen de çok kullanılmış. BASIC ile yazılmış popüler oyunları düşünebilir misiniz? C ne dersin?

6502 montajcı gelişimi nasıldı?

Sistem monitörünü başlatırsanız op kodlarını doğrudan girebileceğinizi ve hatta montajcıyı doğrudan mini montajcı ile çalıştırabileceğinizi fark ettim. Ama oyunların böyle yazıldığını düşünemiyorum, editörler / IDE'ler var mıydı? Programlar disklerde / bantlarda nasıl saklandı?

BASIC gelişimi nasıldı?

Apple II BASIC yorumlayıcısı yarı kötü değil, sanırım buraya tam programlar yazabilirsiniz. Ayrıca programları KAYDETMEK / YÜKLEMEK, disk / teyp sanırım. Ama görsel bir editör yok muydu?

Herhangi bir API veya Ara katman yazılımı var mıydı?

Yoksa bir şey çizmek veya bir ses çalmak istiyorsanız her zaman doğrudan donanımla konuşmak gerekli miydi? Hiç kütüphane var mıydı?

Bugünden farklı başka bir şey var mı?

Görüntü / ses formatlarının kullanıldığı gibi diğer farklılıkları duymaktan memnuniyet duyarım. Doğru anladığımda gerçekten bir dosya kavramı olmadığı göz önüne alındığında, bunun nasıl çalıştığını merak ediyorum. Montajcıya grafiklerinizi ve seslerinizi yazmak zorunda kaldınız mı? BASIC'te bu nasıl çalıştı?


Michael Abrash'in Grafik Kara Kitabına giriş John Carmack tarafından yazılmıştır ve grafik yapmanın ne kadar kolay olduğunu anlatıyor - sadece bir çizim komutu yaptınız ve otomatik olarak değişecekti. 80'lerde onunla oynadığımı hatırladığım kadarıyla, bu aramaları doğrudan BASIC üzerinden yapabilirsiniz.
Philip

Bunu başka bir yere bağladım ama ... yine de, Jordan Mechner Pers Prensi'nin Apple II versiyonu için kaynak kodunu yayınladı . Bu senin için ilginç olabilir!
Laurent Couvidou

Apple II'nin en önemli tuhaflıklarından biri, grafiklerin doğrudan bellek eşlemesi olmamasıydı; bunun yerine, sistem, bellekte 0 satırını izleyen satırın satır 1 değil, satır 64 olduğu garip bir tür harmanlanmış sistem kullandı; daha sonra satır 128 bellekte bunu izledi ve ancak bundan sonra satır 1 belirdi. Bu yüzden Apple II oyunlarında garip 'üç bantlı' yükleme efektlerini görüyorsunuz.
Steven Stadnicki

Yanıtlar:


5

Apple'da (profesyonel olarak değil, ama öğrendiğim şey) ve Applesoft BASIC ve montajcıda hobiciler için nerede olduğu hakkında çok fazla programlama yaptım. Diğer diller mevcuttu - Logo yaygındı, Pascal her yerde hakkında yazılmıştı ama onu kullanan kimseyi bilmiyorum, Apple IIGS için Orca C'ye kadar C'nin herhangi bir Apple platformunda kullanıldığını gerçekten bilmiyordum, bir Forth vardı etrafında yüzen kaplumbağa tarzı (veya Logo tarzı olarak adlandırın) grafiklere sahip tercüman.

Bazı sorularınıza ve ardından temel fikirlere değineceğim:

BASIC ile yazılmış popüler oyunları düşünebilir misiniz? C ne dersin?

BASIC'de sadece Applesoft BASIC değil, aynı zamanda Integer BASIC (adından da anlaşılacağı gibi kayan nokta numaraları bulunmayan) birçok shareware yazılmıştır. Eamon serisi akla geliyor, ama başkalarını gerçekten düşünemiyorum. Ayrıca, Beagle Bros. tarafından yazılan bir çok yazılım BASIC'te yapıldı (çoğunlukla oyunlar değil, yardımcı programlar).

Yine de çoğu ticari yazılımın montajcıda yazıldığına inanıyorum.

Ama oyunların böyle yazıldığını düşünemiyorum, editörler / IDE'ler var mıydı? Programlar disklerde / bantlarda nasıl saklandı?

Merlin Assembler'ı kullandım, ona IDE demek olabilir, ama işe yaradı. Söylediğiniz gibi sistem monitörüne düşüp opcode girip oradan koşabilirsiniz. Merlin'in sistem monitöründen geri dönebileceğiniz bir yolu vardı (şimdi nasıl hatırlayacağımı).

Ama görsel bir editör yok muydu?

Applesoft ortamını biraz daha iyi hale getiren ve ekranda gezinmek ve görsel bir editör gibi düzenlemeler yapmak için oklarınızı kullanmanıza izin veren üçüncü taraf bir araç vardı (bir satırın sonunda geri dönmek zorunda kaldınız veya değişiklikler yapışmaz). Bunun ne olduğunu hatırlayamıyorum, biraz kullandım.

Yoksa bir şey çizmek veya bir ses çalmak istiyorsanız her zaman doğrudan donanımla konuşmak gerekli miydi? Hiç kütüphane var mıydı?

Apple II + / IIe / IIc'de neredeyse sadece donanımla konuşuyordunuz. ROM'da kullanabileceğiniz birkaç program vardı ama çok sınırlıydı ve genellikle PEEK ve POKE'yi çeşitli bellek konumlarını, örneğin grafik modlarını değiştirmek, hoparlörleri tetiklemek için 49152'yi dürtmek için istediğinizi yapmak üzere kayıtlarını değiştirmek için kullanırsınız. .

Apple IIGS'de ROM, süslü GUI'ler ve neyin yapılmaması için Macintosh'un geldiği şeye benzer bir kütüphane paketi ile geldi. ROM'lar zaman içinde güncellendi ve daha yeni kitaplıklar kullanan bir sistem diski yüklediyseniz, ROM yerine diskten okurlar ve önyükleme süresinin GERÇEKTEN YAVAŞÇA olmasına neden olurlar. ROM 01, 02 ve 03 vardı ve 02 -> 03 ücretsiz bir yükseltme idi ve 01'den önce 01'e ücretsiz yükseltme yapacakları bir sürüm vardı.

Görüntü / ses formatlarının kullanıldığı gibi diğer farklılıkları duymaktan memnuniyet duyarım. Doğru anladığımda gerçekten bir dosya kavramı olmadığı göz önüne alındığında, bunun nasıl çalıştığını merak ediyorum. Montajcıya grafiklerinizi ve seslerinizi yazmak zorunda kaldınız mı? BASIC'te bu nasıl çalıştı?

Dosyalar vardı, bununla ne demek istediğinizden emin değilim ve ProDOS destekli dizinleri daha az (önceki DOS yoktu ama yine de tanıyacağınız bir dosya kavramı vardı). Bitmapler ve .pcx'ler kullandım. II + / IIe / IIc serisinde herhangi bir ses dosyasını hatırlamıyorum, ancak bunun nedeni video oyunu blipslerinden ve bloklarından daha gürültülü bir ses çıkarmaktı. Süslü sesler çıkaran bazı hackler vardı (özellikle Gun N 'Roses oynayan bir diskim vardı), ama neredeyse her zaman dilbilgisi ile yapıldı.

Modern ortamlarla karşılaştırıldığında, düpedüz ilkeldi. Ancak unutmayın, aynı anda birden fazla program çalıştırmak için destek yoktu, bu yüzden derleyiciniz de editörünüzün etkili bir şekilde olması gerekiyordu - vi ve emacs'ın faydalarını gerçekten tartışamazdınız, bu yüzden derleyiciniz size ne verirse verin, kullanmayı öğrendin. Kitaplıklara yığılmış kütüphaneleri kullanmaktan çok daha kolay olduğunu düşünüyorum ve donanım için çalışıyorsanız ve ne olduğunu biliyorsanız çok fazla hile var. Örneğin, "bir an için duraklama" nın yaygın bir uygulaması (int i = 0; i <1000; i ++) "(şu anda hiç kullanılmayan BASIC'te farklıdır) için" idi, çünkü donanım çok hızlı büyük bir sayıya ihtiyacım var ve olmasa bile, farklı makinelerde çalıştırılacaktı, bu yüzden farklı insanlar için farklı bir duraklama olurdu (II +, IIe,

Tüm bunlar bellekten, bunu yazarken herhangi bir referansa bakmadım, bu yüzden hafızam arızalıysa özür dilerim ve size yanlış şeyler söyledim. Ama umarım bu size biraz tat verir ve birkaç sorunuza cevap verir.


4

Hangi diller kullanıldı?

Çoğu için 6502, nadiren C (Aztek), birçok BASIC, bazı Pascal (Apple Pascal).

6502 montajcı gelişimi nasıldı?

6502 için oldukça düzgün montajcılar ve araçlar vardı: Orca / M, Merlin, artı daha sonraki günlerde uzaktan hata ayıklamak için Apple'a bir PC ve seri bağlantı üzerinde geliştirmek mümkün oldu. Beagle Bros. yardımcı programlarını unutmayalım. Düzenleme + derleme + çalıştırma, dünya asla değişmez ;-)

BASIC gelişimi nasıldı?

Görsel düzenleyici yok, sadece başlangıçta BASIC tamponu ile etkileşime girmenizi sağlayan bir konsol. Ancak, Beagle Bros., ağrının çoğunu ortadan kaldıran birkaç sihirli yardımcı programa sahipti. Ve daha sonra yazmanız için en azından satır tabanlı bir editör gibi davranacak kabuklar vardı. BASIC'inizi çok daha hızlı çalışan bir montaj ikili dosyasına (tek yönlü yolculuk) indirebilecek bir araç (Expediter 2) vardı.

Herhangi bir API veya Ara katman yazılımı var mıydı?

Bazıları vardı, ama çoğunlukla çok sıkı bir kapsam vardı, bugün SDK dediğiniz gibi bir şey yoktu. Dürüst olalım, 48K'da genel amaçlı bir API ödeyemezsiniz. Sonraki günlerde tıkırtı macera oyunları, kiremit tabanlı oyunlar,

Bugünden farklı başka bir şey var mı?

Her şey ve hiçbir şey. Uygulamalar aynı kalır, araçlar daha iyi hale gelir.


-1

Native Basic Interpreter: Bir program yazarken her satırı numaralandırmalı, kodunuzu girmeli ve enter tuşuna basmalısınız. Temel bir program şöyle görünür: 10: HOME 20: "HELLO WORLD" YAZDIR

Bu örnekte HOME ekranı temizleyin, ihtiyacınız varsa bir ara satır girmelisiniz, fe .:

15: "HAREKETLER" YAZDIR

Çıktı olarak ekranı temizlemeli, GREETINGS HELLO WORLD göstermelidir.

LIST komutu kodunuzu gösterir (duraklama duraklaması!) Bazı modlarda büyük harf kilidi yoktur (sadece büyük harflerle), özel karakterler yoktur. BASIC'te hiçbir profesyonel oyun yazılmadı, performans nedeniyle programınızın çizgileri çizdiğini görebilirsiniz.

Sadece ses efektleri, sadece bir bit (şaka yapmadan) peek 49152 değişikliği ile bir hoparlöre sahip müzik çalmak zordu, evet, frekansı bile kontrol etmelisiniz ve kare dalga formuydu.

CALL -151 montajına git

IDE adresini ve kodunuzu (HEXA) girmeden monitörde elle kodlamanız gerekir

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.