Cara kerja Philips VideoWRITER. Gambar pertama dari besi, lalu sedikit kebosanan



Perangkat pengeditan dan pencetakan teks VideoWRITER diluncurkan oleh Philips pada tahun 1985. Ini dijalankan pada prosesor yang kompatibel dengan Z80 dan berisi 16 kB ROM dan jumlah RAM yang sama (ternyata nanti, ada lebih banyak ROM). Untuk menyimpan dokumen, ia memiliki drive 3,5 inci. Dimungkinkan untuk menjadi pemilik yang bahagia dari "kombinasikan" ini (ada juga printer bawaan) seharga $ 799.

Layar monitor CRT oranye terasa lebih lebar dari biasanya. Tidak hanya jendela dengan dokumen yang dapat diedit ditempatkan di atasnya, tetapi juga menu yang terletak di sebelah kanannya. Petunjuk juga ditampilkan di sana, termasuk penetapan tombol fungsi. Dokumen selalu ditampilkan dengan simbol cahaya dengan latar belakang gelap, menunya sebaliknya. Di sudut kiri bawah lapisan pada layar ditandai: DDS - Layar Dual Display ...

Editornya cukup sederhana, jangan berharap bahkan Comic Sans darinya. Hanya ada satu font, atribut standar tersedia: cetak tebal, miring, bergaris bawah, atas dan bawah. Dan cara standar untuk menyelaraskan teks. Ada juga penggaris dan karakter umpan baris.

Printer mencetak pada lembar A4 biasa menggunakan transfer termal. Jika tidak ada kartrid khusus, menurut artikel Wikipedia , Anda dapat mencetak pada kertas termal. Penulis sangat terkejut bahwa perangkat masih mencetak setelah bertahun-tahun dihabiskan di loteng panas.



Keyboardnya kecil, tapi mengetiknya nyaman. Tombol khusus di atasnya memungkinkan Anda untuk beralih atribut font, membatalkan tindakan dan memeriksa ejaan jika ada disket dengan kamus. Keyboard terhubung dengan konektor RJ14 - intinya sama dengan RJ11 dan RJ45.

Dokumen disimpan pada disket 3,5 inci. Ketika dinyalakan, mesin segera mencari floppy disk, dan jika tidak dapat "memahami" apa yang ada di sana, itu menyarankan memformatnya. Kemungkinan besar, formatnya tidak kompatibel dengan yang digunakan pada PC. Dan berapa kilobyte yang cocok di sana, 360 atau 720?

Dan sekarang saatnya mengangkat penutup atas dan melihat apa yang ada di bawahnya. Pertama-tama, kita akan melihat papan sampai mereka masuk jauh ke perangkat mereka. Pertama-tama lepaskan tabung gambar. Kami mengambil obeng yang terhubung terlebih dahulu ke kawat bersama dengan bantuan "buaya", dan memegangnya dengan pegangan isolasi, kami melepaskan sengatan di bawah cangkir hisap. Meskipun ditulis pada tabung gambar itu sendiri: jangan dibuang dengan pelepasan busur, sambungkan voltmeter resistan tinggi antara anoda dan sasis. Dan, seperti, semuanya akan habis secara bertahap. Mungkin TDKS "lembut."



Untuk melepaskan catu daya, Anda hanya perlu membuka dua sekrup. Sekarang penulis menghapus BP ini untuk kedua kalinya. Yang pertama adalah ketika kapasitor meledak di dalamnya, ada banyak asap, tetapi penulis menemukan yang sama, menyoldernya, dan itu berhasil. Itu bukan kapasitor elektrolitik, tetapi yang satu, persegi panjang, dari atas di tengah. Yang sekarang merah.



Papan monitor sangat kecil dibandingkan dengan papan serupa lainnya pada tahun-tahun itu. Bahkan tidak ada papan kinescope - hanya soket (yang tidak begitu jarang di monitor monokrom). Ada beberapa pengaturan di papan tulis, serta konektor 10-pin untuk menghubungkan ke motherboard. Aku ingin tahu socle apa yang ada di sana? Dan mengapa chip 556 - dua timer 555 dalam satu kasus? Generator "gergaji" segera untuk personel dan penyisiran garis?



Papan printer terletak tepat di bawah printer itu sendiri. Dari sana ada loop ke motherboard, serta kabel ke mesin, tombol pengumpanan kertas, kontrol kontras untuk pencetakan, print head, ujung dan sensor kertas.



Motherboard terlindung dari semua sisi. Hanya dua chip ROM, sebuah lubang persegi dibuat di layar:



Kami akan melepas layar dan melihat apa yang menarik di motherboard.



D8156HC-2 - pengontrol input-output. Agaknya, itu mengendalikan printer, karena terletak di dekat konektor printer di sudut kiri atas. Chip ini berisi tiga port: dua 8-bit dan satu 6-bit, 14-bit timer dan 256 byte RAM statis. Nanti kita akan melihat mengapa masing-masing port diperlukan, dan apakah chip benar-benar mengontrol printer. Dia juga, kemungkinan besar, "berkomunikasi" dengan keyboard. Chip menggunakan alamat gabungan dan bus data. Ternyata mikroprosesor melakukan hal yang sama.

HN27C256-20 - ROM 32 kilobyte dengan lebar bus data 8 bit. Ada dua sirkuit mikro seperti itu, ternyata 64 kilobyte. Ini berarti bahwa Wikipedia salah mengatakan bahwa ROM hanya 16 kilobyte. Nah, ROM akan menempati seluruh ruang alamat 64-kilobyte Z80? Dan ada juga 16 kilobyte RAM. Jadi ada semacam pergantian halaman. Mari kita lihat juga ...

NSC800N-3I - mikroprosesor. Ini hanya kompatibel dengan Z80, dan pinout sama sekali berbeda. Di sebelah kiri adalah hanya gabungan alamat dan data bus yang menakjubkan. 8 bit yang lebih rendah dari bus alamat juga digunakan sebagai bus data. Dan untuk membedakan alamat dari data, ada output ALE. Satu berarti bahwa delapan bit terbawah adalah bagian dari alamat. Dan di sebelah kanan - beberapa sinyal. ALE yang sama, serta Read Enable, Write Enable, pilihan antara memori dan port, dan sebagainya. Tentu saja, bekerja dengan mikroprosesor seperti itu lebih sulit daripada dengan Z80 biasa atau klonnya. Ia bekerja, menurut lembar data, pada frekuensi hingga 2,5 MHz, yang berarti bahwa frekuensi kuarsa 5 MHz adalah suatu tempat dibagi menjadi dua. Bandingkan pinout dari prosesor non-standar ini dan Z80 reguler:



HM48416AP-15 - 16 kilobyte RAM dinamis. Dua dari chip ini membentuk 16 kilobyte RAM.

WD1770-PH adalah pengontrol drive Western Digital. Komponen eksternal minimum, kompatibilitas dengan berbagai format untuk menyimpan data pada disket. Secara umum, tidak perlu iklan.

NCR 7250 PY - pengontrol video? Tampaknya dia, karena tidak ada lagi yang mengklaim fungsi ini di papan tulis.

HM6116-4 - 2 kilobyte RAM statis. Secara umum, memori video. Mode video hanya teks, jadi tidak ada lagi. Meskipun ... Ini bukan 80x25 di sini, garis lebih lebar dari 80 karakter, ditambah atribut. Nah, kalau begitu cocok.

Jadi, kami menemukan bahwa mesin memiliki 16 kilobyte RAM dan 64 kilobyte ROM, dan di suatu tempat pergantian halaman harus diimplementasikan. Berjalan-jalanlah di papan sirkuit dengan multimeter dan gambar semua yang kita lihat.

Pertama, cari sinyal Pilih Chip. Mari kita mulai dengan output / CE dari chip ROM, yang memiliki huruf A tercetak pada stiker. Ternyata itu terhubung ke output elemen I. Jadi kemana inputnya pergi? Ke dua output dari chip 74139, berisi dua decoder dengan dua input dan empat output. Dari jumlah tersebut, hanya satu dari kita yang tertarik:



Sinyal A14 dan A15 berasal dari mikroprosesor ke inputnya, yang berarti bahwa memori dibagi menjadi empat blok 16 kilobyte. Input / E (aktif) dari mikroprosesor menerima sinyal / M (pilih memori), sehingga chip 74139 aktif ketika mikroprosesor membutuhkan akses ke memori. Ternyata distribusi ruang alamat adalah ini. ROM "A" dipilih ketika 74139 memiliki unit baik pada output / Q0 atau pada output / Q1, ROM "B" dipilih dengan unit pada / Q2, RAM - dengan unit pada / Q3. Tetapi dengan RAM juga tidak begitu sederhana, maka kita akan mengetahuinya. Jadi, apa yang dipilih dengan kombinasi sinyal yang berbeda pada A14 dan A15:



Pergi ke bus alamat. Seperti yang sudah kita ketahui, semuanya lebih rumit di sana daripada di sistem dengan Z80 biasa. Ternyata untuk memisahkan alamat dari data, kait 8-bit 74373 diterapkan di sini. Input datanya terhubung ke garis AD0 - AD7, dan input kait terhubung ke garis ALE. Ketika sebuah unit muncul di ALE, bagian bawah alamat ditulis pada 74373. Dan input / OE selalu terhubung ke kabel biasa.

Selanjutnya, "bus alamat" akan dianggap jalur keluaran 74373 dalam kombinasi dengan garis atas bus alamat itu sendiri, di mana data tidak pernah ada. Nah, gambar tersebut menunjukkan semuanya:



Sekarang mari kita lihat bagaimana chip ROM terhubung. Dengan koneksi ROM "A" tidak ada yang tidak biasa diamati. Hanya jalur A0 - A14 dari bus alamat murni yang sebelumnya dianggap (setelah 74373). Hanya garis A0 - A13 yang terhubung ke ROM "B". Bagaimana dengan A14? Mungkin garis ini pergi ke kawat biasa atau kekuatan plus, dan setengah kapasitas tidak digunakan? Tidak. Ini berlaku untuk pin 39 (PC2) dari pengontrol I / O A8156. Itu saja dan menjadi jelas dengan berpindah halaman. ROM membagi dua "B" dapat diaktifkan secara terprogram.

RAM, seperti yang kami ketahui, dibuat pada dua chip RAM dinamis masing-masing 16 kilobyte. Setiap byte RAM disimpan dalam dua chip sekaligus, satu nibble di yang pertama, yang lain di kedua.

Untuk memilih alamat, Anda harus terlebih dahulu memilih satu baris, lalu satu kolom. Untuk ini, dua sirkuit mikro 74157 digunakan - empat penyeleksi data dengan dua input dan satu output. Dan sekarang kembali ke skema pertama. Selain output / WR, ada output lain pergi ke input untuk memilih rangkaian mikro 74157 pertama. Ketika nol pada / Q3, alamat baris dipilih, dan ketika ada satu, alamat kolom adalah:



Berjalan melalui konduktor yang dicetak, penulis menemukan bahwa hanya enam dari delapan output dari dua sirkuit mikro 74157 digunakan sebagai alamat MA1 - MA6 untuk sirkuit mikro RAM. Dan jalur MA0 dan MA7 terhubung langsung ke jalur bus alamat A6 dan A7. Chip 48416 memiliki delapan baris dan enam kolom, jadi hanya enam baris yang perlu diaktifkan, dua lainnya dapat dihubungkan langsung ke jalur bus alamat, karena mereka tidak mempengaruhi pilihan kolom.



Urutan menghubungkan garis ke bus alamat tidak mematuhi logika apa pun. Tapi semuanya berhasil. Mungkin lebih nyaman mendesain papan lebih nyaman?

Menarik juga bagaimana chip 74157 di-cascade: output 4Y pertama masuk ke input kedua, dan output 4Y kedua masuk ke baris / CAS:



Tidak seperti ROM, RAM dinamis tidak memiliki jalur terpisah / CE. Seperti yang dipahami penulis, chip ini menyediakan bacaan atau tulisan ketika / CAS nol. Begini caranya: nol pada / Q3 berarti nol pada / CAS. Alamat jalur RAM terbentuk ketika garis ALE adalah nol, dan ketika mikroprosesor tidak diatur ulang.

Kami menemukan ruang alamat, mari beralih ke pinggiran. Penulis juga berjalan di papan sirkuit dengan multimeter dan mendapatkan skema ini:



Sudut kiri atas menunjukkan dari mana sinyal / RD dan / WR berasal dari untuk pengontrol video (VDP). Perhatikan bahwa pilih chip tidak terlihat untuk VDP. Jadi, satu-satunya sinyal yang mirip dengan / CS untuk pengontrol video adalah sinyal ALE dari mikroprosesor. Ternyata pengontrol video menerima data secara umum tentang semua operasi I / O. Kami tidak akan berkonsentrasi pada ini, kami akan melihat apa yang terjadi dengan perangkat input-output lainnya.

Alamat I / O yang tersisa didekripsi oleh paruh kedua chip 74139 - bagian yang bagian pertamanya mengganti halaman ruang alamat. Dekoder ini dipilih ketika operasi input-input dilakukan, dan pada A7 itu nol. Tampaknya garis A7 bertanggung jawab untuk memilih antara pengontrol video dan periferal lainnya. A6 dan A5 menentukan perangkat mana yang akan dipilih oleh decoder:



Bisakah A7 menjadi garis pilih chip untuk pengontrol video, dan apakah dipilih ketika unit ada di sana? Tidak mungkin untuk menentukan tanpa lembar data pada NCR 7250, tetapi ini cukup masuk akal jika efek garis ALE pada pengontrol video tidak diterapkan dengan cara yang sama sekali tidak biasa.

Selanjutnya, penulis melakukan rekayasa balik untuk menghubungkan garis sinyal mikroprosesor:



Diagram yang sama menunjukkan metode untuk menghasilkan sinyal reset. Ketika dinyalakan, kapasitor mengisi daya dengan penundaan, ketika dimatikan, kapasitor akan habis dengan cepat. Sinyal reset / RESET IN terbalik, diumpankan ke mikroprosesor, dan menghasilkan sinyal RESET OUT langsung untuk mengatur ulang berbagai periferal.

Garis interrupt / NMI yang tidak dapat dikerjakan bekerja sama dengan Z80 biasa. Ketika interupsi diaktifkan, null pada baris ini menjalankan rutin interupsi di alamat 0x66. Dalam hal ini, sinyal / NMI berasal dari output timer IC25. Interupsi terjadi setiap kali timer ini meluap.

Mikroprosesor NSC800N juga memiliki input / INTR, yang masuk ke 0x38, tetapi input ini tidak digunakan dalam VideoWRITER.

Ada juga tiga sinyal restart / RSTA, / RSTB dan / RSTC, masing-masing menyebabkan transisi, ke alamat 0x3C, 0x34 atau 0x2C. Dari jumlah tersebut, hanya dua yang pertama yang terlibat, dan mereka dikendalikan oleh pengontrol drive. Dengan sinyal / RSTA, pengontrol drive memberi tahu mikroprosesor tentang status register datanya, dan dengan sinyal / RSTB itu menunjukkan penyelesaian perintah.

Dan sekarang tentang satu baris lagi - S1. Bersama-sama dengan garis S0, itu menentukan keadaan bus. Dengan demikian, pengontrol drive memilih mode baca atau tulis. Tetapi mengapa garis S1 digunakan bukan / RD dan / WR hanya oleh pengontrol drive? Tidak jelas. Garis S0, S1, dan IO / M dapat digunakan dengan baik untuk memilih antara mode baca dan tulis untuk memori dan periferal, tetapi menggunakan garis lain memberikan efek yang sama. Mungkin para pengembang mencoba beberapa opsi dan memutuskan untuk memikirkan metode mendekripsi mode baca-tulis, yang digunakan dalam Z80 biasa? Dalam kasus apa pun, menurut lembar data pada NSC800N dan tabel di bawah, sinyal S1 dapat menjadi sinyal baca dari perangkat periferal, tetapi hanya jika ada juga sinyal pilihan yang langsung menuju ke perangkat:



Perangkat sedang beroperasi, video diambil oleh penulis lain - Grr_I'm_Here:

Source: https://habr.com/ru/post/id450310/


All Articles