テーブル筐体をレストアしてみる

前からずっと欲しかったテーブル筐体ですが、ヤフオクに部品がバラで出品されていたので、集めて組み立ててみました。

  1. テーブル筐体 木箱 8250円
  2. テーブル筐体 脚 2200円
  3. テーブル筐体 天板 3008円
  4. テーブル筐体 遊び方シール 194円
  5. 液晶モニタ LCD-AD192SEDB 2400円(メルカリ)

上記は送料込みの金額です。木箱にはコインセレクタもついていたので配線しました。

いまはCOMBO AV(仮)をつなげていますが、テーブル筐体用のコンパネは欲しいです。できれば対面がいいですね。

第二種電気工事士の資格に挑戦してみる その3

筆記試験が合格したので技能試験の勉強についても書いてみます。

 

前回も書きましたが、筆記試験の勉強の前にあえて、ホーザンの技能試験対策の動画を見て候補問題をひととおりやってみました。

 

動画を見て理解できなくても、複線図を書いて結線していきました。合格配線チェッカーを使って動作確認する事でだんだん分かるようになります。

 

筆記試験が終わったので、メルカリで購入した第二種電気工事士技能試験「準備万端試験対策セット」のDVDを見ながら、今度はきちんと理解しながら候補問題をひととおりやってみました。足りない部材は都度ホームセンターやアマゾンなどで調達するのも楽しいです。

 

もちろん技能試験の動画も繰り返し見ています。HOZAN最高!

電工試験の虎_ホーザン - YouTube

 

第二種電気工事士の資格に挑戦してみる その2

コロナの影響で2020年度上期試験はなくなりました。筆記試験の勉強について自分なりにまとめてみました。

https://www.shiken.or.jp/examination/e-construction02.html

 

まずは前提知識がまったくないので、資格取得した友人のおすすめの参考書を購入しました。1900円(税別)かかりました。

www.amazon.co.jp

 

第二種電気工事士は筆記試験と技能試験があるのですが、まずはホーザンの技能試験対策の動画を見て候補問題をひととおりやってみました。

電工試験の虎_ホーザン - YouTube

筆記試験が受かってから勉強するという人もいますが、あえて技能試験の勉強を先にやる事で、工具や材料や複線図についての知識がついて、筆記試験の内容が理解しやすくなります。

 

つぎに参考書は置いておいて、ホーザンの筆記試験対策の動画を何回も何回も見て知識を蓄積しました。最初はまったく分かりませんが、繰り返し見る事でだんだん分かるようになります。

 

そして直前の2週間前くらいから参考書を読んで、巻末の過去問を解き始めました。あまり早くに解くと忘れてしまうかもと思い、あえて試験直前にやってみました。

 

2020年度 第二種電気工事士(下期)筆記試験 解答速報で確認したところ44/50でした!(30が合格ライン)

ARCADE1UP SF2JAMMAその2

Street Fighter Control Deckの電源スイッチを利用したくなりました。電源のGNDをPIN35につないで、JAMMAのGND(1)をPIN36につなげばOKでした。

結線図

SF2

JAMMA

       SF2        JAMMA    GP25B13A-R1B
                  5V(3)       5V
                  -5V(5)      -5V
                  12V(6)      12V
PIN 1  P2 Up      P2 Up(V)
PIN 2  P2 Down    P2 Down(W)
PIN 3  P2 Left    P2 Left(X)
PIN 4 P2 Right   P2 Right(Y)
PIN 5 P2 A       P2 Button 1(Z)
PIN 6 P2 D       P2 Button 4(c)
PIN 7 P2 B       P2 Button 2(a)
PIN 8  P2 E       P2 Button 5(d)
PIN 9  P2 C       P2 Button 3(b)
PIN10  P2 F       P2 Button 6(e)
PIN11  P2 Start   P2 Start(U)
PIN12  P1 Start   P1 Start(17)
PIN13  NC         NC                          
PIN14  GND        GND(f)
PIN15  NC         NC
PIN16  NC         NC
PIN17  NC         NC
PIN18  NC         NC
PIN19 P1 Up      P1 Up(18)
PIN20 P1 Down    P1 Down(19)
PIN21 P1 Left    P1 Left(20)
PIN22 P1 Right   P1 Right(21)
PIN23 P1 A       P1 Button 1(22)
PIN24  P1 D       P1 Button 4(25)
PIN25  P1 B       P1 Button 2(23)
PIN26  P1 E       P1 Button 5(26)
PIN27  P1 C       P1 Button 3(24)
PIN28  P1 F       P1 Button 6(27)
PIN29  GND        NC
PIN30  GND        NC
PIN31  GND        NC
PIN32  GND        NC
PIN33  NC         NC
PIN34  NC         NC
PIN35  Power      NC      GND
PIN36  Power      GND(1)  NC
PIN37  VOL_A      NC
PIN38  VOL_B      Coin A(16)
PIN39  Speaker    Sperker(10)
PIN40  Speaker    Sperker(L)

ARCADE1UP SF2JAMMA

ARCADE1UPでJAMMA基板を遊びたい。

https://arcade1up.com/collections/parts/products/street-fighter-control-deck

ACアダプタ

https://www.mouser.jp/datasheet/2/260/GP25B-SPEC-1291644.pdf

  • GP25B13A-R1B $28.96

ヤフオク

  • 56ピンJAMMAコネクタ

秋月電子通商

  • 2×20(40P)両端コネクタ付IDCリボンケーブル(フラットケーブル) 200円
  • 基板取付用DINソケット(メス) 5P 60円
  • 耐熱電子ワイヤー 2m×7色 外径1.55mm(UL3265 AWG20) 650円

aitendo

  • IDCソケット(40P) [FM01] 40円

結線図

SF2

JAMMA

       SF2        JAMMA    GP25B13A-R1B
                  GND(1)      GND
                  5V(3)       5V
                  -5V(5)      -5V
                  12V(6)      12V
PIN 1  P2 Up      P2 Up(V)
PIN 2  P2 Down    P2 Down(W)
PIN 3  P2 Left    P2 Left(X)
PIN 4 P2 Right   P2 Right(Y)
PIN 5 P2 A       P2 Button 1(Z)
PIN 6 P2 D       P2 Button 4(c)
PIN 7 P2 B       P2 Button 2(a)
PIN 8  P2 E       P2 Button 5(d)
PIN 9  P2 C       P2 Button 3(b)
PIN10  P2 F       P2 Button 6(e)
PIN11  P2 Start   P2 Start(U)
PIN12  P1 Start   P1 Start(17)
PIN13  NC         NC                          
PIN14  GND        GND(f)
PIN15  NC         NC
PIN16  NC         NC
PIN17  NC         NC
PIN18  NC         NC
PIN19 P1 Up      P1 Up(18)
PIN20 P1 Down    P1 Down(19)
PIN21 P1 Left    P1 Left(20)
PIN22 P1 Right   P1 Right(21)
PIN23 P1 A       P1 Button 1(22)
PIN24  P1 D       P1 Button 4(25)
PIN25  P1 B       P1 Button 2(23)
PIN26  P1 E       P1 Button 5(26)
PIN27  P1 C       P1 Button 3(24)
PIN28  P1 F       P1 Button 6(27)
PIN29  GND        NC
PIN30  GND        NC
PIN31  GND        NC
PIN32  GND        NC
PIN33  NC         NC
PIN34  NC         NC
PIN35  Power      NC
PIN36  Power      NC
PIN37  VOL_A      NC
PIN38  VOL_B      Coin A(16)
PIN39  Speaker    Sperker(10)
PIN40  Speaker    Sperker(L)

学研TV BOYエミュレータをつくる その4

SBC6303ルーズキットを利用してROM(F000-FFFF)をダンプしてみました。カートリッジの3(EXTAL)に直接クリスタルオシレーターをつないで、P20/P21/P22をGNDにつないで、残りの端子はSBC6303にそのまま結線。そのままだとアドレス(F800-FFFF)が被るため、LILBUGの27C256のCEをGNDにつないで異なるアドレス(9800-9FFF)で実行しました。

f:id:tanam:20200718002137p:plain

f:id:tanam:20200718002149p:plain

f:id:tanam:20200718002159p:plain

f:id:tanam:20200718002208p:plain

f:id:tanam:20200718002219p:plain

f:id:tanam:20200718002231p:plain


これからエミュレータで対応していきます。

学研TV BOYエミュレータをつくる その3

Cコンパイラ開発顛末記 小窓次郎 | 組み込み業界独り言からCコンパイラ(C3PO)をダウンロードして、TVボーイでMC6847を表示するプログラムを開発して行きます。

f:id:tanam:20200606161047p:plain

VRAM($1000-$17FF)、ROM($F000-$FFFF)の想定で書いていきます。

hello.c
int memset(p, x, y)
char	*p;
char	x;
int	y;
{
	int i;
	for (i=0; i<y; i++,p++) {
		*p=x;
	}
	return 0;
}

int main()
{
	char *p;
	char *q;
	p="HELLO WORLD";
	q=0x2000;
	*q=0x20;
	memset(0x1000, ' ', 0x800);
	for (q=0x1000; *p != 0; q++, p++) {
		*q = *p;
	}
	return 0;
}

MS-DOSで開発します。

>msdos C3PO.EXE HELLO
>notepad hello.src

hello.srcを編集してhello.txtで保存します。DOS用8ビットCPUクロスアセンブラでSレコード形式を作成します。

>msdos X6801.EXE hello

6801 Cross Assembler Version 3.12
   Copyright(C) Arcpit Co.,LTD.1990. All rights reserved.

Object Filename [HELLO.S] :
Source Listting [NUL.LST] :
Cross Reference [NUL.CRF] :
Symbol Table [NUL.MAP] :
^L                                     2020- 6- 7 6801 Assembler  Page    1
                                                      File:HELLO.TXT

    1                   ;       INCLUDE 630X.LIB
    2                   ;
    3                   ;***** C3PO for 6301/3 version 3.06c MSDOS ***** Nishiy
    4                   ; *** Copyright (c) S.Nishiyama Mar 14 1992
    5                   ;***          1 int memset(p, x, y)
    6                   ;***          2 char    *p;
    7                   ;***          3 char    x;
    8                   ;***          4 int     y;
    9                   ;***          5 {
   10                   ;***          6         int i;
   11                   ;***          7         for (i=0; i<y; i++,p++) {
   12                   ;       CSEG
   13                   ;       GLOBAL  _memset
   14 F000                         ORG      $F000
   15 00FF              STACK      EQU      $FF
   16 F000 8E00FF       START      LDS      #STACK
   17 F003 2035                    BRA      _main
   18 F005              _memset:
   19 F005 3C                      PSHX
   20 F006 30                      TSX
   21 F007 37                      PSHB
   22 F008 36                      PSHA
   23 F009 34                      DES
   24 F00A 34                      DES
   25 F00B 4F                      CLRA
   26 F00C 5F                      CLRB
   27 F00D 30                      TSX
   28 F00E ED00                    STD      0,X
   29 F010              L3:
   30 F010 EC08                    LDD      8,X
   31 F012 A300                    SUBD     0,X
   32 F014 2F19                    BLE      L2
   33                   ;***          8                 *p=x;
   34 F016 4F                      CLRA
   35 F017 E605                    LDAB     5,X
   36 F019 EE02                    LDX      2,X
   37 F01B E700                    STAB     0,X
   38 F01D 30                      TSX
   39                   ;***          9         }
   40                   ;***         10         return 0;
   41 F01E              L4:
   42 F01E EC00                    LDD      0,X
   43 F020 C30001                  ADDD     #1
   44 F023 ED00                    STD      0,X
   45 F025 EC02                    LDD      2,X
   46 F027 C30001                  ADDD     #1
   47 F02A ED02                    STD      2,X
   48 F02C 7EF010                  JMP      L3
   49 F02F              L2:
   50 F02F 4F                      CLRA
   51 F030 5F                      CLRB
   52                   ;***         11 }
   53 F031 7EF034                  JMP      L1
   54 F034              L1:
   55 F034 31                      INS
   56 F035 31                      INS
   57 F036 31                      INS
   58 F037 31                      INS
^L                                     2020- 6- 7 6801 Assembler  Page    2
                                                      File:HELLO.TXT

   59 F038 38                      PULX
   60 F039 39                      RTS
   61                   ;** Local value mapping information
   62                   ;** i   EQU     0
   63                   ;** y   EQU     8
   64                   ;** x   EQU     5
   65                   ;** p   EQU     2
   66                   ;* Function 
   67                   ;* Executive step count 8
   68                   ;* Used stack size ===6 Byte===
^L                                     2020- 6- 7 6801 Assembler  Page    3
                                                      File:HELLO.TXT

   70                   ;***         12
   71                   ;***         13 int main()
   72                   ;***         14 {
   73                   ;***         15         char *p;
   74                   ;***         16         char *q;
   75                   ;***         17         p="HELLO WORLD";
   76                   ;       GLOBAL  _main
   77 F03A              _main:
   78 F03A 3C                      PSHX
   79 F03B 30                      TSX
   80 F03C 34                      DES
   81 F03D 34                      DES
   82 F03E 34                      DES
   83 F03F 34                      DES
   84 F040 3C                      PSHX
   85 F041 30                      TSX
   86 F042 CCF093                  LDD      #S0
   87 F045 ED04                    STD      4,X
   88                   ;***         18         q=0x2000;
   89 F047 CC2000                  LDD      #8192
   90 F04A ED02                    STD      2,X
   91                   ;***         19         *q=0x20;
   92 F04C EE02                    LDX      2,X
   93 F04E C620                    LDAB     #$20
   94 F050 E700                    STAB     0,X
   95 F052 30                      TSX
   96                   ;***         20         memset(0x1000, ' ', 0x800);
   97 F053 CC0800                  LDD      #2048
   98 F056 37                      PSHB
   99 F057 36                      PSHA
  100 F058 CE0020                  LDX      #32
  101 F05B 05                      ASLD
  102 F05C BDF005                  JSR      _memset
  103 F05F 31                      INS
  104 F060 31                      INS
  105 F061 30                      TSX
  106                   ;***         21         for (q=0x1000; *p != 0; q++, p+
  107 F062 CC1000                  LDD      #4096
  108 F065 ED02                    STD      2,X
  109 F067              L7:
  110 F067 EE04                    LDX      4,X
  111 F069 4F                      CLRA
  112 F06A E600                    LDAB     0,X
  113 F06C 30                      TSX
  114 F06D 271B                    BEQ      L6
  115                   ;***         22                 *q = *p;
  116 F06F EE04                    LDX      4,X
  117 F071 E600                    LDAB     0,X
  118 F073 30                      TSX
  119 F074 EE02                    LDX      2,X
  120 F076 E700                    STAB     0,X
  121 F078 30                      TSX
  122                   ;***         23         }
  123                   ;***         24         return 0;
  124 F079              L8:
  125 F079 EC02                    LDD      2,X
  126 F07B C30001                  ADDD     #1
  127 F07E ED02                    STD      2,X
^L                                     2020- 6- 7 6801 Assembler  Page    4
                                                      File:HELLO.TXT

  128 F080 EC04                    LDD      4,X
  129 F082 C30001                  ADDD     #1
  130 F085 ED04                    STD      4,X
  131 F087 7EF067                  JMP      L7
  132 F08A 20FE         L6:        BRA      L6
  133                   ;***         25 }
  134 F08C 7EF08F                  JMP      L5
  135 F08F              L5:
  136 F08F 38                      PULX
  137 F090 35                      TXS
  138 F091 38                      PULX
  139 F092 39                      RTS
  140                   ;** Local value mapping information
  141                   ;** q   EQU     2
  142                   ;** p   EQU     4
  143                   ;* Function 
144 ;* Executive step count 12 145 ;* Used stack size ===14 Byte=== ^L 2020- 6- 7 6801 Assembler Page 5 File:HELLO.TXT 147 ;*** 26 148 F093 S0: 149 F093 48454C4C4F20 FCB 72,69,76,76,79,32,87,79 574F 150 F09B 524C4400 FCB 82,76,68,0 151 ;* Direct page size 0 152 ;* Global segment size 0 153 ;* Character size 12 154 ;* Executive step count 20 155 ;* Error count 0 156 FFFE ORG $FFFE 157 FFFE F000 FDB START 158 0000 END ^L 2020- 6- 7 6801 Assembler Page 6 File:HELLO.TXT SYMBOL TABLE: L1 F034 L2 F02F L3 F010 L4 F01E L5 F08F L6 F08A L7 F067 L8 F079 S0 F093 STACK 00FF START F000 _main F03A _memset F005 ^L 2020- 6- 7 6801 Assembler Page 7 File:HELLO.TXT 0 Error(s) detected. LINES : 158 LABELS : 13 LAST PROGRAM ADDRESS : $FFFD LAST DATA ADDRESS : $0000

SRecord 1.64でhello.sをhello.binに変換します。

>srec_cat hello.S -offset -0xF000 -o hello.bin -binary