Komputer ZX Spectrum , sebuah komputer 8-bit yang sederhana dari awal tahun 1980-an, terus memukau pengaturcara dan peminat perkakasan beberapa dekad selepas dikeluarkan. Apa yang menjadikan mesin ini benar-benar luar biasa bukan sahaja impaknya terhadap sejarah komputer, tetapi helah penjimatan kos yang bijak yang memungkinkannya wujud pada mulanya.
Perbincangan terkini dalam komuniti komputer retro telah mendedahkan keputusan kejuruteraan yang luar biasa yang diambil untuk mencipta salah satu komputer rumah paling berpengaruh yang pernah dibuat. Ini bukanlah penyelesaian yang elegan—ia adalah penyelesaian bijak yang lahir daripada keperluan dan kekangan bajet.
![]() |
---|
Sebuah tangan memegang pensil menulis "PAPER," melambangkan kreativiti dan dokumentasi dalam pengkomputeran retro yang diilhamkan oleh reka bentuk ZX Spectrum |
Strategi Cip Memori Rosak
Mungkin helah yang paling berani ialah pendekatan Sinclair terhadap perolehan memori. Spektrum 48K sebenarnya mengandungi 96KB memori fizikal, tetapi separuh daripadanya sengaja tidak berfungsi. Sinclair membeli cip memori yang rosak pada harga diskaun yang tinggi, kemudian mengisihnya berdasarkan separuh mana yang berfungsi—sama ada bahagian atas atau bawah 32KB.
Setiap mesin dilengkapi dengan jumper yang memilih kawasan memori yang berfungsi. Pendekatan ini membolehkan Sinclair menggunakan komponen yang rosak yang akan dibuang oleh pengilang lain, mengurangkan kos secara drastik sambil tetap menyampaikan 48KB RAM yang boleh digunakan seperti yang dijanjikan.
Konfigurasi Memori ZX Spectrum 48K:
- Jumlah memori fizikal: 96KB
- RAM boleh guna: 48KB (32KB kerja + 16KB sistem)
- ROM: 16KB (penterjemah BASIC)
- Memori tidak berfungsi: 32KB (cip rosak yang sengaja tidak digunakan)
- Kawasan memori boleh pilih jumper (32KB atas atau bawah)
Pertempuran CPU dan Cip Grafik untuk Akses Memori
Hubungan antara pemproses Z80 dan cip grafik ULA mendedahkan satu lagi helah yang menarik. Daripada menggunakan multiplexer yang mahal untuk menguruskan akses memori, Sinclair hanya menyambungkan kedua-dua bas alamat melalui perintang. Apabila kedua-dua cip cuba mengakses memori secara serentak, ULA akan mengalahkan isyarat Z80 .
Cip grafik akan membekukan jam CPU , melakukan operasi memorinya, kemudian melepaskan kawalan kembali kepada pemproses. Ini mencipta sistem di mana mengakses kawasan memori tertentu—terutamanya framebuffer—adalah lebih perlahan secara ketara, tetapi ia berfungsi dan mengekalkan kos yang rendah.
Butiran Seni Bina Perkakasan:
- CPU: Pemproses Zilog Z80
- Grafik: Cip ULA (Uncommitted Logic Array)
- Cip memori: 4116 DRAM (16,384 × 1-bit, disusun sebagai 128×128)
- Akses memori: Perkongsian bas alamat berasaskan perintang
- Pengurusan jam: ULA boleh membekukan jam Z80 semasa konflik memori
Susun Atur Memori Skrin yang Pelik
Organisasi memori skrin ZX Spectrum yang pelik bukanlah sewenang-wenangnya—ia direka berdasarkan had cip DRAM 4116 . Cip ini memerlukan alamat baris dan lajur yang berasingan untuk dimasukkan secara berurutan, tetapi menawarkan mod halaman pantas untuk akses berturut-turut dalam baris yang sama.
Susun atur memori berliku-liku meminimumkan keperluan untuk alamat baris baharu, mengoptimumkan corak akses semula jadi perkakasan. Ini menjelaskan mengapa melukis grafik memerlukan pengiraan alamat yang kompleks dan bukannya akses memori linear yang mudah.
Organisasi Memori Skrin:
- Resolusi: 256×192 piksel
- Grid aksara: 32×24 blok dengan 8×8 piksel
- Susun atur memori: Susunan berliku dalam kumpulan 8 baris
- Had warna: 1 warna dakwat + 1 warna kertas setiap blok 8×8 piksel
- Saiz penimbal bingkai: ~7KB
![]() |
---|
Diagram yang dilukis tangan menggambarkan pengalamatan piksel dalam sistem memori, menonjolkan organisasi unik memori skrin dalam ZX Spectrum |
Trik Pengaturcaraan Lanjutan
Pengaturcara mahir menemui cara untuk menolak perkakasan melepasi had yang jelas. Satu teknik popular melibatkan penyegerakan dengan ULA untuk menukar atribut warna semasa selang blanking mendatar. Ini membolehkan paparan yang lebih berwarna daripada had standard satu-palet-per-8x8-piksel yang dicadangkan.
Dengan menyegerakkan dengan ULA , anda boleh menulis ganti baris atribut pada setiap selang blanking mendatar. Satu-satunya masa anda akan mempunyai kitaran untuk digunakan, sudah tentu, ialah apabila anda tidak melakukan apa-apa lagi sama sekali.
Trik serupa boleh mencipta kesan sempadan yang berwarna-warni, dengan pengaturcara melukis jalur statik dengan menentukan masa perubahan warna dengan teliti semasa kitaran penyegaran skrin.
Warisan Inovasi Didorong Kekangan
Kejayaan ZX Spectrum berpunca daripada menjadikan komputer boleh diakses oleh seluruh generasi di seluruh Eropah. Kos rendahnya, yang dicapai melalui helah perkakasan ini, meletakkan komputer di rumah yang tidak mampu membeli alternatif yang lebih mahal.
Pembangun moden terus mencipta perisian untuk platform ini, tertarik dengan kesederhanaan dan cabaran kreatif yang ditimbulkan oleh hadnya. Seni bina mesin ini boleh diketahui sepenuhnya oleh seorang pengaturcara—kontras yang ketara dengan sistem kompleks hari ini.
Kompromi perkakasan ini, yang mungkin kelihatan kasar mengikut standard moden, mewakili kelas induk dalam kejuruteraan di bawah kekangan yang melampau. Ia menunjukkan bagaimana penyelesaian masalah kreatif dan kesediaan untuk menerima penyelesaian luar biasa boleh mencipta produk yang mengubah dunia, walaupun—atau mungkin kerana—ia dibina daripada bahagian yang rosak dan dipegang bersama dengan helah yang bijak.
Rujukan: ZX Spectrum Graphics Magic: The Basics Every Spectrum Fan Should Know