Terjemahan artikel pemulihan PDP-11/04 lainnya. Anda dapat membaca trilogi terakhir di sini - bagian 1 (PDP-11/04 sendiri), bagian 2 (stasiun kaset TU60), bagian 3 (terminal LA30). Miring adalah komentar saya.PDP-11/04, dikirim oleh Gunnar
Kami menerima perangkat ini dari Gunnar Barbro, dan dengan itu datang banyak barang yang berbeda untuk PDP-11. Tetapi keadaan komputer itu sendiri jauh dari sempurna. Tidak cukup prosesor dan kartu memori, saklar daya diganti oleh remake, dan selain itu, semuanya sangat berdebu. Untuk backplane ( backplane ) yang terhubung papan pemrograman konsol KY11-LB, XY11 ( modul untuk mengendalikan plotter, misalnya IBM 1627 yang disertakan dengan mesin Desember, dan kanonik Calcomp 565 ), KW11-P ( modul diprogram RTC, da Ya, ada seluruh papan di bawah RTC! ), Papan utama RK11-D dengan satu set modul ( pengontrol untuk drive disk magnetik, itu adalah set kartu (3 atau 4 buah), dikombinasikan dengan papan bersama ), dan DR11-B (Kontroler DMA, yang, sekali lagi, terdiri dari beberapa papan: M7194, M971, M5916, M7820, ... ), juga dengan semua modul.
Membersihkan
Kami membongkar komputer menjadi beberapa bagian dan dengan lembut mencucinya dengan sabun dan air, lalu meniupnya sampai kering dengan kompresor. Setelah kering, mereka dikumpulkan menjadi satu kesatuan. Selama prosedur ini, bintik-bintik karat ditemukan di sana-sini.Perakitan dan inspeksi
Tentu saja, tidak ada yang berhasil bahkan ketika kami menghubungkan prosesor dan papan memori yang diambil dari stok kami! Konsol sudah mati. Jika pada awalnya kita dapat memutar kode digital, dan itu ditampilkan pada konsol ( indikator tujuh digit tujuh segmen ), kemudian setelah beberapa waktu situasinya memburuk, dan kesempatan ini menghilang.KY11-LB
KY11-LB adalah pilihan yang sangat menarik yang tersedia untuk PDP-11/04 dan PDP-11/34. Anda tidak hanya dapat menghidupkan dan mematikan CPU, men-debug kode, melihat dan mengubah memori, sehingga memasukkan program dan data ke dalam mesin, tetapi juga menggunakan mode layanan, di mana debugging langkah-demi-langkah dari mikrokode prosesor tersedia! Fitur ini disediakan dengan menghubungkan sepasang loop ke modul prosesor. Tetapi jika prosesornya hilang atau macet, maka KY11-LB memungkinkan Anda untuk bekerja dengan Unibus ( bus yang menghubungkan modul di banyak komputer DEC) tanpa partisipasi CPU. Ini disadari karena kehadiran mikroprosesor i8008 sendiri. Dalam foto di bawah ini saya memutarnya menjadi merah. Dan ini adalah berita bagus jika Anda perlu memeriksa pengoperasian bus itu sendiri atau melakukan tes memori sederhana dan kartu I / O. Ketika tujuan yang tidak ada diminta, lampu ER ER akan menyala. JΓΆrg Hoppe menulis dokumen yang sangat baik tentang penggunaan KY11-LB.
Setelah menghubungkan penganalisis logika, saya memeriksa bahwa 8008 pada board M7859 (KY11-LB) bekerja secara normal dan menjalankan program yang direkam dengan benar. Tetapi kode percaya bahwa tidak ada yang menekan tombol apa pun ... Ternyata semua sinyal CLR ( hapus, sinyal untuk menghapus register ) untuk register keluaran dalam keadaan aktif. Pengontrol bus unibus yang memproses sinyal DCLO (sinyal pada bus Unibus, yang menginformasikan bahwa tegangan DC terlalu rendah ) buggy. Beberapa driver buffer collector terbuka dan chip register rusak. Segera setelah saya menggantinya, konsol menjadi hidup! Tetapi sekali lagi ada kegagalan setelah memulai prosesor dan mengujinya dengan diagnostik fungsinya. Dan dua kali. Yang pertama adalah bug di M9301, papan boot. Bit ke 8 pada bus data adalah yang terakhir tersedia untuk pengemudi bus. Dia tidak bisa membaca cukup data dari bus. Kedua kalinya, prosesor hanya membeku. Tidak ada yang ditetapkan pada bus alamat, dan pemeriksaan mikrokode menunjukkan bahwa steker terjadi ketika mencoba menangkap bus. Prosesor baru dimulai setelah saya mengeluarkan M7859 (KY11 -LB) Ternyata M7859 menghasilkan sinyal BBSY 9MHz pada bus Unibus ( Bus Busy, dalam keadaan aktif, sinyal bahwa sinyal D0-D15 (data yang diminta berasal dari mereka) sedang digunakan oleh seseorang ). Mengapa Satu pemicu 7474 pecah dan terombang-ambing seperti orang gila. Setelah menggantinya, diagnostik prosesor dan memori berhasil!M9301-YB
Dalam PDP-11/04, M9301-YB adalah modul dan terminator bootstrap. PROM papan menyimpan emulator konsol dan kode boot untuk beberapa perangkat umum. Agar prosesor memulai eksekusi segera setelah mulai dari area boot di PROM, modul menghasilkan alamat khusus 0173000 pada bus ( pulsa 300ms menggunakan multivibrator 9602 ) ( seringkali sistem angka oktal digunakan untuk pdp, oleh karena itu nol pada awal angka tidak padding, yaitu referensi ke CC ), dan prosesor meminta alamat resume setelah listrik mati, menetapkan alamat 024/026 pada bus Unibus ( pada alamat pertama register MMIO di mana PC berada, pada detik - PSW, kata status prosesor, berbagai bendera dan status prosesor) Akibatnya, permintaan data dikirim ke bus di alamat 0173024 dan 0173026. Untuk sel 0173024, M9301 menemukan korespondensi antara set nilai microswitch ( di foto, tepat di tengah, 10 buah ) dan data di PROM. Switch ini, pada kenyataannya, menentukan dari alamat mana dalam ruang 0173xxx prosesor akan memulai eksekusi. Saya membuang empat chip PROM - 23-038A9 , 23-039A9 , 23-040A9 dan 23-041A9 . Karena M9301-YB membalikkan beberapa bit untuk mendukung kemungkinan disfungsi sakelar papan dengan sinyal eksternal ( dalam kontak foto adalah TP1 / TP2 / TP3, nilai OR mereka dengan nilai-nilai microswitch di papan tulis, misalnya, TP1 terhubung ke S1 dan S2 ), saya menulis kecilsebuah program yang menggabungkan keempat file ini menjadi satu biner . Setelah hanya melakukan analisis awal dari daftar disassembler, saya, bagaimanapun, sudah memperhatikan bahwa kode ini sangat mirip dengan PROM dari M9301-YA, kecuali bahwa blok kode tersebar di alamat yang berbeda.
Luncurkan RT11SJ dan XXDP V2.2
Untuk menjalankan masing-masing program ini, Anda memerlukan prosedur yang sesuai dalam kode bootloader. Biasanya, prosedur tersebut dilakukan dalam chip PROM yang terpisah, pelaksanaan kode dari yang terjadi ketika mengetik karakter tertentu dalam emulator konsol. Tetapi pada mesin ini ada papan M9201-YB yang tidak mengandung bootloader DU primer ( DEC memiliki nama yang sangat informatif, DU adalah bootloader dari media melalui MSCP (MSCP adalah protokol untuk berkomunikasi dengan drive, seperti ATAPI) ). Jadi saya harus memalu bootloader ini secara manual (emulator konsol, yang merupakan bagian dari modul ini, mendukung 4 fungsi - memuat alamat L, membaca memori di alamat E, menulis ke alamat D, memulai eksekusi S, pada kenyataannya, ini memungkinkan Anda untuk memasukkan kode secara manual. Urutan perintah dari tipe L 016000, D XXXXXX, D XXXXXX, ..., S 16002 ). Itu tidak mudah untuk menemukan bootloader yang cocok, tetapi saya masih menemukan satu di sumber SimH ( emulator dari sistem kuno yang berbeda ). Dengan bantuan PDP11GUI , saya mengunggah file kecil ke memori mesin. Dan itu berhasil (setidaknya dalam banyak kasus).Dump bootloader MSCP ini:0016000 042125 012706 016000 012700 000000 012701 172150 012704
0016020 016162 012705 004000 010102 005022 005712 100001 000000
0016040 030512 001773 012412 006305 100370 105714 001434 012702
0016060 007000 005022 020227 007204 103774 112437 007100 110037
0016100 007110 112437 007114 112437 007121 012722 007004 010522
0016020 012722 007104 010512 024242 005711 005712 100776 005737
0016040 007016 001743 000000 005011 005003 012704 016020 005005
0016060 005007 100000 007204 000000 000001 004420 020000 001041
0016200 000000
Mulai mengisi memori dengan 016000, dan eksekusi dengan 016002 ( 0x4455 - kata ajaib ).
Setelah itu, saya mencoba memulai disk image dengan XXDP v2.2. Tetapi, sayangnya, tidak ada kesuksesan. Baris perintah XXDP muncul, tetapi setiap perintah yang bekerja dengan disk, seperti "D" ( dapatkan daftar file pada media yang dimuat ), berakhir dengan kesalahan di konsol "? RD ERR". Sepertinya program tidak dapat mengakses disk. Jadi saya memeriksa RT11 kit distribusi kecil ( sistem operasi real-time untuk PDP-11 ). Membuat gambar disk dengan versi 5.3 dan mencoba memulai. Dan semuanya berjalan dengan baik! Anda dapat bermain Petualangan atau program di BASIC'e!