Microsoft telah membuat kode sumber lengkap untuk interpreter 6502 BASIC tersedia untuk publik di bawah lisensi MIT , menawarkan pandangan langka ke dalam salah satu perangkat lunak paling berpengaruh dari revolusi komputer pribadi. Program bahasa assembly sepanjang 6.955 baris ini menggerakkan mesin-mesin ikonik seperti Apple II , Commodore PET , dan komputer Ohio Scientific di akhir tahun 1970-an.
Perilisan ini telah memicu minat signifikan di komunitas pemrograman, terutama seputar detail teknis dan fitur tersembunyi yang ditemukan dalam kode tersebut. Para developer telah menyelami listing assembly secara mendalam, mengungkap artefak menarik dari masa-masa awal komputasi pribadi.
Spesifikasi Teknis
- Bahasa: Bahasa Assembly 6502
- Ukuran File: 162 KB (6.955 baris kode)
- Jejak Memori: Versi ROM 8KB
- Prosesor Target: Mikroprosesor 8-bit MOS Technology 6502
- Lisensi: Lisensi MIT (per 2024)
- Hak Cipta Asli: Microsoft Corporation , 1976-1978
Easter Egg Tersembunyi Mengungkap Kepribadian Developer
Salah satu penemuan paling menarik melibatkan easter egg tersembunyi yang cerdik yang menampilkan MICROSOFT! ketika dipicu. Komunitas dengan cepat mengidentifikasi fitur ini, yang memerlukan eksekusi perintah WAIT spesifik dengan parameter yang benar. Easter egg tersebut menunjukkan sifat main-main dari developer perangkat lunak awal, yang sering menyematkan kejutan semacam itu dalam kode mereka meskipun keterbatasan memori yang ketat.
Pesan tersembunyi dikodekan dengan cara yang sangat cerdik, disimpan sebagai serangkaian byte yang didekode dan ditampilkan hanya ketika kondisi yang tepat terpenuhi. Jenis easter egg ini umum dalam perangkat lunak awal tetapi jarang didokumentasikan, membuat penemuannya dalam kode sumber menjadi suguhan istimewa bagi para penggemar retrocomputing.
Komentar Developer Asli Memberikan Konteks Sejarah
Kode sumber berisi banyak komentar asli dari tim pengembangan original, menawarkan wawasan yang belum pernah ada sebelumnya tentang tantangan yang dihadapi programmer tahun 1970-an. Komentar-komentar ini mengungkap proses debugging yang intens dan sifat kritis optimasi memori dalam sistem 8-bit.
Satu komentar yang sangat menonjol menjelaskan perbaikan bug serius dari Juli 1978 , di mana masalah variabel loop FOR bisa menyebabkan crash sistem. Penjelasan detail menunjukkan betapa hati-hatinya developer harus mempertimbangkan setiap byte penggunaan memori, karena bahkan kesalahan kecil bisa memiliki konsekuensi signifikan dalam lingkungan memori terbatas komputer mikro awal.
Komentar-komentar tersebut juga mengungkap kecepatan pengembangan yang cepat, dengan perbaikan dan peningkatan yang didokumentasikan sepanjang tahun 1978 . Ini memberikan pandangan real-time tentang bagaimana pengembangan perangkat lunak bekerja di era sebelum sistem kontrol versi modern dan metodologi pengembangan.
Arsitektur Multi-Platform yang Mendahului Zamannya
Kode tersebut mendemonstrasikan teknik kompilasi kondisional yang canggih yang memungkinkan sumber yang sama untuk menargetkan berbagai sistem komputer. Pendekatan ini revolusioner untuk zamannya, memungkinkan Microsoft untuk secara efisien mendukung platform perangkat keras yang berbeda dengan satu basis kode.
Implementasi mencakup konfigurasi spesifik untuk Apple II , Commodore PET , komputer Ohio Scientific , dan bahkan komputer papan tunggal MOS Technology KIM-1 . Setiap platform memerlukan tata letak memori dan rutinitas input/output yang berbeda, tetapi interpreter BASIC inti tetap konsisten di semua sistem.
Strategi multi-platform ini menjadi landasan model bisnis awal Microsoft dan mempengaruhi bagaimana perangkat lunak akan dikembangkan selama beberapa dekade ke depan. Kemampuan untuk melisensikan interpreter basic yang sama kepada berbagai produsen komputer sangat penting bagi pertumbuhan Microsoft selama boom komputer pribadi.
Sistem Komputer yang Didukung
- Apple II (REALIO=4) - Komputer rumahan milik Steve Jobs dan Steve Wozniak
- Commodore PET (REALIO=3) - Sistem komputer personal lengkap
- Ohio Scientific (OSI) (REALIO=2) - Populer di kalangan penghobi dan sekolah-sekolah
- MOS Technology KIM-1 (REALIO=1) - Komputer papan tunggal
- PDP-10 Simulation (REALIO=0) - Platform pengembangan dan pengujian
Reaksi Komunitas dan Analisis Teknis
Komunitas pemrograman telah merespons dengan antusias terhadap perilisan ini, dengan developer menganalisis segala hal dari sintaks assembly hingga teknik manajemen memori. Beberapa telah mencatat format assembler yang tidak biasa yang digunakan, yang menyertakan mode pengalamatan sebagai bagian dari mnemonic instruksi daripada operand.
Perilisan ini juga telah memicu diskusi tentang perangkat lunak bersejarah lainnya yang bisa mendapat manfaat dari perlakuan open-source serupa. Anggota komunitas berharap ini menjadi preseden untuk merilis lebih banyak perangkat lunak vintage Microsoft , terutama implementasi BASIC lainnya untuk prosesor yang berbeda.
Timestamp asli dalam repositori Git , yang menunjukkan commit dari 48 tahun yang lalu, telah sangat dihargai sebagai sentuhan yang bijaksana yang melestarikan konteks sejarah kode tersebut.
Catatan: Bahasa assembly adalah bahasa pemrograman tingkat rendah yang berkorespondensi erat dengan instruksi kode mesin. Kompilasi kondisional memungkinkan versi program yang berbeda untuk dibangun dari kode sumber yang sama berdasarkan kondisi yang ditentukan.
Referensi: Microsoft BASIC for 6502 Microprocessor - Version 1.1