~概要~
■メダル(コイン)を使わずにパチスロを遊べるように加工します
■1BETボタンを押すとCREDITが入ります。押し続けると50点まで入ります
■MAXBETを押してプレイできます
■小役が当たるとメダルは払い出されず、CREDITに加算されます
~解析~
□パチスロを稼動させながら、実際の出入力デジタル信号の波形を調べます
□解析にはオシロスコープを用いてミリ秒単位の時系列信号を把握します
~プログラム構築~
□解析した信号の通りのプログラムを作成します
□このプログラムをマイコンに書き込みます
~回路設計~
□マイコンを正常に稼動させる電子回路を設計製作します
□回路にマイコンを装着します
~取付配線~
□できあがったマイコン回路をパチスロに取り付けます
これで完成です
;*************************************************************
; PIC16F84A
; コイン不要器 yamasa SUPERPLANET専用10MHzセラロック用+クレジットボタン
;**************************************************************
LIST P=PIC16F84A ;
INCLUDE "P16F84A.INC" ;標準ヘッダ定義ファイル
__CONFIG _HS_OSC & _PWRTE_ON & _WDT_OFF ;のインクルード
;*********************************
; 変数レジスタの定義
;*********************************
CNT1 EQU 0CH ;タイマ用変数
CNT2 EQU 0DH ;タイマ用変数
CNT3 EQU 0EH ;タイマ用変数
CNT4 EQU 0FH ;タイマ用変数
CNT5 EQU 10H ;タイマ用変数
;***********************
; メインルーチン
;***********************
ORG 0 ;Reset Start
MAIN
BSF STATUS,RP0 ;バンク1へ切替
CLRF TRISB ;ポートBを出力モードに設定
BSF TRISA,0 ;ポートAの0ビットを1で入力モードに
BSF TRISA,1 ;ポートAの1ビットを1で入力モードに
BSF TRISA,2 ;ポートAの2ビットを1で入力モードに;レトロで追加
BCF STATUS,RP0 ;バンク0に戻す
HPSET MOVLW B'11111011' ;Wレジスタに入力
MOVWF PORTB ;wレジスタからポートBへ移動全0出力ホッパ停止
HOPPA BTFSC PORTA,1 ;ポートAの1ビットが0なら次をスキップ
GOTO MAINLP ;ポートAの1ビットが1ならメインループへ
COINPAY MOVLW B'11111111' ;Wレジスタに2 3ビット目0を入力
MOVWF PORTB ;wレジスタからポートBへ移動払い出し開始
CALL TIM100 ;10msec秒待つ
CALL TIM100 ;10msec秒待つ
CALL TIM100 ;10msec秒待つ
CALL TIM100 ;10msec秒待つ
CALL TIM100 ;10msec秒待つ
MOVLW B'11111011' ;Wレジスタに3ビット目0を入力
MOVWF PORTB ;wレジスタからポートBへ移動払い出し終わり
CALL TIM100 ;10msec秒待つ
CALL TIM100 ;10msec秒待つ
CALL TIM100 ;10msec秒待つ
CALL TIM100 ;10msec秒待つ調整追加
CALL TIM100 ;10msec秒待つ調整追加
CALL TIM100 ;10msec秒待つ調整追加
CALL TIM100 ;10msec秒待つ調整追加
CALL TIM100 ;10msec秒待つ調整追加
CALL TIM100 ;10msec秒待つ調整追加
GOTO HOPPA ;ホッパに戻る
MAINLP MOVLW B'11111011' ;Wレジスタにオール1と2・3ビット1でを入力初期状態作成
MOVWF PORTB ;wレジスタからポートBへ移動全ビット1出力
BTFSS PORTA,0 ;ポートAの0ビットが1なら次をスキップ;コイン投入判定
GOTO HOPPA ;ポートAの0ビットが0ならホッパーへ;投入無しなら最初に戻る
MOVLW B'11111010' ;Wレジスタに0ビット目1を入力
MOVWF PORTB ;wレジスタからポートBへ移動;センサ1感知
CALL TIM100 ;10msec秒待つ
MOVLW B'11111000' ;Wレジスタに1ビット目1を入力
MOVWF PORTB ;wレジスタからポートBへ移動;センサ2感知
CALL TIM100 ;10msec秒待つ
CALL TIM100 ;10msec秒待つ
MOVLW B'11111001' ;Wレジスタに0ビット目0で1ビット目は1を入力
MOVWF PORTB ;wレジスタからポートBへ移動;センサ1通過
CALL TIM100 ;10msec秒待つ
MOVLW B'11111011' ;Wレジスタに全て1
MOVWF PORTB ;wレジスタからポートBへ移動;センサ2通過;投入完了
CALL TIM100 ;10msec秒待つ
CALL TIM100 ;10msec秒待つ
CALL TIM100 ;10msec秒待つ
CALL TIM100 ;10msec秒待つ
BTFSC PORTA,2 ;ポートAの2ビットが0なら次をスキップ;スロー動作なら次をスキップ
GOTO HPSET ;ホッパに戻る
CALL SECTIM ;0.25秒待つ レトロ追加
CALL SECTIM ;0.25秒待つ レトロ追加
GOTO HPSET ;ホッパに戻る
;*******************************
; 約0.5秒のタイマサブルーチン
;*******************************
; 0.4msecタイマ
TIM10 MOVLW 0F9H ;1
MOVWF CNT1 ;1+1=2
TIMLP1 NOP
DECFSZ CNT1,F ;1+1+2=4
GOTO TIMLP1 ;2+4*249-1=997
RETURN ;997+2=999*0.4usec=0.4msec
; 10msec タイマ
TIM100 MOVLW 019H ;0.4msec * 25(about)
MOVWF CNT2 ;25をセット
TIMLP2 CALL TIM10 ;2+(999+2+3)*25-1=249997
DECFSZ CNT2,F
GOTO TIMLP2
RETURN ;+2=249999×0.4μsec=100msec
; 0.25sec タイマ
SECTIM MOVLW 019H
MOVWF CNT3 ;10msec * 25(about)
TIMLP3 CALL TIM100
DECFSZ CNT3,F
GOTO TIMLP3
RETURN
; 5msec タイマ
TIM50 MOVLW 00cH ;0.4msec * 12(about)
MOVWF CNT4 ;12をセット
TIMLP4 CALL TIM10 ;2+(999+2+3)*12-1=
DECFSZ CNT4,F
GOTO TIMLP4
RETURN ;
; 1msec タイマ
TIM5 MOVLW 004H ;0.4msec * 4(about)
MOVWF CNT5 ;4をセット
TIMLP5 CALL TIM10 ;2+(999+2+3)*4-1=
DECFSZ CNT5,F
GOTO TIMLP5
RETURN ;+2=×0.4μsec=1.2msec
END
****************
回胴式遊戯機技術研究会はパチスロの入出力信号を調べて、オシロスコープで波形をみて、その通りの疑似信号を出力するマイコンプログラムを作成して、回路にのせて、パチスロのメダル不要回路を作成して、卒業の技術講習を開講しています。
この機会に、パチスロの基礎から学んで、アミューズメント仕様パチスロの技術を身につけてみませんか?
受講受付中!!
ご不明の点はご遠慮なくお尋ね下さい。存じ上げていることは丁寧にご案内させていただきます。
TEL 090-3194-4902