-
Notifications
You must be signed in to change notification settings - Fork 0
JR 100技術情報
Kenichi Miyata edited this page May 5, 2020
·
1 revision
このWikiではJR-100に関する技術情報をまとめてみます。
セーブデータ中では、1バイトの値をスタートビット1ビット(0b0)とストップビット2ビット(0b11)を合わせて、11ビット分で表現します。また、送信するビット列はビット単位でのリトルエンディアンであり、LSB(ビット0)からMSB(ビット8)の順に出力されます。
| オフセット | バイト長 | 値 |
|---|---|---|
| (非データ部分1) | - | 0b1 |
| (非データ部分2) | - | 0b1111_1111_0 (9ビット) * 28 (*1) |
| (非データ部分3) | - | 0b1 * 3828 |
| 0 | 16 | ファイル名(*2) |
| 16 | 2 | 先頭アドレス(*3) |
| 18 | 2 | プログラム長N |
| 20 | 1 | フラグ (*4) |
| 21 | 11 | パディング (0x00 * 11バイト) |
| 32 | 1 | オフセット0〜32の32バイトの合計値の下位1バイト |
| (非データ部分4) | - | 0b1 * 255 |
| 0 | N | プログラムデータ |
| N | 1 | プログラムデータの合計値の下位1バイト |
- (*1) JR-100に付属のデモカセットでは、非データ部分2の繰り返し回数が21回となっており、厳密に守らなくてもLOAD/MLOADで読み込めるようになっています。
- (*2) ファイル名の最大長は15バイト。16バイトに満たない部分は0x00で埋める。
- (*3) BASICプログラムの場合は常に0x0246である。
- (*4) BASICプログラムの場合は0x00、マシン後の場合は0x4D('M')となる。