audio code board PROTOとraspberry pi 3との接続 proto raspberry----- -----sck(I2S_SCK) -> rpi 12 GPIO 18 / PCM_CLKmiso(I2S_DOUT) -> rpi 38 GPIO 20 / PCM_DINmosi(I2S_DIN) -> rpi 40 GPIO 21 / PCM_DOUTadcl+dacl(I2S_LRCK) -> rpi 35 //both proto…
Raspberry Pi PICOのPIOをArduino IDEを使って書く方法のメモです。 PIOでLチカっぽいことをする方法 まず、PIOのアセンブラを書きます。この時、PIOに関するCのコードを併記しておくと、設定の修正があった時、1つのファイルにまとまって情報があって楽に…
Raspberry Pi PicoのPIOをMicroPythonから使った時の備忘録です。 例えば、GPIO0の立ち上がりによって、インプットピンがHIGHになるのを待って、ある波形をGPIO15ピンから出力する場合は、MicroPython用のPIOアセンブラの記法では以下のようになる。 @rp2.as…
With an approximate understanding of the circuit configuration and the exchange of signals, I directly observed the waveform using a logic analyzer. The topmost signal is transmitted from the keyboard to the M68, and the one below it is th…
おおよその回路構成と信号のやりとりの想像がついたところで、ロジックアナライザで波形を直接観察しました。 信号の全景 最上段が、キーボードからM68に送信される信号で、その下が、M68からキーボードに送られてくる信号です。下は、74166と74164に入力さ…
I have transcribed the wiring diagram of the SORD M68 keyboard into a more abstract circuit diagram. 74166 sends the keyboard press information as a serial 8-bit data. Assuming it sends the same data as the SORD M23, I believe it would be …
SORD M68のキーボードの結線図から、抽象度を上げた回路図に書き起こしました。 74166がキーボードの押下情報をシリアル8ビットで送るわけですが、SORD M23と同じデータが流れるとすれば、それは、04h(0000 0100)、08h(0000 1000)、10h(0001 0000)、20h(0010…
I have started analyzing the circuitry of a SORD M68 keyboard that has been left untouched for many years. Although I haven't fully uncovered the entire circuit yet, I've been able to understand the basics of its operation. It seems that t…
何年間も放置していたSORD M68のキーボードの回路についての解析を始めました。まだ、回路全体を明らかにできていませんが動作の概要は知ることができました。M68のキーボードは1980年代のPCに典型的なキースキャン方式で、キーマトリクスの押下情報(パラレ…
Z80とイーサーネット Z80マシンであるSORD M23をLANにつないでみたいという願望があり、調べてみるとおなじくZ80 マシンであるMSXにはObsoNETというイーサーネットカードがあることを知りました。手元にMSXがあるので、さっそく作ることにしました。今回作成…
X68000用CP/M-68kのBIOSをアップデートしました。以下の2点を修正しました。 シフトキーなどメタキー入力の挙動修正 CTRL-Cキーの挙動動作 アップデート済みのCP/M-68KディスクイメージをGoogleDrivに置きました。 drive.google.com 通常使用に欠かせない修…
FreeDOSでは、LANカードのパケットドライバがあればネットに接続することができます。メジャーなカードなら大抵パケットドライバがあるので、DOS環境で手軽にネット接続できるようになります。 FreeDOSのアプリ管理プログラムFDIMPLESからmTCPをインストール…
SORD FUTURE32αにはバックアップ装置としてテープストリーマーが搭載されています。入手したときに興味を持ち、実際に動かしてみたいと思っていました。 今回取り上げたのはTEAC MT-2ST/N50です。このバックアップ装置は、磁気データカセット(D/CASとも言う)…
X68000用CP/M-68K(ver1.2)のディスクイメージ(d88とXDF)をGoogle Driveに置きました。イメージの入ったディレクトリへのリンクを張っておきます。X68000Zでも動くようです(Cコンパイラのディスクだけ確認しました)。 DISK1~8は、CP/M-68K(Ver1.2)の配布フ…
BIOSの全アセンブラコード X68k用CP/M-68KのBIOS(IOCS版)を示します。 ;***************************************************************** ;* CP/M-68K BIOS * ;* Basic Input/Output Subsystem * ;* For SHARP X68000 with floppy disk controller * ;**…
ディスクI/Oについて CP/M-68KのディスクI/OはCP/M-80と同じ128バイト単位の読み書きになります。やり取りに使われるメモリ空間は、CP/MのDMAアドレスに書かれています。DMAと書いてありますが、もはやDirect Memory Accessと言う意味はほとんどなく、単にデ…
SHARP X68000にCP/M-68Kを移植しようと思います。 開発環境 エミュレータ xm6gを使用しました。X68000で最強と噂されるエミュレータです。デバッグ機能は操作が直感的で痒い所に手が届く素晴らしいソフトウェアです。 retropc.net CP/M-68Kのソースコード 68…
SORD M23用のCP/Mの開発はエミュレータ上では一段落したため、実機上でも動くか検証します。 ブートからハマりましたが、ブートできることですべて解決しました。結論から言うと、FDC周辺回路(C5h)に適切なパラメータが設定されていない為に、起動できない状…
z88dkについて z88dkは知る人ぞ知る超有能Cコンパイラ&アセンブラツールキットです。対象PC(時代的にはマイコン)はなんと100以上です。当然ながらAM9511もサポートされているのですが、まだDEVELOPMENTのようです。 SORD M23用にファイルをいくつか修正する…
前回のBASCIのサンプルコードにはバグがあり、特定の条件のときにとんでもない数字になってしまいます。 以下、修正したコードです。 10690 REM POP FLOAT FROM AM9511 STACK, RETURN IN X 10700 B3 = INP(AM.DATA) 10710 B2 = INP(AM.DATA) 10720 B1 = INP(…
AM9511.BASの中を見る。 Am9511エミュレータに添付されているMBASIC用のサンプルコードAM9511.BASは、非常によくできています。これだけ見れば、Am9511に計算させることが簡単にできるようになります。 まず、最初に初期化。 1130 AM.STATUS = &H43 1140 AM.…
SORD社はAm9511が大好きです。様々な機種に搭載しています。SORDを楽しむためには、Am9511の知識が必要と考え調べました。 AMD Am9511(Intel i8231)について Am9511は8ビット時代の高速浮動小数点演算ユニットです。詳しい解説は、他の方が一杯書いているの…
First, rename the BOOT ROM (Ver. 27B) file to BOOT.ROM. Start m23.exe. Press the Control button. Click on Debug Main CPU.Then, Debug console window opens. In the debug console, type "bp 66" and return. "bp" meand Break Point. Type "g" and …
FM-7版S-OS SWORDを入力、動かしました。このS-OSは、Oh!MZ1987年8月号に掲載されたものです。FM-7のCPUは6809ですので、Z80用のS-OSは動きませんが、Z80カードというオプションがあり、これによりS-OSを動かすことができます。しかし、これにとどまらず、Z8…
/* https://github.com/microsoft/vscode/blob/master/extensions/markdown-language-features/media/markdown.css */ /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corpor…
CP/Mの入手 cpm2-asm.zipと、cpm2-plm.zipを入手する。 CBIOS.ASMをZ80表記にする。 CBIOS.ASMはcpm2-plmのディレクトリ内にある。まずTOZ.EXEを入手する。ターミナル画面からMS-DOS playerを使って以下のように入力する。 > msdos.exe TOZ.EXE CBIOS これで…
WRITE編です。これもSORD M68のときとほぼそのままです。 DMAコマンドチェーンは以下の通りです。 DMA_WRITE_COMMANDS: DB 16H DB 0C3H,0C3H,0C3H,0C3H,0C3H,0C3H DB 83H ; STOP DMA DB 79H ; DB 00H,020H ; source memory address DB 00H,0FFH ; byte numbe…
SORD M23のFloppy Disk ControllerはMB8877A(FD1771)です。これはSORD M68と同一ですので、以前、CP/Mを移植したルーチンがほぼそのまま利用できます。 I/Oアドレスは以下の通りです。 FDC_COMMAND EQU 0C0H FDC_STATUS EQU 0C0H FDC_TRACK EQU 0C1H FDC_SEC…
SORD M23のキーボードの仕組みについて調べました。 M23のキーボードはI/Oポートe0~efに割り当てられています。何かキーを押すと、このポートのどれかに04h、08h、10h、20h、40hが入ります。 I/Oポートe0~efとこの値はキーの物理的に位置によって決まりま…
Takeda氏が解析してくださったおかげで、色々なことが容易になりました。 今回は文字を表示します。 SORD M23のCRTCはHD46505SでBOOT ROM内で、80桁、25行に設定されています。 テキストVRAM(文字コード)はF800hからFFFFhまで、テキストVRAMのアトリビュート…