home *** CD-ROM | disk | FTP | other *** search
- module led2 flag '-r2'
- title
- 'Binary to seven segment display decoder for Blackjack machine
- Michael Holley & Walter Bright Data I/O Corp 24 Feb 1984'
- "
- " a binary-to-seven-segment decimal decoder
- " ---
- " f| g |b
- " --- segment identification
- " e| d |c
- " ---
- " digit0 digit1 digit2 digit3 blank hit stand bust
- " --- --- --- ---
- " | | | | | | | | |
- " --- --- --- --- ---
- " | | | | | | | | | |
- " --- --- --- --- ---
- "
- BJ5A device 'F82S153';
-
- S4,S3,S2,S1,S0 pin 1,2,3,4,5; score = [S4,S3,S2,S1,S0];
- Q3,Q2,Q1,Q0 pin 6,7,8,9; Qstate = [Q3,Q2,Q1,Q0];
- a,b,c,d,e,f,g pin 12,13,14,15,16,17,18; led = [a,b,c,d,e,f,g];
-
- ena pin 11;
-
- ON,OFF = 1,0; " for common anode LEDs
- L,H,X,Z = 0,1,.X.,.Z.;
- XXXX = [.X.,.X.,.X.,.X.];
-
- @include 'bjstate.tab'
-
- " input outputs
- " a b c d e f g
- digit0 = [OFF, OFF, OFF, OFF, OFF, OFF, OFF];
- digit1 = [OFF, ON, ON, OFF, OFF, OFF, OFF];
- digit2 = [ ON, ON, OFF, ON, ON, OFF, ON];
- digit3 = [ ON, ON, ON, ON, OFF, OFF, ON];
- blank = [OFF, OFF, OFF, OFF, OFF, OFF, OFF];
- hit = [OFF, ON, ON, OFF, ON, ON, ON];
- stand = [ ON, OFF, ON, ON, OFF, ON, ON];
- bust = [OFF, OFF, ON, ON, ON, ON, ON];
-
- highZ macro { [Z, Z, Z, Z, Z, Z, Z]};
-
- truth_table
- ([ena,score] -> led)
- @const i = 0;
- @repeat 32 {
- [ L, @expr i; ] -> @expr {digit} i/10; ; @const i = i+1;}
-
- truth_table
- ([ena,Qstate ] -> led)
- [ H, Wait ] -> blank;
- [ H, ShowHit ] -> hit;
- [ H, ShowStand] -> stand;
- [ H, ShowBust ] -> bust;
- @page
-
- test_vectors 'Test digits'
- ([ena,Qstate ,score] -> led )
- @const i = 0;
- @repeat 27 {
- [ L ,ShowStand, i ] -> @expr {digit} i/10; ;
- [ L ,ShowBust , i ] -> @expr {digit} i/10; ;
- [ L ,ShowHit , i ] -> @expr {digit} i/10; ; @const i = i+1;}
-
- test_vectors 'Test Hit, Stand, Bust'
- ([ena,Qstate ,score] -> led )
- @const i = 0;
- @repeat 27 {
- [ H ,Wait , i ] -> blank;
- [ H ,ShowStand, i ] -> stand;
- [ H ,ShowHit , i ] -> hit;
- [ H ,ShowBust , i ] -> bust; @const i=i+1;}
-
- end led2
-
-