Seperti apa pengembangan game di Apple II? [Tutup]

14

Saya telah mengajukan pertanyaan serupa tentang pengembangan DOS beberapa waktu lalu dan mendapat jawaban yang sangat baik: Apa toolchain khas untuk pengembangan game DOS?

Sekarang saya bertanya-tanya seperti apa perkembangan game di Apple II di akhir 70an / awal 80an. Saya terutama tertarik pada yang awal: II dan II +, tapi saya ingin jawaban tentang IIe dll.

Jadi inilah pertanyaanku:

Bahasa apa yang digunakan?

Saya kira 6502 assembler, tetapi BASIC dibundel dan mungkin banyak digunakan juga. Bisakah Anda memikirkan permainan populer yang ditulis dalam BASIC? Bagaimana dengan C?

Seperti apa pengembangan assembler 6502?

Saya perhatikan bahwa Anda dapat memasukkan kode op secara langsung jika Anda memulai monitor sistem, dan Anda bahkan dapat menjalankan assembler langsung dengan assembler mini. Tetapi saya tidak dapat membayangkan bahwa permainan ditulis seperti itu, apakah ada editor / IDE? Bagaimana program disimpan di disk / kaset?

Seperti apa pengembangan BASIC?

Juru bahasa BASIC Apple II tidak setengah buruk, saya kira Anda dapat menulis program lengkap di sana. Ini juga memungkinkan Anda untuk MENYIMPAN / memuat program, saya kira ke disk / tape. Tetapi apakah tidak ada editor visual?

Apakah ada API atau Middleware?

Atau apakah perlu berbicara langsung ke perangkat keras setiap saat jika Anda ingin menggambar sesuatu atau memainkan suara? Apakah ada perpustakaan sama sekali?

Ada lagi yang berbeda dari hari ini?

Saya akan senang mendengar perbedaan lain, seperti apa format gambar / audio yang digunakan. Mengingat bahwa sebenarnya tidak ada konsep file jika saya memahaminya dengan benar, saya bertanya-tanya bagaimana cara kerjanya. Apakah Anda harus mengetik grafik dan suara di assembler? Bagaimana cara kerjanya di BASIC?

futlib
sumber
Pengantar Graphics Black Book karya Michael Abrash ditulis oleh John Carmack, dan ia berbicara tentang betapa mudahnya melakukan grafik - Anda hanya melakukan perintah menggambar dan secara otomatis akan beralih. Dari apa yang saya ingat dari bermain dengannya di tahun 80-an, Anda bisa melakukan panggilan itu langsung melalui BASIC.
Philip
Saya sudah menautkan ini ke tempat lain tetapi ... Ngomong-ngomong, Jordan Mechner merilis kode sumber untuk versi Prince II dari Apple of Prince . Itu mungkin menarik untuk Anda!
Laurent Couvidou
Salah satu keanehan paling menonjol dari Apple II adalah grafisnya tidak dipetakan secara langsung; sebagai gantinya, sistem menggunakan semacam sistem interleaved yang aneh di mana baris yang mengikuti baris 0 di memori bukan baris 1 tetapi sebaliknya adalah baris 64; kemudian baris 128 mengikutinya dalam memori, dan hanya setelah itu baris 1 muncul. Inilah sebabnya mengapa Anda melihat efek pemuatan 'tri-banded' yang aneh di game Apple II.
Steven Stadnicki

Jawaban:

5

Saya melakukan banyak pemrograman di Apple (tidak secara profesional, tapi itulah yang saya pelajari) dan Applesoft BASIC dan assembler di mana kira-kira di mana untuk hobiis. Bahasa lain tersedia - Logo adalah umum, Pascal ditulis di mana-mana tetapi saya tidak tahu siapa yang menggunakannya, saya tidak benar-benar menyadari C digunakan pada platform Apple apa pun sampai Orca C untuk Apple IIGS, ada Keempat interpreter dengan turtle-style (atau sebut saja Logo-style) melayang-layang juga.

Saya akan menjawab beberapa pertanyaan Anda, dan kemudian ide dasar:

Bisakah Anda memikirkan permainan populer yang ditulis dalam BASIC? Bagaimana dengan C?

Banyak shareware ditulis dalam BASIC, tidak hanya Applesoft BASIC tetapi juga Integer BASIC (yang seperti namanya, tidak memiliki angka floating point). Seri Eamon terlintas di benak saya, tetapi saya tidak bisa benar-benar memikirkan banyak orang lain. Juga, banyak perangkat lunak yang ditulis oleh Beagle Bros dilakukan di BASIC (sebagian besar utilitas, bukan game).

Saya percaya sebagian besar perangkat lunak komersial ditulis dalam assembler.

Tetapi saya tidak dapat membayangkan bahwa permainan ditulis seperti itu, apakah ada editor / IDE? Bagaimana program disimpan di disk / kaset?

Saya menggunakan Merlin Assembler, menyebutnya sebagai IDE yang mungkin merentangkannya, tetapi itu berfungsi dengan baik. Seperti yang Anda katakan, Anda bisa turun ke monitor sistem dan memasukkan opcode dan lari dari sana. Merlin punya cara Anda bisa kembali ke sana dari monitor sistem (yang saya tidak ingat bagaimana sekarang).

Tetapi apakah tidak ada editor visual?

Ada alat pihak ketiga yang membuat lingkungan Applesoft sedikit lebih baik, dan memungkinkan Anda menggunakan panah untuk menggulir layar dan mengedit seperti editor visual (Anda masih harus menekan balik di akhir baris atau perubahan tidak akan menempel). Saya tidak ingat apa itu, saya menggunakannya sedikit.

Atau apakah perlu berbicara langsung ke perangkat keras setiap saat jika Anda ingin menggambar sesuatu atau memainkan suara? Apakah ada perpustakaan sama sekali?

Pada Apple II + / IIe / IIc Anda cukup banyak berbicara dengan perangkat keras. Ada beberapa program dalam ROM yang dapat Anda gunakan tetapi mereka sangat terbatas dan biasanya Anda akan MENGINTIP dan MENGATASI berbagai lokasi memori untuk mengubah register untuk melakukan apa yang Anda inginkan, misalnya untuk mengubah mode grafis, tekan 49152 untuk memicu speaker, dll. .

Pada Apple IIGS, ROM datang dengan serangkaian perpustakaan yang mirip dengan apa yang Macintosh datang, untuk melakukan GUI mewah dan apa yang tidak. ROM diperbarui dari waktu ke waktu, dan jika Anda memuat disk sistem yang menggunakan pustaka yang lebih baru, mereka akan membaca dari disk daripada ROM, menyebabkan waktu boot benar-benar lambat. Ada ROM 01, 02, dan 03, dan 02 -> 03 adalah upgrade gratis, dan ada rilis sebelum 01 yang mana mereka akan melakukan upgrade gratis ke 01 juga.

Saya akan senang mendengar perbedaan lain, seperti apa format gambar / audio yang digunakan. Mengingat bahwa sebenarnya tidak ada konsep file jika saya memahaminya dengan benar, saya bertanya-tanya bagaimana cara kerjanya. Apakah Anda harus mengetik grafik dan suara di assembler? Bagaimana cara kerjanya di BASIC?

Ada file, saya tidak yakin apa yang Anda maksud dengan itu, dan direktori yang didukung ProDOS tidak kurang (DOS sebelumnya tidak tetapi masih memiliki konsep file yang akan Anda kenali). Saya menggunakan bitmap dan .pcx. Saya tidak ingat ada file audio pada seri II + / IIe / IIc, tapi itu karena sulit untuk membuat suara yang lebih menarik daripada blip dan bloop video game. Ada beberapa peretasan di luar sana yang memang membuat suara-suara mewah (khususnya, saya punya disk yang memainkan Gun N 'Roses), tetapi hampir selalu dilakukan secara tata bahasa.

Dibandingkan dengan lingkungan modern, itu benar-benar primitif. Tapi ingat, tidak ada dukungan untuk menjalankan banyak program pada saat yang bersamaan, jadi kompiler Anda secara efektif juga harus menjadi editor Anda - Anda tidak bisa memperdebatkan manfaat vi vs emacs, jadi apa pun yang diberikan kompiler Anda kepada Anda, Anda belajar menggunakannya. Saya pikir itu jauh lebih mudah daripada menggunakan perpustakaan yang ditumpuk di perpustakaan, dan ada banyak trik jika Anda bekerja untuk perangkat keras dan tahu apa itu. Misalnya, implementasi umum "jeda sejenak" adalah "untuk (int i = 0; i <1000; i ++)" (berbeda dalam BASIC), yang tidak pernah digunakan sekarang, karena perangkat kerasnya sangat cepat sehingga Anda dapat d membutuhkan sejumlah besar, dan bahkan jika tidak, itu akan dijalankan pada berbagai jenis mesin sehingga akan menjadi jeda yang berbeda untuk orang yang berbeda (II +, IIe,

Ini semua dari ingatan, saya tidak melihat referensi apa pun saat menulis ini, jadi saya minta maaf jika ingatan saya salah dan saya katakan hal-hal yang salah. Tapi saya harap ini memberi Anda sedikit rasa dan menjawab beberapa pertanyaan Anda.

tertawa
sumber
4

Bahasa apa yang digunakan?

6502 untuk sebagian besar, jarang C (Aztek), banyak BASIC, beberapa Pascal (Apple Pascal).

Seperti apa pengembangan assembler 6502?

Ada beberapa perakit dan alat yang cukup rapi untuk 6502: Orca / M, Merlin, ditambah beberapa hari kemudian adalah mungkin untuk mengembangkan pada PC dan tautan serial ke Apple untuk debug jarak jauh. Jangan lupa utilitas Beagle Bros. Edit + compile + run, dunia tidak pernah berubah ;-)

Seperti apa pengembangan BASIC?

Tidak ada editor visual, hanya konsol yang memungkinkan Anda berinteraksi dengan buffer BASIC pada awalnya. Namun, Beagle Bros memiliki beberapa utilitas magis yang membuat sebagian besar rasa sakit hilang. Dan kemudian ada cangkang yang setidaknya akan bertindak seperti editor berbasis baris untuk tulisan Anda. Ada alat (Expediter 2) yang bisa menggerogoti BASIC Anda hingga menjadi binary rakitan yang berjalan lebih cepat (perjalanan satu arah).

Apakah ada API atau Middleware?

Ada beberapa, tetapi sebagian besar cakupannya sangat sempit, tidak seperti yang Anda sebut SDK hari ini. Jujur saja, dalam 48K Anda tidak dapat membeli API tujuan umum. Di kemudian hari ada dua atau tiga SDK tujuan khusus yang muncul untuk game petualangan clicky, game berbasis ubin,

Ada lagi yang berbeda dari hari ini?

Segalanya dan tidak ada. Praktik tetap sama, alat menjadi lebih baik.

Patrick Hughes
sumber
-1

Native Basic Interpreter: Ketika Anda menulis sebuah program, Anda harus memberi nomor pada setiap baris, masukkan kode Anda dan tekan enter. Sebuah program dasar terlihat seperti: 10: HOME 20: PRINT "HELLO WORLD"

Dalam contoh ini, HOME menghapus layar, jika perlu, Anda harus memasukkan garis perantara, fe .:

15: CETAK "SALAM"

Sebagai output, layar itu harus bersih, tunjukkan SALAM HELLO DUNIA

perintah LIST menunjukkan kode Anda (tidak ada jeda!) Tidak ada capslock dalam beberapa mode (hanya huruf besar), tidak ada karakter khusus. Tidak ada game pro yang ditulis dalam BASIC, karena kinerja, Anda benar-benar dapat melihat program Anda menggambar garis.

Hanya efek suara, sulit untuk memutar musik kami hanya memiliki speaker dengan SATU bit (tidak bercanda) mengintip 49152 mengubah keadaan itu, ya, Anda harus mengontrol frekuensi dan itu adalah bentuk gelombang persegi.

untuk pergi ke rakitan CALL -151

Anda harus kode dengan monitor langsung, tidak ada IDE yang memasukkan alamat dan kode Anda (HEXA)

Alex
sumber