Cara merakit Apple 1 dan menulis game untuk itu


40 tahun telah berlalu sejak rilis komputer Apple 1. Hari ini, kemampuannya bahkan tidak mencapai perangkat mikroprosesor atau mikrokontroler sederhana. Tetapi pada tahun 1976, kebaruan ini membuat banyak kebisingan, bahkan dikatakan tentang revolusi di dunia komputer. Saya mengundang pembaca untuk mengumpulkan Apple 1 dengan saya untuk mencari tahu apa yang menarik tentang itu dan menulis semacam program.
Saya harus segera mengatakan bahwa saya tidak mengambilnya sekaligus. Butuh tiga tahun untuk mencari komponen, membangun dan men-debug di waktu luang Anda, lalu men-debug dengan jumlah yang sama, dan akhirnya berkumpul dan menulis artikel ini.
Karakteristik Apple 1
Jenis: Komputer Pribadi
Tahun produksi: Juli 1976 - Maret 1977
Prosesor: MOS 6502
Frekuensi Jam: 1MHz
Memori: ROM 256 Byte, RAM 4kB, dapat diperluas hingga 8 kB
Video: 40x24 karakter
Diproduksi: sekitar 200 buah
Sedikit sejarah
Pencipta Apple 1 adalah Stephen Wozniak. Sebenarnya, pada saat penciptaannya, itu belum disebut Apple 1. Ya, dan Apple sendiri belum ada.
Steve gemar merancang perangkat elektronik sejak usia dini. Mesin komputasi pertamanya adalah "cream soda", dirancang pada sirkuit terintegrasi tanpa menggunakan prosesor sentral, dan mampu melakukan operasi matematika sederhana. Sayangnya, saya tidak dapat menemukan foto atau deskripsi komputer ini, hanya informasi yang lumayan dari Steve sendiri, yang dijelaskan dalam bukunya. Nasib "krim soda" juga menyedihkan - terbakar, dan tidak ada upaya untuk mengembalikannya. Belakangan, ketika Steve mengerjakan kalkulator di HP, temannya, Allen Baum, mengundang pertemuan Computer Club di Palo Alto, California. Steve diberi tahu bahwa pertemuan ini didedikasikan untuk terminal dan teknologi video. Pada saat itu, dia sudah membuat terminal sendiri untuk bekerja di ARPANET, dan punya ide tentang teknik terminal, itulah sebabnya dia setuju untuk pergi. Steve adalah orang yang sederhana, dan jika dia tahu itu tentang komputer, dia berkata bahwa dia tidak akan pergi ke sana.
Pada pertemuan itu, dia merasa nyaman, karena mereka yang hadir mendiskusikan beberapa mikroprosesor aneh dan komputer Altair 8800.
Setelah pertemuan itu, ia diberi selebaran yang menggambarkan mikroprosesor i8080A. Dia memutuskan untuk mempelajarinya di waktu luangnya, dan menyadari bahwa inilah tepatnya yang dia lakukan di "krim soda" PC pertamanya, dan bagaimana hal itu dapat dibuat lebih mudah. Pada hari yang sama, ia terlahir sebagai arsitektur Apple 1. masa depan. Tetapi itu hanya datang ke perakitan setelah beberapa bulan, yang pergi ke mempelajari spesifikasi sirkuit mikro baru dan mencari komponen. Faktanya adalah bahwa di tahun 70-an mikroprosesor dan memori sangat mahal dan langka. Masalah dengan prosesor diselesaikan ketika perusahaan Teknologi MOS merilis prosesor anggaran 6500, dan segera 6502, analog dari 6500, tetapi dengan fitur-fitur hebat, dan biaya hanya $ 25. Itu adalah 6502 legendaris yang pertama kali jatuh ke tangan Steve.
Masalah selanjutnya pada waktu itu adalah mempersiapkan komputer untuk diluncurkan. Pada tahun-tahun itu, program boot, sebagai suatu peraturan, dimasukkan ke dalam komputer secara manual atau dari tape, ini memakan waktu hingga setengah jam, dan hanya setelah itu sesuatu dapat dilakukan pada mereka. Video peluncuran BASIC dan program permainan yang tertulis di Altair 8800 tersedia di tautan kedua di akhir artikel. Steve memecahkan masalah ini dengan memasang chip memori permanen (ROM) di PC-nya, dengan program kontrol yang direkam di dalamnya, yang disebutnya "Monitor". Nama tersebut mencerminkan tujuan - sebagian besar waktu ia memantau penekanan tombol dan memindahkannya ke terminal, serta memungkinkan untuk menampilkan nilai-nilai dalam sel memori dan menjalankan program dari tempat tertentu. Monitor Wozniak muat dalam 253 byte.
Tapi dia masih kekurangan RAM untuk memulai komputer. Versi pertama PC-nya dibangun di atas memori statis yang lambat. Kemudian, ia menggantinya dengan yang dinamis, yang mengurangi jumlah chip di papan tulis, dan secara positif memengaruhi kecepatan kerja.
Steve menunjukkan PC-nya kepada publik, dan temannya, Steve Jobs, yang membantu membawa monitor ke klub, menyarankan mulai memproduksi papan sirkuit cetak untuk PC itu dan memulai perusahaannya sendiri, yang bernama Apple.
Anda dapat membaca lebih lanjut tentang ini dan banyak lagi di buku iWoz.
Papan utama Apple 1

Arsitektur PC
PC terdiri dari beberapa node.


(
Sumber situs )
Unit pembentukan dan keluaran gambar (terminal)

Sebenarnya ini adalah terminal Steve untuk ARPANET. Di pintu masuknya ada bus tujuh-bit, yang melaluinya data diterima untuk output ke layar TV.
Ia tidak memiliki skema untuk akses langsung ke memori video (DAP), tetapi menggunakan pembaruan memori siklis 1024 sel 7 bit (apalagi, 64 sel tidak digunakan). Karena kurangnya DAP, terminal ini berfungsi seperti mesin tik - mereka mengirimkan karakter ke input, menampilkannya di layar, memindahkan kursor untuk karakter berikutnya, dan tidak ada grafik. Karena pembaruan terus-menerus dari memori ini, operasi terminal agak lambat. Semua karakter ditampilkan berurutan, Anda tidak bisa kembali dan memperbaiki karakter yang salah dimasukkan. Untuk mengedit, Anda harus memasukkan perintah Monitor, yang akan mengubah isi sel memori tempat kesalahan dibuat, dan kemudian menggunakan perintah lain untuk menampilkan nilai byte dari sel memori yang diubah.
Jika dalam program kami ingin menghapus layar, kami harus mentransfer carriage 24 kali ke baris baru 24 kali. Ngomong-ngomong, ketika Anda menekan Return (sebutan modern adalah Enter), generator memulai, yang mencetak karakter spasi ke akhir baris.
Tidak ada mode grafis, dan set karakter terbatas pada set standar kode ASCII, dengan nilai dari 1 hingga 127 (hanya karakter dari interval 32-126 yang ditampilkan di layar, beberapa karakter lain digunakan sebagai karakter kontrol, misalnya feed 13-line), oleh karena itu bus tujuh-bit dan dalam urutan tertinggi, unit selalu diatur.
Tata letak semua karakter yang ditampilkan direkam dalam memori hanya baca (ROM). Setelah karakter tiba di terminal input, pertama-tama ditulis ke memori kecil (analog dari memori video modern), dan kemudian melalui sistem penghitung alamat dalam ROM generator karakter yang berisi tata letak karakter output dipilih, dan melalui register geser data ini dicampur dengan pulsa jam video yang dihasilkan input monitor (atau input TV frekuensi rendah).
Untuk menyesuaikan kecerahan gambar, papan memiliki resistor penyetelan. Saya menggantinya dengan seorang uskup sederhana.
Perlu juga dicatat bahwa karena kesalahan dalam skema pembentukan gambar, itu tidak dapat ditampilkan dengan benar pada sebagian besar TV atau monitor digital modern, TV analog memaafkan kesalahan ini. Di akhir artikel, video berdurasi tiga menit dengan siksaan saya pada monitor semacam itu.
Unit mikroprosesor
Ini berisi 6502 mikroprosesor, ROM, port I / O (PIA), penguat buffer, dekoder alamat perangkat, RAM dan beberapa sirkuit mikro skala kecil.I / O memblokir dan bekerja dengan perangkat eksternal

Keyboard disurvei dan karakter yang dimasukkan ditransmisikan ke bus data oleh pengontrol input-output (PIA) 6520. Sebaliknya, saya menginstal 6821. Dan berfungsi dengan baik.
Bekerja dengan perangkat eksternal terjadi seperti pada sel memori. Setiap perangkat memiliki area memorinya sendiri. Dekoder port berkaitan dengan pemasukan input / output dari perangkat tertentu. Jalur inputnya terhubung ke jalur alamat mikroprosesor, jadi ketika Anda mengatur alamat yang diinginkan, perangkat yang kita perlukan terhubung ke bus data. Apa, dan bagaimana Anda dapat melakukannya, ditentukan oleh program, dan perangkat itu sendiri.
Karena gangguan tidak diterapkan pada PC ini, prosesor pusat terlibat dalam memproses seluruh aliran data (input keyboard, output karakter, pertukaran data dengan perangkat eksternal, dll.).
Untuk menghubungkan perangkat eksternal, ada satu konektor di papan utama. Satu-satunya perangkat yang saya kenal yang dibuat untuk PC ini di tahun 70-an adalah papan antarmuka untuk bekerja dengan penyimpanan data eksternal - tape recorder.


Catu daya

Semuanya sederhana di sini. Diperlukan empat voltase untuk menyalakan komputer. + 5V, -5V, + 12V dan -12V. Catu daya diproduksi oleh pembeli secara mandiri. Untuk melakukan ini, perlu secara terpisah membeli dua transformator step-down, dan menghubungkannya ke papan utama, yang sudah ada penyearah dan stabilisator. Ada stabilizer + 5V pada radiator, dan itu memanas secara signifikan, begitu banyak pengguna memasang kipas di atasnya, saya tidak menciptakan sepeda, dan saya melakukan hal yang sama.
Tentu saja, itu mungkin untuk menempatkan catu daya switching modern, tetapi saya ingin tabung hangat bergemuruh di 50 Hz.
Pencarian komponen, perakitan dan commissioning
Seperti yang saya tulis di atas, butuh hampir 3 tahun untuk mencari komponen, meskipun sebentar-sebentar. Yang pertama dibeli papan sirkuit cetak, setelah berbaring sekitar satu tahun di rak, mulai tumbuh secara bertahap menjadi komponen. Pertama, saya menyolder soket untuk sirkuit mikro dan konektor untuk menghubungkan daya dan monitor. Lalu semua elemen pasif - resistor, kapasitor dan dioda. Benar, kapasitor Sprague asli tidak dapat diperoleh dengan segera, dan sebagai gantinya mereka paruh pertama tahun ini adalah elektrolit modern biasa.
Sebagian besar sirkuit mikro segera diperoleh, apalagi, kebanyakan dari mereka memiliki analog Soviet dari seri ke-155. Saya harus mencalonkan diri untuk sirkuit mikro seperti itu:
Video ROM - firmware tertentu harus direkam di dalamnya, jika tidak maka tidak akan ada gambar yang memadai.
2504V - tujuh register di mana gambar yang ditampilkan di layar disimpan.
2519B adalah penghitung yang digunakan untuk membangun gambar yang tidak memiliki analog.
8T97 - buffer data bus yang mencegah kelebihan bus data mikroprosesor, dalam hal lain, mereka kemudian menemukan pengganti Soviet - K155LP11.
ROM dengan program kontrol "Monitor".
Setelah semua komponen ditemukan, disolder, atau dipasang di papan utama, bagian yang paling menarik dimulai - debugging.
Nyalakan pertama - klik sakelar daya, 5 detik, matikan - tidak ada asap, kemacetan di apartemen masih utuh, tidak ada yang terbakar. Saya menyalakannya, lihat gambar - ada sampah dari karakter acak di layar. Saya menekan RESET dan CLEAR SCREEN di belakangnya (ya, ya, ada tombol seperti itu - pengguna tidak dimanjakan dengan hal-hal modis saat itu, dan desainer berpikir, biarkan pengguna membersihkan layar ketika dia perlu), tidak ada yang terjadi - sampah acak yang sama.
Di atas segalanya, stabilizer di + 5V sudah mulai dipanggang, aroma tabung hangat dari kempa pernis yang baru saja dibakar, kempa cat dari stabilizer ini sudah beredar di seluruh ruangan. Saya mematikannya, tunggu 5 menit, sampai benar-benar dingin, dan dalam seri pendek seperti itu saya mencoba untuk men-debug lebih jauh selama periode debugging, oleh karena itu fakta ini tidak ditunjukkan lebih lanjut.
Jika semuanya bekerja, maka setelah menyalakan komputer, screen saver selamat datang akan muncul di layar dalam bentuk karakter "@_" yang berganti-ganti di seluruh ruang kerja monitor, dan setelah menekan RESET dan CS layar akan kosong dan hanya kursor untuk memasukkan perintah yang harus tetap. program kontrol "Monitor".
Inspeksi visual dan kontinuitas pencitraan dan sirkuit daya tidak menghasilkan apa-apa. Dan setelah beberapa hari siksaan, saya menemukan bahwa penjual mengirimi saya analog yang salah dari chip memori video. Saya berdiri 1403A, meskipun analognya 1404A. Saya mengeluarkan register ini dari panel, dan tidak ada yang berubah di layar. Penjual mengakui kesalahannya, dan meminta untuk mengirimkan register ini kembali kepadanya, tetapi karena itu tidak mahal, saya tidak peduli dengan ini. Register asli sudah berharga sekitar $ 80. Mereka harus menunggu tiga minggu.
Setelah mengganti register, anjing yang sudah lama ditunggu-tunggu (atau apel, yang Anda sukai) akhirnya muncul, yang berarti memori video dan dengan itu seluruh blok video diperoleh.
Saya menekan RESET, CS, layar dihapus, tetapi kursor tidak muncul. Jadi unit mikroprosesor tidak berfungsi. Tidak ada banyak sumber masalah - baik prosesor, atau ROM, atau logika kecil dalam pengikatannya.
Komponen pertama yang sedang diselidiki adalah ROM dengan "Monitor", karena salah satu dari sirkuit mikro menghangat secara signifikan.
Sedikit terganggu, saya akan mengatakan bahwa program kontrol direkam dalam dua chip memori, masing-masing memiliki 255 sel memori, dan masing-masing chip hanya memiliki 4 bit dalam output. Untuk mengontrol prosesor delapan-bit, Wozniak menempatkan 2 sirkuit mikro secara paralel, menerima 8 bit data yang diperlukan pada output. Dan seluruh program kontrolnya muat dalam 253 byte (2 byte tetap gratis).

Untuk membaca isi dari memori ini, saya memasang perangkat berbasis Arduino di papan tempat memotong roti.
Kontroler secara berurutan mengurutkan alamat ROM ini, menggabungkan data 4-bit menjadi 8-bit dan menampilkannya dalam bentuk heksadesimal di monitor saluran komunikasi di komputer. Setelah memeriksa isi ROM, saya tidak menemukan kesalahan di dalamnya.
Mengganti logika kecil juga tidak membuahkan hasil, sehingga kecurigaan jatuh pada tahun-tahun terhormat prosesor utama, dan pensiunnya.
Saya tidak punya komputer lain berbasis 6502, jadi saya memasangnya di papan tempat memotong roti, memasok daya dari Arduinki, pulsa clock generator pada 1 MHz (dari PC Spesialis masa depan), menginstal perintah NOP pada bus data dengan jumper ke + 5V, dan Saya berharap bahwa dengan melakukan tindakan kosong itu akan meningkatkan nilai penghitung alamat. Tetapi ini tidak terjadi. Tidak ada yang terjadi sama sekali. Sepertinya batu sekarang pasti batu. Saya memesan yang lain, karena harus diproduksi oleh MOS. Ketika dia sedang mengemudi, saya berhasil pergi berlibur dan berenang di laut.


Menguji prosesor 6502. Ya, itu mungkin untuk mendapatkan 1 MHz dari timer Mega, ya, itu mungkin dilakukan tanpa itu sama sekali, saya bisa melakukan semua ini, tapi kemudian saya ingin melakukan hal itu.
Setelah memasang prosesor baru, nyalakan - hello, dogs - RESET - CS - hello command line! Unit prosesor telah bekerja, kurang dari enam bulan telah berlalu!
Masalah berikutnya - Saya tidak punya apa-apa untuk memasukkan perintah dan kode ke dalamnya, tidak ada keyboard.
Keyboard
Keyboard PC ini adalah kisi-kisi konduktor, di titik-titik di mana tombol dipasang. Kasing ini terhubung ke decoder tombol yang ditekan, yang mengeluarkan kode kunci yang ditekan sepanjang garis ASCII tujuh-bit, dan pulsa gating jangka pendek pada saluran yang terpisah. Ketika dorongan ini diteruskan ke bus kontrol, prosesor mulai memproses karakter yang dimasukkan.

Untuk mendapatkan keyboard seperti itu, secara umum, masalah ini masih diselesaikan, tetapi ini biasanya angka dengan dua nol, dan bukan di rubel Rusia. Karena itu, saya mulai berpikir bagaimana menghubungkan keyboard PS / 2 ke komputer saya.
Tidak ada yang lebih menarik daripada Arduino Nano yang terjadi pada saya. Pada malam harinya, saya memasang adaptor antara PS / 2 dan port ASCII dengan memasang pemasangan dan menulis firmware untuknya. Karena Apple 1 tidak memiliki tombol PgUp dan PgDown, saya menggunakannya sebagai tombol RESET dan CLEAR SCREEN. Mulai hari ini, saya tidak perlu menutup tangan dengan kaki dengan pinset, yang sangat menyenangkan.
Karakter yang diketik terkenal dicetak di layar, dan bahkan program uji dari dokumentasi untuk komputer ini berfungsi. Yang dia lakukan hanyalah menampilkan semua karakter yang ditampilkan di komputer ini dalam satu lingkaran.
Tampilan atas
Tampak bawahSebuah cerita lucu terjadi dengan keyboard. Awalnya, tombol Return hanya bekerja setengah - itu dengan benar memasukkan perintah ke dalam memori, dan memberikan instruksi untuk eksekusi mereka, tetapi terjemahan ke baris baru tidak terjadi. Secara umum, karena sifat terminal, ini tidak menimbulkan masalah besar. Tetapi saya memutuskan untuk memperbaiki masalah ini. Saya mulai dengan mempelajari diagram sirkuit PC, banyak bantuan diberikan oleh pengguna Mdesk, dengan zx-pk.ru. Ketika saya mempelajari sirkuit, saya tidak memiliki satu pertanyaan pun dalam pengoperasian unit terjemahan carriage perangkat keras, saya duduk di tester dan osiloskop. Dering konduktor tidak menghasilkan apa pun - semuanya utuh. Kemudian osiloskop mulai beraksi. Saya menelepon sinyal input dari PIA - mereka normal, sinyal hilang di suatu tempat di 7451N, saya mencoba mengubahnya menjadi 7450, dan rekan-rekan Soviet (155LR1 dan 155LR11), ini tidak berhasil. Mengurai rantai lebih jauh, saya sampai ke satu-vibrator 74123, perlu untuk memeriksa penundaan yang dihasilkannya. Tapi adaptor saya secara fisik menutupnya, yang membuat panggilan tidak nyaman.
Lalu saya menulis program uji
280: A9 8D 20 EF FF A9 31 20 EF FF 4C 80 02
Yang dia lakukan hanyalah menampilkan urutan Return-1-Return-1 (unit dengan menggulir ke bawah).
Saya memulainya, unit, seperti yang diharapkan, pergi ke garis. Lalu saya mengeluarkan adaptor dari soket, unit-unit segera berlari ke bawah. Jadi alasannya adalah adaptor. Setelah itu, buka tutup masalahnya dengan cepat. Tombol PgUp dan PgDown yang saya gunakan sebagai reset dan menghapus layar. Pembersih layar (CLR) tergantung pada salah satu kaki Arduina, pada saat pembersihan saya menerapkannya di sana, setelah melepaskannya saya mengatur ulang ke 0. Dan 0 yang sama ini memadamkan seluruh garis CLR, tetapi pada kenyataannya juga menggunakan blok feed line. Solusinya sederhana - menempatkan dioda antara Arduinka dan CLR, dan berhasil!
Karena memanggil program kilobyte hand-to-hand akan menjadi tugas yang membosankan dan tidak selalu akurat, saya datang dengan ide untuk menghubungkan kartu SD ke Arduinka yang sama dengan yang Anda dapat memasukkan program. Ini berfungsi seperti ini - saya menjatuhkan file bernama dump.hex ke root, dan ketika saya menekan tombol TAB, controller membaca isi file dan menekan tombol yang sesuai.
Perangkat lunak
Tidak banyak program yang ditulis untuk Apple 1, saya asosiasikan ini dengan tampilan komputer yang lebih maju - Apple 2. Namun ada beberapa permainan dan program sistem untuk itu.
Pada peringatan 30 tahun Apple 1, penggemar bahkan menulis demo yang agak besar (tautan di bawah).Saya meluncurkan semua ini dan melihat, tetapi saya ingin menulis sesuatu sendiri. Saya memutuskan untuk menulis game 2048 untuknya. Butuh waktu 2 jam untuk menulis algoritme, coding (sebelum itu saya tidak bisa menulis di bawah 6502). Ukuran program yang diterima adalah 1679 byte. Anda dapat menjalankannya baik di perangkat keras asli maupun di emulator.Programnya280: 4C F8 08 20 20 20 20 20
288:20 20 32 20 20 20 34 20
290:20 20 38 20 20 31 36 20
298:20 33 32 20 20 36 34 20
2A0:31 32 38 20 32 35 36 20
2A8:35 31 32 31 30 32 34 32
2B0:30 34 38 01 00 00 00 00
2B8:00 00 00 00 00 00 00 00
2C0:00 00 00 2B 2D 2D 2D 2D
2C8:2D 2D 2B 2D 2D 2D 2D 2D
2D0:2D 2B 2D 2D 2D 2D 2D 2D
2D8:2B 2D 2D 2D 2D 2D 2D 2B
2E0:8D 00 A2 00 A9 8D E8 20
2E8:EF FF E0 24 F0 03 4C E6
2F0:02 60 A9 2B 20 EF FF A9
2F8:20 20 EF FF 60 A9 8D 20
300:EF FF 60 0A 2A A8 A9 00
308:79 83 02 20 EF FF C8 A9
310:00 79 83 02 20 EF FF C8
318:A9 00 79 83 02 20 EF FF
320:C8 A9 00 79 83 02 20 EF
328:FF A9 20 20 EF FF 20 F2
330:02 60 20 FD 02 A2 00 BD
338:C3 02 20 EF FF E8 E0 1E
340:F0 03 4C 37 03 60 20 32
348:03 20 F2 02 AD B3 02 20
350:03 03 AD B4 02 20 03 03
358:AD B5 02 20 03 03 AD B6
360:02 20 03 03 20 32 03 20
368:F2 02 AD B7 02 20 03 03
370:AD B8 02 20 03 03 AD B9
378:02 20 03 03 AD BA 02 20
380:03 03 20 32 03 20 F2 02
388:AD BB 02 20 03 03 AD BC
390:02 20 03 03 AD BD 02 20
398:03 03 AD BE 02 20 03 03
3A0:20 32 03 20 F2 02 AD BF
3A8:02 20 03 03 AD C0 02 20
3B0:03 03 AD C1 02 20 03 03
3B8:AD C2 02 20 03 03 20 32
3C0:03 60 32 30 34 38 8D 8D
3C8:57 2D 55 50 8D 41 2D 4C
3D0:45 46 54 8D 44 2D 52 49
3D8:47 48 54 8D 53 2D 44 4F
3E0:57 4E 8D 8D 43 4F 44 45
3E8:3A 20 44 45 4E 49 53 20
3F0:50 41 52 59 53 48 45 56
3F8:8D 8D 50 52 45 53 53 20
400:41 4E 59 20 4B 45 59 A2
408:00 BD C2 03 20 EF FF E8
410:E0 45 F0 03 4C 09 04 AD
418:11 D0 10 FB AD 10 D0 8D
420:E1 02 60 47 41 4D 45 20
428:4F 56 45 52 59 4F 55 20
430:57 49 4E 20 E2 02 A2 00
438:BD 23 04 20 EF FF E8 E0
440:09 F0 03 4C 38 04 A2 34
448:BD C2 03 20 EF FF E8 E0
450:43 F0 03 4C 48 04 AD 11
458:D0 10 FB AD 10 D0 4C F8
460:08 A0 00 AD E1 02 29 0F
468:AA C8 C0 11 F0 C5 BD B3
470:02 C9 00 F0 0A E8 E0 10
478:D0 EF A2 00 4C 69 04 A9
480:01 9D B3 02 8E E1 02 60
488:A2 00 A9 00 9D B3 02 E8
490:E0 10 D0 F8 A9 01 8D B3
498:02 60 00 00 00 00 00 00
4A0:AE 9F 04 BD 9A 04 C9 00
4A8:D0 14 AE 9E 04 BD 9A 04
4B0:AE 9F 04 9D 9A 04 A9 00
4B8:AE 9E 04 9D 9A 04 60 A9
4C0:03 8D 9F 04 A9 02 8D 9E
4C8:04 20 A0 04 A9 02 8D 9F
4D0:04 A9 01 8D 9E 04 20 A0
4D8:04 A9 01 8D 9F 04 A9 00
4E0:8D 9E 04 20 A0 04 A9 03
4E8:8D 9F 04 A9 02 8D 9E 04
4F0:20 A0 04 A9 02 8D 9F 04
4F8:A9 01 8D 9E 04 20 A0 04
500:A9 03 8D 9F 04 A9 02 8D
508:9E 04 20 A0 04 60 20 E2
510:02 A2 00 BD 2C 04 20 EF
518:FF E8 E0 07 F0 03 4C 13
520:05 A2 34 BD C2 03 20 EF
528:FF E8 E0 43 F0 03 4C 23
530:05 AD 11 D0 10 FB AD 10
538:D0 4C F8 08 AE 9E 04 BD
540:9A 04 C9 00 F0 1D AE 9F
548:04 DD 9A 04 D0 15 A8 C8
550:98 AE 9F 04 9D 9A 04 C9
558:0B F0 B3 A9 00 AE 9E 04
560:9D 9A 04 60 A9 02 8D 9E
568:04 A9 03 8D 9F 04 20 3C
570:05 A9 01 8D 9E 04 A9 02
578:8D 9F 04 20 3C 05 A9 00
580:8D 9E 04 A9 01 8D 9F 04
588:20 3C 05 60 20 BF 04 20
590:64 05 20 BF 04 60 AD B3
598:02 8D 9D 04 AD B7 02 8D
5A0:9C 04 AD BB 02 8D 9B 04
5A8:AD BF 02 8D 9A 04 20 8C
5B0:05 AD 9A 04 8D BF 02 AD
5B8:9B 04 8D BB 02 AD 9C 04
5C0:8D B7 02 AD 9D 04 8D B3
5C8:02 AD B4 02 8D 9D 04 AD
5D0:B8 02 8D 9C 04 AD BC 02
5D8:8D 9B 04 AD C0 02 8D 9A
5E0:04 20 8C 05 AD 9A 04 8D
5E8:C0 02 AD 9B 04 8D BC 02
5F0:AD 9C 04 8D B8 02 AD 9D
5F8:04 8D B4 02 AD B5 02 8D
600:9D 04 AD B9 02 8D 9C 04
608:AD BD 02 8D 9B 04 AD C1
610:02 8D 9A 04 20 8C 05 AD
618:9A 04 8D C1 02 AD 9B 04
620:8D BD 02 AD 9C 04 8D B9
628:02 AD 9D 04 8D B5 02 AD
630:B6 02 8D 9D 04 AD BA 02
638:8D 9C 04 AD BE 02 8D 9B
640:04 AD C2 02 8D 9A 04 20
648:8C 05 AD 9A 04 8D C2 02
650:AD 9B 04 8D BE 02 AD 9C
658:04 8D BA 02 AD 9D 04 8D
660:B6 02 60 AD B3 02 8D 9A
668:04 AD B7 02 8D 9B 04 AD
670:BB 02 8D 9C 04 AD BF 02
678:8D 9D 04 20 8C 05 AD 9D
680:04 8D BF 02 AD 9C 04 8D
688:BB 02 AD 9B 04 8D B7 02
690:AD 9A 04 8D B3 02 AD B4
698:02 8D 9A 04 AD B8 02 8D
6A0:9B 04 AD BC 02 8D 9C 04
6A8:AD C0 02 8D 9D 04 20 8C
6B0:05 AD 9D 04 8D C0 02 AD
6B8:9C 04 8D BC 02 AD 9B 04
6C0:8D B8 02 AD 9A 04 8D B4
6C8:02 AD B5 02 8D 9A 04 AD
6D0:B9 02 8D 9B 04 AD BD 02
6D8:8D 9C 04 AD C1 02 8D 9D
6E0:04 20 8C 05 AD 9D 04 8D
6E8:C1 02 AD 9C 04 8D BD 02
6F0:AD 9B 04 8D B9 02 AD 9A
6F8:04 8D B5 02 AD B6 02 8D
700:9A 04 AD BA 02 8D 9B 04
708:AD BE 02 8D 9C 04 AD C2
710:02 8D 9D 04 20 8C 05 AD
718:9D 04 8D C2 02 AD 9C 04
720:8D BE 02 AD 9B 04 8D BA
728:02 AD 9A 04 8D B6 02 60
730:AD B6 02 8D 9A 04 AD B5
738:02 8D 9B 04 AD B4 02 8D
740:9C 04 AD B3 02 8D 9D 04
748:20 8C 05 AD 9D 04 8D B3
750:02 AD 9C 04 8D B4 02 AD
758:9B 04 8D B5 02 AD 9A 04
760:8D B6 02 AD BA 02 8D 9A
768:04 AD B9 02 8D 9B 04 AD
770:B8 02 8D 9C 04 AD B7 02
778:8D 9D 04 20 8C 05 AD 9D
780:04 8D B7 02 AD 9C 04 8D
788:B8 02 AD 9B 04 8D B9 02
790:AD 9A 04 8D BA 02 AD BE
798:02 8D 9A 04 AD BD 02 8D
7A0:9B 04 AD BC 02 8D 9C 04
7A8:AD BB 02 8D 9D 04 20 8C
7B0:05 AD 9D 04 8D BB 02 AD
7B8:9C 04 8D BC 02 AD 9B 04
7C0:8D BD 02 AD 9A 04 8D BE
7C8:02 AD C2 02 8D 9A 04 AD
7D0:C1 02 8D 9B 04 AD C0 02
7D8:8D 9C 04 AD BF 02 8D 9D
7E0:04 20 8C 05 AD 9D 04 8D
7E8:BF 02 AD 9C 04 8D C0 02
7F0:AD 9B 04 8D C1 02 AD 9A
7F8:04 8D C2 02 60 AD B6 02
800:8D 9D 04 AD B5 02 8D 9C
808:04 AD B4 02 8D 9B 04 AD
810:B3 02 8D 9A 04 20 8C 05
818:AD 9A 04 8D B3 02 AD 9B
820:04 8D B4 02 AD 9C 04 8D
828:B5 02 AD 9D 04 8D B6 02
830:AD BA 02 8D 9D 04 AD B9
838:02 8D 9C 04 AD B8 02 8D
840:9B 04 AD B7 02 8D 9A 04
848:20 8C 05 AD 9A 04 8D B7
850:02 AD 9B 04 8D B8 02 AD
858:9C 04 8D B9 02 AD 9D 04
860:8D BA 02 AD BE 02 8D 9D
868:04 AD BD 02 8D 9C 04 AD
870:BC 02 8D 9B 04 AD BB 02
878:8D 9A 04 20 8C 05 AD 9A
880:04 8D BB 02 AD 9B 04 8D
888:BC 02 AD 9C 04 8D BD 02
890:AD 9D 04 8D BE 02 AD C2
898:02 8D 9D 04 AD C1 02 8D
8A0:9C 04 AD C0 02 8D 9B 04
8A8:AD BF 02 8D 9A 04 20 8C
8B0:05 AD 9A 04 8D BF 02 AD
8B8:9B 04 8D C0 02 AD 9C 04
8C0:8D C1 02 AD 9D 04 8D C2
8C8:02 60 AD 11 D0 10 FB AD
8D0:10 D0 8D E1 02 C9 D7 D0
8D8:04 20 96 05 60 C9 D3 D0
8E0:04 20 63 06 60 C9 C1 D0
8E8:04 20 30 07 60 C9 C4 D0
8F0:04 20 FD 07 60 4C CA 08
8F8:20 88 04 20 E2 02 20 07
900:04 20 E2 02 20 61 04 20
908:46 03 20 CA 08 4C 01 09
Pekerjaan video di youtube.Apa selanjutnya
Pertama-tama, kasingnya, saya ingin membuatnya cantik.
Adaptor untuk keyboard dan kartu SD. Perlu untuk menyingkirkan pemasangan permukaan, saya berencana untuk mengembangkan dan memesan papan sirkuit cetak untuk itu di Cina.
Bekerja dengan beberapa file. Saya berencana untuk menulis file manager untuk Arduinka, yang akan memungkinkan saya untuk memilih file dari kartu dan menjalankannya.
Saya juga membeli konektor untuk kartu ekspansi. Saya ingin memberinya kartu audio pada K580VI53 (hanya karena timer ini ada di rumah) dan menggambar demo kecil dengan suara.
Ini mungkin akan menjadi artikel selanjutnya.
Kesimpulan
Untuk mengatakan bahwa saya sangat menikmati membangun, men-debug, dan menulis program untuk Apple 1 hampir tidak ada artinya.
Banyak terima kasih kepada pengguna Mdesk, dan semua orang dari zx-pk.ru atas bantuan mereka dalam menjelaskan seluk-beluk arsitektur, dan untuk tips berguna dalam mengatur PC ini.
Terima kasih terbesar untuk Steve Wozniak atas komputer pribadi yang luar biasa ini !!!
Tautan yang bermanfaat
Apple 1 di wikiPemuatan BASIC pada Altair 8800Apple 1 dan monitor modern (tiga setengah menit rasa sakit dan penderitaan)30 tahun Apple 1 (demo)Emulator online Apple 1Assembler / disassembler / debugger 6502 onlineSitus berbahasa Rusia yang didedikasikan untuk Apple 1:
mdesk.ruzx-pk.ru