GithubHelp home page GithubHelp logo

ryomuk / test4004 Goto Github PK

View Code? Open in Web Editor NEW
6.0 2.0 0.0 5.94 MB

Test system for Intel MCS-4 (4004) micro computer set

License: MIT License

Assembly 99.47% Makefile 0.53%
4004 intel sbc single-board-computer vintage-computers

test4004's Introduction

test4004

Test system for Intel MCS-4 (4004) micro computer set

This document is written mostly in Japanese. If necessary, please use a translation service such as DeepL (I recommend this) or Google.

概要

昨年,運良くIntel 4004を入手することができました.せっかくだから動かしてみようと思い,このプロジェクトを始めました. このレポジトリ(test4004)は電卓を作ったところまでで完成.続きはメモリ関連のハードウェアの変更も伴うので別レポジトリ(https://github.com/ryomuk/VTL4004 )に移行します.

これまでに作ったもの

実験用ボードの仕様

  • CPU: Intel 4004
  • Clock: 740kHz
  • DATA RAM: 4002-1(320bit) x 4
  • Program Memory
    • ROM: AT28C64B (8k x 8bit EEPROM)
      • 000H〜EFFHの3.75KB利用可能
    • RAM: HM6268(4k x 4bit SRAM)x 2個
      • F00H〜FFDHの254byte x 16バンク, 合計約4KB
  • 通信ポート: 9600bps Software Serial UART (TTL level)

ToDO

動画

Youtubeで関連動画を公開しています.

ブログ

関連する情報が書いてあるかも.

参考にした文献,サイト

4004関連開発事例

データシート

開発環境

更新履歴

  • 2023/2/20: ハードウェアをrev.0.2に更新
    • プログラム領域のメモリ(6116)のA8〜A10を4002のポートに接続してバンク切り替えで256byte(正確には254byte) x 8 バンク使えるようにした.
    • これに伴い,バンク窓以外の空間をROM用に使う余地がある.
    • モニタプログラムにバンク切り替え命令('B')を追加.
    • rev.0.1は,「CM0とCM1に4002-1を2づつ」という構成でしたが,「CM0に4002-1を2つと4002-2を2つ」という構成も可能にしました.ピンヘッダでCMのラインを切り替えます.
  • 2023/2/21: PM_READ_P0_P2 を PM_READ_P0_P1 に変更.
  • 2023/2/23: 上記にバグがあったので修正.CTOI_P1_R5をCTOI_P1に変更.
  • 2023/2/24: ハードウェアをrev.1.0に更新
    • プログラム領域のROMを2716から28C64B(2764等も可)に変更.
      • 000H〜7FFHだったROM領域を000H〜EFFHに拡大
    • プログラム領域のRAMを6116から6268(たぶん6168でも可)に変更
      • 254byte x 16 バンク使えるようにした.
    • 通信ポートをRAM3に,PMのRAMバンク指定用のポートをRAM0に変更
  • 2023/3/12:
    • RAM2, RAM3を4002-1から4002-2に変更
      • RAM2, RAM3のバンク(CMRAM)の設定を1から0に変更
    • CR,LFが入力されたときの挙動の変更.(CRを無視していたのをCR or LFでの入力にした.)
  • 2023/4/14: 0100H前後のメモリが重複してSQRTの計算時に暴走してしまっていたので修正
  • 2023/7/5: 回路図で6268のピン番号の一部に誤りがあったので修正.(rev1.0→1.01)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.