các yếu tố điện mới cho phép chúng ta xây dựng lại hệ thống dây điện cũ hiệu quả hơn rất nhiều. Đặc biệt, bộ dụng cụ FPGA dễ dàng có thể truy cập cũng như giá cả phải chăng cung cấp khả năng kết hợp hệ thống dây điện của nhiều máy tính cũ như một giải pháp “on-a-chip”.
Khi tôi xử lý để có được một màn hình led bong bóng cũ cũng như bàn phím ma trận khá cơ học, tôi đã đưa ra quyết định phát triển một bản sao của một máy tính bảng đơn cũ. Lựa chọn hợp lý dường như là phát triển KIM-1 hoặc Heathkit ET-3400. Bản sao của Kim-1 đã tồn tại, ngay cả đối với Arduino, vì vậy nhiệm vụ của tôi sẽ được giảm thiểu để liên kết bàn phím cũng như hiển thị. Tuy nhiên, sau đó tôi tự nhủ rằng tôi sẽ sử dụng sự thật rằng màn hình bong bóng của tôi có 9 vị trí như một lý do để phát triển PMI-80 máy tính bảng đơn huyền thoại của Tiệp Khắc, sử dụng màn hình chính xác tương tự. Bản sao của tôi là một FPGA, hoặc đúng hơn là một trình giả lập FPGA của máy tính cực kỳ này.
PMI-80.
PMI-80 gốc [Nguồn: Blog DLW] Rất có thể không có nhiều người trong số những người đội khách của Hackaday, những người sẽ hiểu chiếc máy tính này, được sản xuất tại thập niên 80 ở Czechoslovakia cũ. Hackaday Editor [Brian Benchoff] có thể là người duy nhất đọc điều này có một mẫu vật như vậy. Tuy nhiên, nếu bạn có một trong những chúng tôi muốn nghe về nó trong các ý kiến dưới đây. Đối với những người không quen thuộc, hãy giới thiệu nó trước.
PMI-80 là một máy tính tổ chức bảng duy nhất dựa trên bộ xử lý Intel 8080. Xem xét rằng nó được sản xuất vào những năm tám mươi đằng sau cái gọi là rèm sắt, nó sử dụng các chip Tesla của Tiệp Khắc thay vì các chip Intel ban đầu, mặc dù chúng có chức năng giống hệt nhau, bao gồm cả việc đánh số (Intel 8080A có một chỉ định MHB8080A, PIO 8255A được cung cấp dưới dạng MHB8255A Vân vân.)
Cơ sở bao gồm hệ thống dây điện “Holy Trinity” chung (8080A – 8224 – 8228). Trên đầu vào của mạch nhựa 8224 là một tụ điện cũng như diode, cung cấp thiết lập lại sau khi được bật nguồn. Crystal có 10 MHz, vì vậy máy tính đang chạy ở tần số 10/9 = 1.111 MHz. Mạch đầu vào INTA 8228 được liên kết đến + 12V, đảm bảo rằng trong trường hợp yêu cầu gián đoạn, hướng RST 7 đã được thực hiện (I.E. Chuyển đến địa chỉ $ 0038).
Bộ nhớ được phát triển từ 1K Prom (8608, 1kx8) cũng như chip RAM 1 KB (2x 2114). Prom được cung cấp tại một địa chỉ $ 0000 – $ 03ff, RAM ở mức $ 1C00 – $ 1FFF. Thậm chí có thể thêm thêm 2708 bộ nhớ ($ 0400 – $ 07FF) vào bảng.
Màn hình VAD30 [Nguồn hình ảnh: NOSTALCOMP.CZ] Máy tính cũng bao gồm màn hình VQD30, được sản xuất tại Đức trước đây (Deutsche Demokratische Republik). Đây là một sự tương đương thực tế của màn hình NSA1198 hoặc CQYP95 – 9 màn hình Cathode điển hình bảy phân đoạn. Dữ liệu đầu vào được cung cấp bởi một bàn phím được phát triển dưới dạng ma trận 3 × 9. Cả hai thiết bị ngoại vi này được điều khiển bởi một mạch dựa trên PIO 8255. Cổng một ổ cắm (PA0-PA6) được quản lý các phân đoạn riêng tư (cực dương) với các bóng bán dẫn ổ đĩa. Bốn bit Cổng C thấp nhất đã được giải mã bởi một mạch MH1082 (tương đương 74145) vào mã 1-từ-9, được sử dụng để chọn vị trí, cũng như kích hoạt đồng thời các cột của bàn phím. Các dòng bàn phím được liên kết với bit PC4-PC6.
Các chương trình được giữ trên băng một cách cực kỳ cơ bản, tương tự như vậy được quản lý bằng PIO 8255. Mỗi mục nhập có một bit bắt đầu (1), sau đó là giá trị thực tế, cũng như một bit dừng (0). Trong quá trình ghi, một chương trình đã tạo ra một chu kỳ tần số nhà cung cấp là 0,2ms trên cổng PA6 cũng như strobbed với PIN PA7. Trong quá trình đọc thông tin được cung cấp tại bit PC7.
PIO 8255 được liên kết như một thiết bị ngoại vi tại các địa chỉ $ f8- $ fb. Bảng máy tính đã bật chèn thêm một mạch PIO, sau đó được liên kết để giải quyết các $ F4- $ F7 cũng như được cung cấp hoàn toàn cho các ứng dụng.
Hoạt động
Bàn phím được bao gồm 25 bí mật được thiết lập trong Ma trận 5 × 5. Bên trong, tuy nhiên, nó có dây khác nhau. Hai bí mật (RE cũng như I) đã dẫn trực tiếp đến các đầu vào của bộ xử lý (lần lượt là INT). Các bí mật lưu trú (0-9, a-f, ex, r, b, m, l, s cũng như =) đã được kết nối trong ma trận 3 × 9 đã được chỉ ra trong đó tại đây.
Sau khi bật, màn hình đã kiểm tra “PMI-80” cũng như máy tính chờ bất kỳ loại máy ép quan trọng nào. Sau đó, nó đã đi vào chế độ màn hình chính, được xác định bởi “?” ở phía bên trái của màn hình. Sau đó, máy tính chờ lệnh màn hình.
Mệnh lệnh
M – sửa đổi / xem nội dung bộ nhớ. Sau khi nhấn M ký tự M xuất hiện ở bên trái cũng như máy tính chờ nhập địa chỉ. Nhấn = Kích hoạt mục nhập dữ liệu. Mỗi lần bạn nhấn = Hướng dẫn địa chỉ tăng cường 1. Đầu vào dữ liệu được hoàn thành bằng cách nhấn bí mật khác với = cũng như 0-f.
R – xem cũng như sửa đổi nội dung của các thanh ghi. Sau khi nhấn vào ký tự “r” xuất hiện ở bên trái cũng như máy tính chờ bộ khóa tương ứng với cặp đăng ký (af = a, b = bc, d = de, hl 9 = 8 = sp). Một lần nữa, có thể tùy chỉnh dữ liệuCũng như sử dụng = bước đến cặp tiếp theo.
Ex – Chạy một chương trình. Máy tính chờ một địa chỉ, nhấn = nhảy vào chương trình. Chương trình có thể bị chấm dứt bằng cách nhảy vào địa chỉ 0 hoặc địa chỉ 8 (tương ứng để chuyển sang màn hình).
BR – chính xác giống như G, tuy nhiên với một điểm dừng. Đầu tiên bạn yêu cầu phải đi vào một địa chỉ mà chương trình phải được ngưng, cũng như sau đó là địa chỉ bắt đầu tiếp theo.
L, s – tấn cũng như lưu dữ liệu (không được triển khai ở đây)
Tôi – gián đoạn. Kích hoạt gián đoạn cũng như nhảy đến giải quyết $ 0038. Chỉ có hướng dẫn: JMP $ 1FE6. Tại địa chỉ này (trong RAM), bạn cần thực hiện lần đầu tiên xuất hiện một bước nhảy vào thói quen xử lý của bạn.
Thiết lập lại lại. Trong quá trình đặt lại RAM không rõ ràng, do đó, nó có thể được sử dụng như một sự gián đoạn chương trình cũng như trở về màn hình.
Một màn hình cung cấp với các bình luận được cung cấp từ kho Git.
PMI-80 trong FPGA
Tôi đã chọn một bộ dụng cụ FPGA DEV, EP2C5 / EP2C6, giống như cùng một Searle được sử dụng cho nhiều người của mình (cảm ơn vì cảm hứng!). Nó có một chip Altera Cyclone II mà tôi đã lập trình sử dụng VHDL.
Tôi đã liên kết một bàn phím dưới dạng ma trận 5 × 5, không phải trong 3 × 9 gốc; Mã hóa thành một loại thích hợp cho PMI đang được xử lý bên trong FPGA.
Màn hình được liên kết với các điện trở trực tiếp đến FPGA, cũng như một lần nữa, tất cả logic cũng như ánh xạ lại thành một loại phù hợp để thi đua đang được thực hiện bên trong FPGA.
Một giao diện để làm việc với một máy ghi âm bị thiếu, tôi chưa thực hiện điều này. Bạn có thể thấy ứng dụng hiện tại của mình tại GitHub Repo của tôi.
Tôi đã sử dụng một ứng dụng VHDL miễn phí của 8080 được gọi là Light8080. Nó không phải là “hoàn hảo”, tuy nhiên, điều đó là không cần thiết. Tôi cũng đã sử dụng một thành phần PIA8255.
Mã chính nằm trong dữ liệu rmi.vhd, trong đó tất cả “logic keo” cho mỗi thành phần: 8080, 8255, RAM, ROM, bàn phím cũng như LED.
Các kho lưu trữ tương tự bao gồm các yếu tố kiểm tra mà tôi sử dụng khi làm việc trên mô phỏng, ví dụ. Một màn hình cơ bản hiển thị các số thập lục phân. Đưa cuộc thi đua để làm việc đúng cách có phần bấp bênh. Ứng dụng ban đầu của bộ xử lý 8080 đã xử lý thời gian không tiêu chuẩn, vì kết quả chỉ định lẻ xuất hiện trên bus, ví dụ, RAM đã ngừng cung cấp thông tin trước khi bộ xử lý được xử lý để kiểm tra nó, v.v. Một vài điều hỗ trợ tôi:
Kiểm tra ROM với một mã cơ bản
Trình tạo đồng hồ có tần số khoảng 1 Hz
Màn hình thập lục phân (Thành phần ngay lập tức làm mới nội dung màn hình, tôi đã đưa dữ liệu vào đầu vào trực tiếp từ dữ liệu hoặc địa chỉ bus)
Intera Inve – Đầu dò logic trực tuyến được liên kết với mạch, nó truyền dữ liệu qua giao diện JTAG với IDE Quartus.
Xây dựng phần cứng cũng như sáng lập trình giả lập là một ngày cuối tuần làm việc cũng như nó vẫn là “phiên bản 0.1”. Trong tương lai, tôi muốn kéo dài hệ thống để mô phỏng các máy tính một ván đơn khác (Kim, ET, có thể là Cosmac ELF) cũng như mô phỏng băng, có thể là giao diện RS-232. Hãy xem bản demo video nhanh. Kiểm tra các tài nguyên dưới đây, cũng như để lại một bình luận nếu bạn đang suy nghĩ nhiều hơn về nhiều điện toán retro trên các dự án chip.
Tài nguyên
Mã nguồn: https://github.com/maly/fpmi
Mô tả PMI-80 trong tiếng Slovak:
http://www.nostalcomp.cz/pdfka/pmi80_popis.pdf.
Nhấp để truy cập vào PMI80_DOPLNKY.PDF
Nhấn vào đây để có quyền truy cập vào PMI_prirucka1.pdf
http://www.nostalcomp.cz/pdfka/pmi_prirucka2.pdf.