ブックマーク / r3etrocompute.wordpress.com (17)

  • Windows + VSCode で 6800 アセンブラ as0 を使う方法

    概要 motorola-6800-assembler (as0) を Windows + VSCode 環境で使うには: Windows10 + WSL + Ubuntu もしくは Cygwin 上で as0 をコンパイル、インストールする。 拡張機能 M6800 Assembly を VSCode にインストールする。 Cygwin を使う場合は、As0 Path 設定を次のような値(as0 インストールパス)に指定する。 /c/cygwin64/usr/local/bin ソースファイルの行末記号を LF に設定する。 詳細と手順 motorola-6800-assembler (as0)  は基的な機能を備えたアセンブラです。マクロやファイルインクルードは使えませんが、SBC6800 のようなシングルボードコンピュータ用のプログラムを書くには手頃です。 as0 は GitHub

    Windows + VSCode で 6800 アセンブラ as0 を使う方法
    zu2
    zu2 2024/08/21
  • Apple II Z80 カードの制作

    ALLPCB で小型基板を月 1 回無料で作成できると聞き、早速ユーザ登録を行いました。まず試しに、先日作成した Apple II 拡張カードの KiCAD テンプレートを利用して Z80 SoftCard 互換基板を作ることにしました。 オリジナル版 Z80 カード(1980 年製 MS Softcard)はカード幅が約 14 cm なので無料 PCB のサイズでは作れませんが、TTL をすべて SOIC パッケージに変更すると 9.5cm x 8cm に収まります(高さ 8cm は Apple II 筐体サイズによる上限)。 [注:後で調べたところ ALLPCB の無料基板枠は幅 15 cm まで可能なようです。] 回路はオリジナル版のほぼ丸写しなのでことさら公開するようなプロジェクトではありませんが、制作を通じて回路構成を理解したり各部信号のタイミングを調べて CPU カード一般の設

    Apple II Z80 カードの制作
    zu2
    zu2 2024/07/21
  • Apple II リモート開発環境:Apple II Pi のインストールと設定

    Apple II Pi(David Schmenk 氏作)はその名の通り Apple II と Raspberry Pi を組み合わせたシステムで、次の各要素から構成されます。 Apple II Pi カード(簡易シリアル通信カード) Raspberry Pi a2pi(ProDOS 常駐ソフトウェア) a2pid(Raspberry Pi OS サービス)と付随ツール群(a2term、a2mon など) 次の機能が提供されます。 ブロックデバイス仮想ドライブ x2 Apple II リモートコンソール 簡易マシン語モニタ Fuse ドライバによるファイル共有 ジョイスティック読出し 詳細は Apple II Pi 公式マニュアルに記載されています。 稿では Apple II リモート開発環境の構築を目的として、Apple II Pi のインストールと設定を行う手順について説明します。

    Apple II リモート開発環境:Apple II Pi のインストールと設定
    zu2
    zu2 2024/07/21
  • Apple II リモート開発環境:VSCode Remote Development

    前回の投稿で Apple II Pi をセットアップし、Apple II 実機と Raspberry Pi の間の橋渡しができました。最後に以下の作業を行って開発環境を整備します。 Raspberry Pi に各種開発ツールをインストールする Mac から Raspberry Pi へ VSCode Remote Development 接続を行う サンプルコードのダウンロードと実行 これにより、普段使用している Mac デスクトップ環境で Apple II ソフトウェアの開発が行なえます。 Raspberry Pi 上の開発環境設定 開発ツールとして git、CC65、AppleCommander を Raspberry Pi にインストールします。 git 環境の整備 インストール sudo apt-get install git git ユーザ名の設定と github への ssh

    Apple II リモート開発環境:VSCode Remote Development
    zu2
    zu2 2024/07/21
  • rrretrocompute!

    Chick-Bug はプロンプト呼び出しのためにハードウェア割り込みスイッチを使いますが、これは元設計通り PIA0 CA2 へ接続します。当面は、前回 PIA のテストに使用したブレッドボード回路をそのまま流用します。 シリアルコンソール対応 冒頭に述べたように、オリジナル Λ-1 のコンソールに加えて ACIA シリアルコンソールをサポートしようと思います。将来的には VDG/パラレルキーボードとシリアル入出力を切り替えるようにしますが、当面はシリアル入出力のみ対応するコードを書きます。次の要領で 機能を変更します。 入力:オリジナル Chick-Bug では PIA0 PA ポートと CA1 に接続されたパラレルインターフェイスキーボードから入力を読み取っていました。これをシリアル入力に置き替えます。 kbread ルーチンの処理をシリアル入力処理に置き換える。 シリアル入力処理は

    rrretrocompute!
    zu2
    zu2 2024/07/20
  • SBC6800 – rrretrocompute!

    注文の基板が到着しました。さっそく 2 枚のカードを製作します。 新 CPU カードの製作とテスト 旧 CPU カードと同じ要領で部品を組み付けます(今回も配線ミスがありジャンパが必要になりました)。最初に CPU カードのみテストします。まず SRAMSEL ピンをプルアップして CPU カード単体で SRAM を常時有効にします。その後、旧 CPU カードと入れ替える形でバススロットに装着します。この時点で Lambda-2022 システムには 64KB フル RAM を実装した新 CPU カードと DMA カードが接続されています。 $0000-$7FFF の 32KB SRAM をテストするために次のプログラムをフロントパネルから入力、実行します。 *** * memtest $0000-$7fff *** * * set val to write val equ $55 ; te

    SBC6800 – rrretrocompute!
    zu2
    zu2 2024/07/10
  • SBC Series – rrretrocompute!

    EMU6802(EMUZ80)でやってみたいこと、残りの一つは割り込み処理です。タイマエミュレーションを PIC 上に作って MC6802 の IRQ 割り込みに接続する構成を試します。 PIC タイマ機能 タイマエミュレーションを作るといっても、PIC はマイコンなので立派なタイマがすでに備わっています。この PIC タイマ機能を 6802 からアクセスできるようにすることが主眼となります。 データシートによると PIC18F47Q84 には 16 ビットタイマ 3 個、8 ビットタイマ 3 個、ユニバーサルタイマ 2 個と豊富な選択肢があります。ここではユニバーサルタイマ TU16A を 6802 に繋げることにします。TU16A は 16 ビットカウンタベースのタイマで多くの機能がありますが、PIC 割り込み、タイマチェイン、外部クロックソースなど EMU6802 では使いそうにない

    SBC Series – rrretrocompute!
    zu2
    zu2 2024/07/08
  • SBC6802 plus Bus、Altair Basic、スタートレック

    電脳伝説様作の SBC6800 向けに、はせりん様が Altair 680 Basic パッチを作成されました。2021 年版 sbc6800 データパックに含まれています。 Altair 8800/680 の当時(1976 年頃)は、Basic インタプリタを実行できる環境を整えるのに相当な投資が必要だったという話です。CPU、メモリ、I/O モジュール、端末コンソール、記憶装置(紙テープまたは CMT?)それぞれの機材が今よりはるかに大掛かりだったので、一式揃えて動かすのは大仕事だったことでしょう。今では 10cm 角基板の SBC とノート PC、USB-シリアルインターフェイスケーブルだけで準備が整います。 Altair Basic を 32KB RAM で使用する この Altair 680 Basic パッチは SBC6800 対応ということで、以前の投稿で紹介した SBC68

    SBC6802 plus Bus、Altair Basic、スタートレック
    zu2
    zu2 2024/07/08
  • rrretrocompute!

    Lambda-2022 マシンで FLEX 2.0 が動くようになりました。6800 / 6809 プロセッサの定番 DOS である FLEX はマイコン DOS としては初期の製品になりますが、アセンブラをはじめ各種言語が利用できて便利です。 「DOS」といっても物理フロッピーディスクならびにドライブをいまさら使う必要は感じられないので、シリアルサーバ Apple2pi のコードを改変して FLEX ディスクドライブをエミュレートしました。Apple ProDOS が 1 ブロック 512 バイトなのに対して FLEX は 1 セクタ 256 バイトが読み書きの最小単位であるため、Apple2pi のディスクエミュレーションコードの該当部分を変更します。FLEX のセクタ数とトラック数はディスク TOC に書かれたパラメータに応じて可変となるので、その処理も追加しました。6800 用クラ

    rrretrocompute!
    zu2
    zu2 2024/06/03
  • Leap キーボードの製作

    概要はいつものごとく Wikipedia を参照いただきたいのですが、Canon Cat は Macintosh プロジェクトの半ばでアップル社を離脱した Jef Raskin 氏が独自に設計したキャラクタインターフェイスのコンピュータ(注 1)です。CPU が 68000 という共通点はあるものの Macintosh シリーズとは全く異なるアーキテクチャを持っています。 まず目につくのはスタイリッシュかつコンパクトな筐体デザインです。オリジナル Mac(128k Mac)と同様に 9 インチモノクロモニタと 3.5 インチFDD 1 基を搭載しており、おおよそのサイズ感も同等です。ただし Canon Cat はモニタと FDD を横並びにしたレイアウトで、またキーボード一体型なので、全体のシルエットは邦の名機 Sharp MZ-80B ないし MZ-2000 を思わせるものがあります。

    Leap キーボードの製作
    zu2
    zu2 2024/04/09
    “Canon Cat は Macintosh プロジェクトの半ばでアップル社を離脱した Jef Raskin 氏が独自に設計したキャラクタインターフェイスのコンピュータ(注 1)です”
  • 8 ビットコンピュータ用シリアルサーバの構成

    「シリアルサーバ」というのは今考えた言葉で、世間で通用する用語ではありません。どういう意味かというと、8 ビットレトロコンピュータに装備されている最低限の通信機能を利用して最近のハイエンドマイコンボード(Raspberry Pi、ESP32 等)ないし PC へ接続し、端末接続のみならず様々なサービス、例えばディスクエミュレーションやネットワーク機能などをレトロコンピュータに提供しようというアイディアです(注 1)。 レトロコンピュータ界隈ではこのアイディアに基づいて次のデバイスが発表されています。 Apple2Pi Fuji-Net レトロパソコンは数多く存在するのでこれ以外にも同様のデバイスがあるかもしれませんが、私が多少なりとも調べてみたことがあるのは上記二つだけです(注 2)。 ポイントは、レトロコンピュータ側は処理能力の限界上あまり複雑なプロトコルを喋れないということです。App

    8 ビットコンピュータ用シリアルサーバの構成
    zu2
    zu2 2023/10/08
  • 6800FLEX Basic と ASCIIART

    Lambda-2022 マシンで FLEX 2.0 が動くようになりました。6800 / 6809 用 DOS である FLEX はマイコン DOS としては比較的初期の製品になりますが、アセンブラをはじめ各種言語が利用できて便利です。 「DOS」といっても物理フロッピーディスクならびにドライブをいまさら使う必要は感じられないので、シリアルサーバ Apple2pi のコードを改変して FLEX ディスクドライブをエミュレートしました。Apple ProDOS が 1 ブロック 512 バイトなのに対して FLEX は 1 セクタ 256 バイトが読み書きの最小単位であるため、Apple2pi のディスクエミュレーションコードの該当部分を変更します。FLEX のセクタ数とトラック数はディスク TOC に書かれたパラメータに応じて可変となるので、その処理も追加しました。6800 用クライアント

    6800FLEX Basic と ASCIIART
    zu2
    zu2 2023/10/08
  • 自作 ASCII キーボードを Apple II Plus に接続する

    ここしばらく作成している ASCII キーボード LMD-3420 の基機能は 7 ビット ASCII キーコードをパラレル出力することです。またこれとは別に、キー押し下げイベントを信号立ち上げ(または立ち下げ)として表す 1 ビットの Strobe 出力があります。 Lmbda-3420 キーボード。ALPS AKB-3420(ほぼ)互換 このようなキーボードをコンピュータに接続する場合、CPU からは 7 ビット ASCII コードは通常の I/O ポート入力として読み出せばいいのですが、Strobe 信号は立ち上がりでフラグがセットされるフリップフロップとして保持し、CPU から任意の時点で読みに行けるようにしておく機構が必要です。また、ASCII コードを読み出したときにフラグが自動的にクリアされると便利です。Λ-1 コンピュータでは MC6821 PIA の CA 入力を使用す

    自作 ASCII キーボードを Apple II Plus に接続する
    zu2
    zu2 2023/04/27
  • Λ-1/Lambda-2022 の拡張(10)ASCII キーボード基板

    表題の「ASCII キーボード」は以前の投稿で「パラレルインターフェイスキーボード」と呼んでいたものと同じです。これをプリント基板化しました。リファレンスモデルである ALPS AKB-3420 にあやかって “LMD-3420” と名付けました。完全にまねっこですが、家の方は廃版になって久しいのでまあいいんじゃないかとうやむやにしておきます。 基板化にあたってシフトロックインジケータと i2c OLED ディスプレイを追加しています。 既存の XVX キーキャップを使用 LMD-3420 のキー物理レイアウトは AKB-3420 に準拠します。右端列の 5 個の独立スイッチを再現したかったためです。独立スイッチはキーマトリクスに含まれずそれぞれ個別に GND に落ちる配線になっており、システム割込みやリセットに使用します。右から二列目の 5 個のキーにもリレジェンダブルキーキャップが使

    Λ-1/Lambda-2022 の拡張(10)ASCII キーボード基板
    zu2
    zu2 2023/03/19
  • Λ-1/Lambda-2022 の拡張(8)パラレルインターフェイスキーボードの作成

    「マイコン手づくり塾」で Λ-1 に接続して使用するキーボードは ALPS AKB-3420 というパラレルインターフェイス仕様の機種です。7 ビット ASCII コードと Strobe 信号を送出します。 ALPS AKB-3420 はとうの昔に廃番になっており、それどころか現在ではパラレルインターフェイスキーボードというカテゴリ全体が、オークションサイトで探してもたまに見かける程度という希少品種です。 さいわい昨今はキーボード自作部品やツールキットが潤沢に供給されています。自作キーボードの手法でパラレルインターフェイスキーボードを作成しようと思います。 自作キーボードと言いながら、既製品を改造して近道しておりますが… パラレルインターフェイスキーボードの構成 自作キーボードのファームウェアといえば qmk が定番ですが、qmk ではコンピュータとのインターフェイスとしてサポートされるの

    Λ-1/Lambda-2022 の拡張(8)パラレルインターフェイスキーボードの作成
    zu2
    zu2 2023/01/07
  • Λ-1/Lambda-2022 の拡張(2)MB8870 CPU カード再設計

    Chick-Bug モニタのソースコードを読んで仕様とハードウェア処理の概要を把握したので、これに応じて CPU カードを作り直そうと思います。次の方針で設計します。 RAM 60KB、ROM+I/O 4KB のメモリ構成 VDG VRAM 8KB の追加に対応 最初にメモリマップを考えます。 次の要領で割り当てています。 CPU カードには 32KB SRAM チップを二個使って 64KB 全域に RAM を割り当てる ROM、VRAM、I/O のアクセス時には SRAM セレクトを無効化する ROM、VRAM、I/O のアドレスデコードは I/O カード設計時に詳細を決めます。1、2 の方針を元に再設計した CPU カードの回路は次のようになります。 この回路は Lambda-2022 CPU Rev. 2 となります。Rev. 1 からの変更点は以下の通りです。 2 個めの 7125

    Λ-1/Lambda-2022 の拡張(2)MB8870 CPU カード再設計
    zu2
    zu2 2022/12/13
  • Λ-1/Lambda-2022 の拡張(1)Chick-Bug 解析と計画

    以前の投稿で書籍「マイコン手づくり塾」の前半およそ三分の一の内容を実装するマシンを製作しました。フロントパネル DMA で 6802 コンピュータのメインメモリを直接読み書きするという目標を達成できたのでこの段階で終了しようかとも思いましたが、せっかくなのでもう少し Λ-1 の機能拡張を試みます。 *** 「マイコン手づくり塾」の後半はカラーディスプレイインターフェイスとシステムモニタプログラムの製作が山場となります。フルキーボードやカセットインターフェイスも追加され、仕上げとして Tiny BASIC を移植すると当時のいわゆる「マイコン」市販品、今で言うパソコンと同レベルのシステムが構築されて自作派にとって大きな目標達成となります。 当時の状況ではこれは大事業でした。大半のユーザは既製品のマイコンシステムが手元になかったので、各種の機材や開発環境がない状態でシステムを作り上げる必要があ

    Λ-1/Lambda-2022 の拡張(1)Chick-Bug 解析と計画
    zu2
    zu2 2022/12/13
  • 1