ライン

BASIC搭載カラーテレビゲームシステム MachiKania

ライン

このページは開発終了した初代MachiKaniaのページです。

Raspberry Pi Pico搭載モデル「MachiKania type P」はこちら(2022.8.27〜)

PIC32MX上位モデル「MachiKania type M」はこちら(2018.8.3〜)

2代目モデル「MachiKania type Z」はこちら(2016.8.5〜)


201626
  201878 R1.4  


 MachiKaniaBASICSDBASIC
  MachiKania  

トップ画像



MachiKaniaでできること


  MachiKania
   
   BASIC
   
   使
   BASIC
   SD
   SD使
   
 

ファイルロード画面

利用シーン


MachiKaniaの作り方


  3MachiKania
  1. 
  2. 
  3. SD
 

1

 
  2016.4.3
  2016.9.19
 
  PICPIC32MX250F128B4STARTFIRE
  I/ORB8RB9RA1
  RB8RB9PS/25V

 
  MachiKaniaSDSDSDSDDIPPS/2RCAACDCDIP便

 
  3.579545MHz

 
  SD3.3VPS/25V5V3.3V5VAC3.3V
 

回路図
 

 C18152330Ω100Ω2016.8.1

 PICPIC32MX170F256BMachiKania type Z(2016.8.5)

 TA48M033FTA48033S(2018.5.1)  

部品表
部品表


ブレッドボードでの製作例

ブレッドボードでの製作例 (クリックで拡大)

プリント基板での製作例

プリント基板での製作例 基板入手方法


部品表掲載以外に必要なもの
電源5VのACアダプタ利用がお勧め。3.3Vはレギュレータで降圧する
PICkit3ブートローダの書き込みに必要。PIC32に書き込みができれば他のものでもOK
ブートローダ書き込み済みマイコンを購入すれば不要(入手方法
SDカード1GBもあれば十分。マイクロSDカードでも可
パソコンPICkit3利用時、SDカードの初期コピー作成時に使用
SDカードリーダライタパソコン連携する際に必要
テレビビデオ入力端子のあるもの。パソコンのビデオキャプチャユニットなどでも利用可能
PS/2キーボードBASICプログラムを組む際必要
ビデオケーブル、音声ケーブルテレビに接続します


(2)ブートローダプログラムの書き込み

  2016.4.29 
  SDSDSDMachiKania BASICBIOS
  PIC32MXPICkit3PICkit2pic32progPIC32MX
  MachiKaniaMachiKaniaPICkit3
  PIC32MX250F128BPICkit3MPLAB X IDEMPLAB IPE使bootloader.hexMPLAB IPEpic32prog使MPLAB IPE使3.3VMPLAB IPEPICkit3
  DisconnectPICkit3MachiKaniaPICMachiKania  


※MPLAB IPEでPICkit3から電源を供給する方法
 右図の手順�Bの代わりに、以下の設定をします。

 [Settings]-[Advanced Mode]とし、パスワード「microchip」でログオン。左ボタンの「Power」メニューで[VDD]を3.3V選択し、[ICSP Options]の[Power Target Circuit from Tool]にチェックを入れる。あとは左ボタンで[Operate]に戻る。

Raspberry PiでPICのフラッシュメモリに書き込む方法
 Raspberry Piがあれば、PICkit3等がなくてもPickleというフリーソフトを使ってPICに書き込むことができます。上記回路図でPICkit3からつながる3つのピンが、抵抗3本をはさんでRaspberry Piに変わるだけです。また、電源もRaspberry Piから取れます。以下に簡単な説明を記載しました。
 ラズパイでPIC32MXに書き込み

PICkit3で書き込むだけの回路

PICkit3で書き込むだけの回路

PICkit3接続の様子

PICkit3接続の様子

MPLAB IPEでの書き込み手順

MPLAB IPEでの書き込み手順

(3)SDカードの準備

 MachiKania BASICシステムではSDカードまたはマイクロSDカードが必須です。FAT16およびFAT32フォーマットに対応しています。容量は1GBもあれば十分です。先ほどダウンロードしたファイルからbootloader.hex以外の拡張子「HEX」のファイルと拡張子「BAS」のファイル、および「MACHIKAN.INI」をパソコンに接続したSDカードリーダライタを使って、SDカードにコピーします。本システムはディレクトリ構造には対応していませんので、ファイルは全てルートディレクトリにコピーしてください。このSDカードはいつもMachiKaniaのSDカードスロットに挿入しておいてください。

SDカードにファイルコピー

SDカードにファイルコピー


ダウンロード

 ここまでに紹介したシステムに関するファイルをダウンロードできます。
 PIC32MX170F256B/PIC32MX270F256Bをお持ちの方は、グラフィック機能追加など機能アップしたMachiKania type Zをご利用ください。MachiKania type Z」用ファイルはこちらから

Download 動作に必要なファイルとサンプルファイル一式(bootloader.hex以外はSDカードにコピーする)
bootloader.hexブートローダ本体。PICkit3等を用いてPICマイコンに書き込む
MACHIKAN.HEXMachiKania BASICシステム。SDカードに入れてブートローダから書き込みと実行
MACHIKAN.INIMachiKania BASICシステムの設定ファイル
その他ファイル「.BAS」ファイルはBASICサンプルプログラム。「.HEX」ファイルはブートローダで起動可能な実行ファイル(C言語で作成したサンプルゲーム)
Download ソースファイルおよびライブラリファイル一式
ps2keyborad.X.aPS/2キーボード用ドライバ
lib_colortext32.aカラーテキストビデオ出力ライブラリ
libsdfsio.aSDファイルアクセス用ライブラリ
App_32MX250F128B.ldブートローダ対応プログラムを作成するためのリンカースクリプト
その他ファイルMachiKania BASICシステムソースファイル。LGPL(v2.1)のライセンスに基づきソース公開しています。


   (2016.3.27) BASICBLOCK.BAS
  (2016.4.14) MachiKania BASICSD
  (2016.4.24) 
  (2016.5.03) 
  (2016.5.19) RESTORE
  (2016.7.27) 
  (2016.11.13) 
  (2017.5.6) 
 

 C
  SD   

使い方

MachiKaniaブートローダ

  PS/2MachiKania
  SDHEX
  MachiKania4使MACHIKANFIREMachiKaniaBASICPICMachiKania BASIC
  使MachiKania6  

ブートローダ画面


 

MachiKania BASICシステム画面

MachiKania BASIC
 
MachiKania BASICシステム

  MachiKania BASICKatsumiBASIC KM-1120KM-BASIC
  KM-BASIC32bitBASIC
  KM-BASICBASICEnter RETURNWindows使Enter
  1
  2017.5.6
  使

  RUNF4
  SDF28.BAS.TXT

  BASIC使Shift1
  Scroll Lock2Scroll Lock
 

BASICプログラムサンプル

BASIC
 


サンプルプログラム実行結果


 



使
エディタ使用キー一覧

終了方法

  MachiKania BASICBASICOKBreak in xxxxxx
 
  1.END
   2.CtrlPause/Break
   3.STARTFIRE4
 
 BASICMachiKania BASICSD~TEMP.BASF2SDBASIC
 
 BASIC  



MachiKaniaの詳細

 ここからはMachiKaniaのより詳細な使い方や機能の説明をします。

主なスペック

使用マイコンMicrochip社PIC32MX250F128B(PIC32MX150F128Bも使用可)
動作クロック57.27272MHz (MachiKania BASICシステム利用時)
使用可能RAM容量BASIC利用時は約25Kバイト
搭載言語BASIC コンパイラー KM-1120
エディタ機能20,000文字まで入力可能
映像方式NTSCカラーコンポジット(SDTV)
記録メディアSDカードまたはマイクロSDカードが使用可能。FAT16またはFAT32フォーマット。ファイル名は英数字と一部記号のみ、8文字+拡張子3文字まで(大文字、小文字の区別なし)
キーボードPS/2キーボードを接続可能(日本語およびUS配列に対応)
表示文字数30文字(横)×27文字(縦)
表示色数256色同時表示可能、カラーパレットでRGBそれぞれ8ビット指定
ユーザ定義文字(PCG)機能あり(256文字)
音楽再生機能あり(ABC記譜法)

設定ファイルについて

  SDMACHIKAN.INIMachiKania BASIC
  #  

MACHIKAN.INIファイル設定項目
項目名設定内容
106KEY日本語キーボードに設定
101KEYUSキーボードに設定
NUMLOCK起動時Num Lockキーオン
CAPSLOCK起動時Caps Lockキーオン
SCRLLOCK起動時Scroll Lockキーオン

設定ファイルサンプル

設定ファイルサンプル

KM-BASICについて

  MachiKania BASICBASICKatsumiBASIC Compiler KM-1120 KM-BASIC
  KM-BASIC-2147483648+214748364732BASICAZ26使
  BASICKM-BASICGOTO
  KM-1120使  

KM-BASICの主な関数
ABS絶対値を返す
ASCアスキーコードを返す
KEYSボタンの押下状態を返す
LEN文字列の長さを返す
READDATA文のデータを順に読み出す
RND擬似乱数を返す
SGN符号を返す
TVRAMビデオメモリの内容を読み出す
VAL文字列から数値に変換
CHR$アスキーコードから文字に変換
DEC$10進数の文字列を返す
HEX$16進数の文字列を返す
INKEY押されているキーのキーコードを返す
INPUT$キーボードから文字列入力する

KM-BASICの主な命令
CLS画面消去
COLORテキストの色指定
CURSORカーソル位置指定
DATAデータ列を指定
DIM配列の宣言
ENDプログラムの停止
FOR TO 〜 NEXT繰り返し実行
GOSUBサブルーチンを呼び出す
GOTOジャンプ
IF THEN条件付き実行
LABELジャンプ先の登録
MUSIC音楽を再生
PALETTEカラーパレットを設定
PCGユーザ定義フォントの設定
PRINT表示
RESTOREDATA読み出し開始位置指定
RETURNサブルーチンから戻る
SCROLL画面をスクロールする
SOUND効果音を鳴らす
USEPCGユーザ定義フォント使用宣言
WAIT60分の1秒単位のウェイト

KM-BASICの主な演算子(優先順)
-(単項演算子)符号反転
*, /, %乗除算、剰余
+, -加減算(+は文字列連結にも使用)
<, <=, >, >=整数の大小比較
=, !=整数が等しいか等しくないか
XORXORビット演算
ANDANDビット演算
ORORビット演算

キャラクターコード表

  MachiKania BASICNECPC-8001
  $80$9F$E0CHR$使
  PCG使18×8  

キャラクターコード表


 
BASICプログラム自己実行アプリケーションの作り方

  MachiKaniaSDHEXBASICBASIC2
  使BASIC1

  BASICBASICRUNBASIC1
  BASICShiftF2BASICSDBAS
  BASICBASIC
  FIREKM-BASICBASIC
  MachiKania BASICMACHIKAN.HEXHOGEHOGE.HEXHOGEHOGE.BASBASICSDMACHIKAN.HEXBASIC
  BASIC便  

実行方法イメージ図


 


自己実行アプリケーション生成

BLOCK
 


ブートローダからBASICプログラム起動

BASICBLOCK
 

C言語によるプログラム作成

 MachiKania向けにより高度なプログラムを作成する方法として、C言語によるプログラムがあります。MachiKaniaの専用ライブラリおよびリンカースクリプトを用意しており、マイクロチップ社のMPLAB X IDE、XC32コンパイラを使用して作成することができます。(詳細は別途)
 右画面はC言語で作成したサンプルゲームです。

C言語で作成したサンプルゲーム

C言語で作成したサンプルゲーム




 PIC32MXSDPS/2BASIC1
  MZ-80KKM-Z80KatsumiMachiKania 西
  MachiKaniaBASICBASICBASIC
  MachiKania
 
   

MachiKania type Z  





追加コンテンツ



シューティングゲーム「ΡΟΠΗ」


2016.3.6 
  ΡΟΠΗMachiKaniaMachiKania使PC-8001
  BASICrope.hexSDMachiKaniaROPE

HEXファイルのダウンロード

※ソースファイルは非公開です。
(2017.5.6)キーボードドライバ修正し画面ちらつきがなくなりました。

ΡΟΠΗ画面1

ΡΟΠΗ画面2




プリント基板、ブートローダ書き込み済みマイコン、部品セットの入手方法

 プリント基板、およびブートローダ書き込み済みのPICマイコンを購入することができます。


Assemblage
秋葉原にあるハンダ付けができるスペースです。プリント基板の販売をお願いしました。本当はIchigoJamの展示場所ですが、同じBASICマイコン仲間として、MachiKaniaの展示機を設置していただきました。
また、PIC32MXのフラッシュ書き込み器も使用させてもらえます。(2016.5.1現在)

オレンジピコショップ
ORANGE picoはMachiKaniaと同じPIC32MXで動作するBASIC搭載マイコンボードです。Webショップを開設されており、MachiKaniaのプリント基板も取り扱っていただきました。
また、MachiKaniaのブートローダプログラムを書き込み済みのPIC32MX170F256Bの販売をお願いしたところ、快く引き受けていただきました。これを購入すればPICkit3等の書き込み器がなくてもMachiKaniaを製作することができます。(PIC32MX170F256BでもMachiKaniaは問題なく動作します。)

プリント基板と必要な部品一式のセット品も発売されました。(2016.9)
ケンケンのホームページ掲示板プリント基板は私の掲示板からも直接お申し込みいただけます。

 R1.3基板用部品表と製作上の注意点および回路図 (2018.5.1)三端子レギュレータ入手困難となったため部品表更新
 (2018.7.8) R1.4基板用部品表と製作上の注意点

プリント基板

頒布中のプリント基板 (最新はR1.4です)


プリント基板完成イメージ


 

R1.4

R1.4
C1/C2
 

Copyright (C) KenKen All Rights Reserved.