2018年03月21日

とりあえず3種類のシングルコンピュータボード完成

とりあえず3種類のシングルコンピュータボードが完成しました。

・MC68A00(2MHz)
・MC68B02(2MHz)
・HD68B09(2MHz)

いずれも共通仕様

・ROM 16Kバイト
・RAM 32Kバイト
・ACIA 固定アドレス

3枚も作ると感が戻ってきました
しばらくは製作予定なし。
posted by zengaichi at 19:43| Comment(0) | Tools | 更新情報をチェックする

Very Tiny Languageを68A00で動かしてみる

第三弾
前回は68B02で、今回は68A00で以下の構成を組んでみました。
同じマシンコードなので確認用のプログラムは前回のものを流用

ボード構成
・MPU MC68A00
・ROM 27128
・SRAM 62256
・ACIA HD63A50
・デコーダ 74LS00
・MPUクロック PIC12F1822
 (外部クロック:セラロック20MHz)
・通信クロック PIC12F1822

参考にしたサイト
http://oando.web.fc2.com/old_mc6800/f710_413.htm
ただし2MHzに固定のため切り替え部分はなし
さらにオシレータをもっていないのでたぶん2MHz動作だろうと( ̄_ ̄;

#include <xc.h>

// CONFIG1
#pragma config FOSC = HS // Oscillator Selection (HS Oscillator, High-speed crystal/resonator connected between OSC1 and OSC2 pins)
#pragma config WDTE = OFF // Watchdog Timer Enable (WDT disabled)
#pragma config PWRTE = ON // Power-up Timer Enable (PWRT enabled)
#pragma config MCLRE = OFF // MCLR Pin Function Select (MCLR/VPP pin function is digital input)
#pragma config CP = OFF // Flash Program Memory Code Protection (Program memory code protection is disabled)
#pragma config CPD = OFF // Data Memory Code Protection (Data memory code protection is disabled)
#pragma config BOREN = ON // Brown-out Reset Enable (Brown-out Reset enabled)
#pragma config CLKOUTEN = OFF // Clock Out Enable (CLKOUT function is disabled. I/O or oscillator function on the CLKOUT pin)
#pragma config IESO = ON // Internal/External Switchover (Internal/External Switchover mode is enabled)
#pragma config FCMEN = OFF // Fail-Safe Clock Monitor Enable (Fail-Safe Clock Monitor is disabled)

// CONFIG2
#pragma config WRT = OFF // Flash Memory Self-Write Protection (Write protection off)
#pragma config PLLEN = ON // PLL Enable (4x PLL enabled)
#pragma config STVREN = OFF // Stack Overflow/Underflow Reset Enable (Stack Overflow or Underflow will not cause a Reset)
#pragma config BORV = LO // Brown-out Reset Voltage Selection (Brown-out Reset Voltage (Vbor), low trip point selected.)
#pragma config LVP = OFF // Low-Voltage Programming Enable (High-voltage on MCLR/VPP must be used for programming)

// 80MHz
#define _XTAL_FREQ 80000000
// ASSIGN PIN
#define RESET_IN RA3
#define RESET_OUT LATA1
//
// RA0: CLK2 P1B:PWM OUTPUT
// RA1: /RESET OUT
// RA2: CLK1 P1A:PWM OUTPUT
// RA3: /RESET IN
// RA4: Xtal
// RA5: Xtal

//
// wait time
//
void wait_time(char time) {
for (char no = 0; no < time; ++no) {
__delay_ms(20);
}
}
//
// main
//
void main() {
// Initialize
OSCCON = 0b10000000; // SPLLEN:1(4xPLL),SCS<0:1>:00
LATA = 0; // ALL Low
ANSELA = 0; // ALL Digital
nWPUEN = 0; // PULL UP
WPUA3 = 1; // RA3 PULL UP
TRISA = 0b00001000; // OUTPUT WITHOUT RA3
P1BSEL = 0; // PWM RA0
CCP1SEL = 0; // PWM RA2

// Clock Generate
CCP1CON = 0b10001100; // Half Bridge : P1A,P1B Active High
PR2 = 9; // 1MHz:19 2MHz:9
CCPR1L = 5; // 1MHz:10 2MHz:5
CCPR1H = 4;
PWM1CON = 1;
T2CON = 0;
TMR2 = 0;
TMR2ON = 1;
//
// Power On Reset
//
RESET_OUT = 0; // /RESET OUT (LOW)
wait_time(50); // 1sec
RESET_OUT = 1; // /RESET OUT (HIGH)
//
// Reset Switch Process
//
while (1) {
wait_time(1); // 20 msec
if (RESET_IN) {
// SW OFF (RESET IN (HIGH))
wait_time(10); // 200 msec
RESET_OUT = 1;
}
else {
// SW ON (RESET IN (LOW))
RESET_OUT = 0;
}
}
}
posted by zengaichi at 15:43| Comment(0) | Tools | 更新情報をチェックする

2018年03月11日

BASICをHD68B09で動かしてみる

第二弾
ミスク(手組み)で以下の構成で組んでみました。
そのボード上でBASICを実行してみました。

ボード構成
・MPU MC68B09
・ROM 27128
・SRAM 62512
・ACIA HD63A50
・デコーダ 74LS00
・クロック 8MHz (2MHz動作)
・シリアル通信のクロック PIC12F1822
回路の参考にしたサイト
http://searle.hostei.com/grant/6809/Simple6809.html

はまりどころはIRQを結線してしまったこと。
割り込みが発生して暴走します。
EEPROMを書き直すためにはイレーサを組み立てないといけなかったので
IRQをカットしてしまいました。
(代わりにACIA:/IRQ-MPU:/IRQとMPU:/FIRQのジャンバーピンを構築)
久々に古いBASICを触ると違和感が多いこと。
手元の材料(部品)切れにつき、仕入れないと(⌒-⌒;
posted by zengaichi at 18:44| Comment(0) | Tools | 更新情報をチェックする

2018年03月03日

Very Tiny LanguageをMC68B02で動かしてみる


ミスク(手組み)で以下の構成で組んでみました。
そのボード上で6800 - VTL(Very Tiny Language)を実行してみました。
Atom:FreeBSDの上で動かしているシミュレータと同じぐらいの速さかな?

ボード構成
・MPU MC68B02
・ROM 27128
・SRAM 62512
・ACIA HD63A50
・デコーダ 74LS00
・クロック 8MHz (2MHz動作)
・シリアル通信のクロック PIC12F1822
回路の参考にしたサイト
http://searle.hostei.com/grant/6809/Simple6809.html

シリアル通信のクロックを参考にしたサイト
http://oando.web.fc2.com/old_mc6800/f710_413.htm
上記のURLを参考にosc1536(クロックジェネレータ)を下記のように改造
(プログラムで演算しないようにコンパイラに演算させるように書き換え)
(スイッチでボーレート選択)

#include <xc.h>

#pragma config FOSC = INTOSC
#pragma config WDTE = OFF
#pragma config MCLRE = ON
#pragma config CLKOUTEN = OFF
#pragma config PLLEN = ON

#define PWM_CYCLE 51
#define PWM_CYCLE_192 25
#define PWM_CYCLE_384 12

#define RA0_SHORT 0x02
#define RA1_SHORT 0x01

#define RA_SHORT_MASK 0x03
#define DUTY_CYCLE(X) ((unsigned char )((X / 2) + 1))

void main(void) {
OSCCON = 0b01110000; //32MHz
OSCTUNE = 63; //tune
ANSELA = 0; //digital
nWPUEN = 0;
TRISA = 0b11111011;

CCP1CON = 0b00001100; //PWM mode

switch(PORTA & RA_SHORT_MASK){
case RA0_SHORT:
PR2 = PWM_CYCLE_192;
CCPR1L = DUTY_CYCLE(PWM_CYCLE_192);
break;
case RA1_SHORT: // RA1 - Short
PR2 = PWM_CYCLE_384;
CCPR1L = DUTY_CYCLE(PWM_CYCLE_384);
break;
default:
PR2 = PWM_CYCLE;
CCPR1L = DUTY_CYCLE(PWM_CYCLE);
break;
}
T2CON = 0; //not use prescale
TMR2ON = 1; //TMR2 start
while(1);
}

posted by zengaichi at 21:00| Comment(0) | Tools | 更新情報をチェックする

2017年08月05日

WebSocketのOriginの不思議な動作

クロスサイトができないはずのコードがクロスサイトできる?

続きを読む
posted by zengaichi at 17:25| Comment(2) | Tools | 更新情報をチェックする

2017年07月15日

検査用OGNL式って

一般常識的な範囲で
続きを読む
posted by zengaichi at 18:49| Comment(0) | TrackBack(0) | Tools | 更新情報をチェックする

2017年05月06日

φ(。。代わりのサイト


JSONのレスポンスを返す代わりのサイト

https://httpbin.org/
posted by zengaichi at 14:03| Comment(0) | TrackBack(0) | Tools | 更新情報をチェックする

2016年11月27日

libcurl.dllがLoadLibraryExでロードできない件

libcurl.dll(SSL版)では次のDLLがないとロードできない

・libeay32.dll
・libgcc_s_dw2-1.dll
・ssleay32.dll
・zlib1.dll

調べ方
 Dependency Walker でDLLの依存関係を調べてみる

参考
 Ruby(Windows版)でethonからCurlの呼び出しが失敗するときには
 libgcc_s_dw2-1.dllがないかを調べてみる

posted by zengaichi at 14:52| Comment(2) | TrackBack(0) | Tools | 更新情報をチェックする

2014年12月13日

診断方法にも銀の弾丸なし


プログラムの診断を行うも

診断方法に銀の弾丸なし。

あれば、そもそもバグがないでしょうに。
posted by zengaichi at 17:59| Comment(0) | TrackBack(0) | Tools | 更新情報をチェックする

2012年05月07日

ツール考の改良編?

同じ目的であれば

   使い勝手を大きく変えてはいけない

違う目的であれば

   使い勝手大きく変えるべきである

     同じ使い方は混乱を招く
posted by zengaichi at 22:26| Comment(0) | TrackBack(0) | Tools | 更新情報をチェックする

2011年04月13日

IDEの威力?

IDEのPoorなツールで

 久々に C のコードを書いてみました。

   なんて面倒なのだろう(汗)

ディスクトップのIDEってリッチなのね

クラウドなツールの世界から

posted by zengaichi at 21:58| Comment(0) | TrackBack(0) | Tools | 更新情報をチェックする

どうしたら楽しいかが問題? in ツール開発

特定のものを使ってツールを作ることが

  目的になってしまえば何も楽しくはない。

目的に合わせてどうしたら楽しいかが問題なのだ。

 仕事で10倍効率が上がればそれはそれで使っている人も楽しい。

  Webでもなくモバイルでもなく

    昔ながらのありきたりの PC アプリケーションでも。

      もちろん、カスタムメイド。

Webでもモバイルでも作れたけれど操作性がいまいちなので。
posted by zengaichi at 21:55| Comment(0) | TrackBack(0) | Tools | 更新情報をチェックする

2011年04月12日

エンベッドの構造論?

メインルーチンはある種のデーモンって考えてると

  そうそうディスパッチャと思い出しました。


posted by zengaichi at 21:44| Comment(0) | TrackBack(0) | Tools | 更新情報をチェックする

2010年08月15日

クリアカラーとエアーブラシの口径

久々に吹いてみたが

 0.2ミリとクリアカラー(水性)と相性が良い


posted by zengaichi at 23:20| Comment(0) | TrackBack(0) | Tools | 更新情報をチェックする

2010年01月03日

マークフィット

水性塗料で使えるかどうか半信半疑で購入

 塗料は溶かすようで使い方に工夫が必要

  デカールを貼った後に上から塗るといったような


posted by zengaichi at 21:05| Comment(1) | TrackBack(0) | Tools | 更新情報をチェックする

モバイル機器の充電

受電対象のモバイル機器が多すぎて

  長い間充電していない場合が多い

共通バッデリとかできないものだろうか

  たまにしか使わない機器も多いので
posted by zengaichi at 21:00| Comment(0) | TrackBack(0) | Tools | 更新情報をチェックする

2008年09月03日

透ける材質の塗装には

部分的に裏塗りをすると

  その部分だけが異なった質感の色になります。

 重ね塗りの技法としても応用できるかも
posted by zengaichi at 18:03| Comment(0) | TrackBack(0) | Tools | 更新情報をチェックする

2008年08月30日

マスキングテープも

善し悪しがあるようで

 今回試した「ハイテク」というマスキングテープは

   比較的綺麗にできました。

  紙のマスキングテープよりも多少なりと硬めなので

    使い分けも検討しながらということでしょう。
posted by zengaichi at 19:47| Comment(0) | TrackBack(0) | Tools | 更新情報をチェックする

2008年08月09日

水性アクリル塗料とエアブラシの口径

0.3ミリよりも0.5ミリの口径のほうが相性が良いようだ。

ただし、コンプレッサの圧力も気をつけないと吹くことが難しいかも。
posted by zengaichi at 20:30| Comment(0) | TrackBack(0) | Tools | 更新情報をチェックする

2008年07月27日

エアーブラシの口径を大きくすると

.5ミリを使うと

   .3ミリと違った使い勝手である


    大きく拡散するし


      より元の色に近い


  半艶にも関わらず筆で塗ったように艶っぽい
posted by zengaichi at 21:13| Comment(1) | TrackBack(0) | Tools | 更新情報をチェックする