2018年07月25日

メールで只今をもって

今のメールはリアルタイム?
posted by zengaichi at 19:43| Comment(0) | 独り言 | 更新情報をチェックする

2018年07月22日

安全なだけでは売れない

安全なだけでは売れない

サービスが売りなんだから
posted by zengaichi at 19:11| Comment(0) | セキュリティ | 更新情報をチェックする

2018年07月01日

計算能力と乱数

決定問題で
計算能力が足らないから乱数を使うということに気づいた。

計算能力が向上し続けていたので足りていると思わず勘違い( ̄。 ̄;

アルゴリズムの考察から

posted by zengaichi at 14:18| Comment(2) | 独り言 | 更新情報をチェックする

2018年06月30日

remakeって

remakeって
考えてみれば、
リスペクトとと言うより、
批判から始まるような気がしてきた。

そもそも、
本当に良ければ作り直し必要もなく
リスペクトなら模倣や習作
posted by zengaichi at 21:02| Comment(2) | 独り言 | 更新情報をチェックする

2018年06月11日

多様性?

最近の多様性を見ると
幅が狭くなって、指向性が高いような感じ
posted by zengaichi at 20:45| Comment(0) | 独り言 | 更新情報をチェックする

2018年06月07日

このブログ12年も?

ふと気になったので開始年月日を調べてみると2006年4月から
posted by zengaichi at 20:32| Comment(0) | 独り言 | 更新情報をチェックする

2018年06月06日

見積もる力?

定性的な見積もりは説得する力とはならない。
定量的な見積もりは説得力を持つ。
posted by zengaichi at 20:45| Comment(0) | 独り言 | 更新情報をチェックする

2018年05月12日

店舗で購入履歴を尋ねて購入

その店舗の会員なので尋ねてみた。
「この商品って昔買ってましか?
 買ってたら、それください」

公開されていない情報の活用方法?
posted by zengaichi at 18:26| Comment(0) | セキュリティ | 更新情報をチェックする

Webのログインのセキュリティ要件って?

Webのログインのセキュリティ要件って次の保護?

・クロスサイト対策
・セッションハイジャック対策
・盗聴対策
・SQLインジェクション対策
・キャッシュ対策(ブラウザ・キャッシュ、コンテンツを含む)
posted by zengaichi at 18:22| Comment(0) | セキュリティ | 更新情報をチェックする

2018年05月06日

セキュリティって、そもそも何を守らなければならないか?

基本的なことですが、

そもそも何を守らなければならないのか

それを守れなかったら何が起きるのか

守りきる方法は存在するのか



posted by zengaichi at 16:45| Comment(0) | セキュリティ | 更新情報をチェックする

カテゴリにセキュリティを追加

セキュリティについて専門的に述べるのではなく

独り言の延長としてカテゴリを追加してみました♪


posted by zengaichi at 16:34| Comment(0) | セキュリティ | 更新情報をチェックする

4枚目のシングルコンピュータは?(続き)

以下のパーツを追加してみました。

・24LC1025×2個
・MPC23017×1個
・RTC D3231×1式

CPMも無事動きました。

Fig-Forthでは文字化けが…

Teratermのバイナリで電文を解析してみると
文字列の最後のハイビットが立っていました。

そういえば、今は文字列の最後にNULLするのが主流ですけど
昔はメモリ節約でハイビットを立てて判定するのが主流
昔のBASICのソースコードも読むとハイビットを設定しています。

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

2018年05月01日

4枚目のシングルコンピュータは?

4枚目のシングルコンピュータは4Chip Z80です。


次のサイトを参考に、手組で作りました(相変わらずボードは購入せずにミスク)
ATMEGAを使ってZ80のブートローダとシリアル通信、シリアルEEPROMのIF、RTCのIFを
Arduinoで実現しているので4チップで構成できるシロモノ
BASIC、Fig-Forth、CP/M(外付けにシリアルEEPROM)など動きます。

https://hackaday.io/project/19000-a-4-4ics-z80-homemade-computer-on-breadboard
https://github.com/SuperFabius/Z80-MBC


はまりどころはbootloaderで、TL866を使って書き込みをしたこと
・クロックが期待する周波数ではなく遅いためにブートローダが正常に動作しない
・スケッチはTL866で直接書け正常動作
・1MHz internalだと正常にクロックが動いているように見える
結局、Arduino Uno R3をISPにしてbootloaderを書き込み。すると正常なクロック周波数に。
原因については要調査(何か抜けているのでしょう(笑))
(正常にブートローダが書き込まれていないとno responseなどとエラーが発生する)
(5/2追記:TL866の書き込みで周波数についてconfig設定をしていなかったため正常に動作していなかった模様)

次のはまりどころはUSBシリアル変換
DTRの端子のあるUSBシリアル変換でないとスケッチをアップロードできない
(DTRのところにRTSでも正常に通信はできる)
(ArduinoではスケッチのアップロードにDTRを(リセットに)使っている)

パーツは
・ATMEGA32Aの代わりにATEMAGA1284P
 (コンパイルエラーになります。クロックのところを書き換え(32Aと互換性がない箇所)

// Initialize CLK @ 4MHz. Z80 clock_freq = (Atmega_clock) / (OCR2 + 1) = (Atmega_clock) / 2
ASSR &= ~(1 << AS2); // Set Timer2 clock from system clock
TCCR2B |= (1 << CS20); // Set Timer2 clock to "no prescaling"
TCCR2B &= ~((1 << CS21) | (1 << CS22));
TCCR2A |= (1 << WGM21); // Set Timer2 CTC mode
TCCR2A &= ~(1 << WGM20);
TCCR2A |= (1 << COM2A0); // Set "toggle OC2 on compare match"
TCCR2A &= ~(1 << COM2A1);
OCR2A = 0; // Set the compare value to toggle OC2

・メモリ 628128
・CPU TMPZ84C00AP-6
・74HC00



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

2018年04月30日

ArduinoのbootloaderをUnoでアップ時の注意点

Arduino Uno R3をISPとしてbootloaderを書き込むときには

Arduino Uno R3にスケッチのArduinoISPをアップロードを忘れずに
posted by zengaichi at 09:46| Comment(0) | 独り言 | 更新情報をチェックする

2018年03月25日

Raspberry PI2から6809にシリアルで接続する

Raspberry PI3がなかったので(正確にはなくしたので)
Raspberry PI2にRaspbianをインストールし
今まで作ったボードの一つ6809に接続してみました。
・Raspberry PIのインストール
 (過去記事と異なっている箇所がありますので最新の記事を)
・FTDIドライバのインストール
 (ダウンロードサイトに専用のドライバがあるのでそれをダウンロードし
  ReadMe.txtの通りにすればOK!
  但し、検証には要注意。exampleでコンパイルエラーはでますが、
  検証用に使うプログラムは正常にビルド)
・ntpのインストール
 (sudo apt install ntp)
・screenのインストール
 (sudo apt install screen)

起動
 screen /dev/ttyUSB0 9600
 (少しBASICに戯れる)
切断方法は
 ctl-a k
で完了
posted by zengaichi at 17:03| Comment(0) | Unix-Tools | 更新情報をチェックする

2018年03月24日

結局クリーンインストール

Windows 7からWindows 10 Proにアップグレードするのに
色々引っかかって時間だけが過ぎていくので
Windows 10 Proのクリーンインストールで
終わらせてしまいました。

失敗しても1行メッセージのダイアログでは対処完了の道が遠いです。
posted by zengaichi at 20:57| Comment(0) | 独り言 | 更新情報をチェックする

今日のインクリメント

age
posted by zengaichi at 20:51| Comment(0) | 独り言 | 更新情報をチェックする

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 | 更新情報をチェックする