home *** CD-ROM | disk | FTP | other *** search
- module Cardsel
- title 'Card input selector for Blackjack Machine
- Michael Holley Data I/O Redmond WA 13 Jan 1984'
-
- BJ1A device 'P16HD8';
-
- H,L,X = 1,0,.X.;
-
-
- Q3,Q2,Q1,Q0 pin 5,6,7,8; Qstate = [Q3,Q2,Q1,Q0];
- valid,is_ace pin 17,18;
-
- D3,D2,D1,D0 pin 1,2,3,4; card = [ X,D3,D2,D1,D0];
- V4,V3,V2,V1,V0 pin 12,13,14,15,16; value = [V4,V3,V2,V1,V0];
-
- ten = [0,1,0,1,0];
- minus_ten = [1,0,1,1,0];
- clr = [1,1,1,1,1];
- blank_msb = [0,1,1,1,1];
-
- @include 'bjstate.tab'
- equations
- is_ace = (!card == 1);
-
- valid = (!card >= 1) & (!card <=10);
-
- value = (Qstate==AddCard) & valid & !card & blank_msb
- # (Qstate==Add10) & ten
- # (Qstate==Sub10) & minus_ten
- # (Qstate==Clear) & clr;
- @page
- test_vectors 'Test card values'
- ([Qstate,card] -> [value,valid,is_ace])
- [AddCard, !0] -> [ 0, L, L];
- [AddCard, !1] -> [ 1, H, H];
- [AddCard, !2] -> [ 2, H, L];
- [AddCard, !3] -> [ 3, H, L];
- [AddCard, !4] -> [ 4, H, L];
- [AddCard, !5] -> [ 5, H, L];
- [AddCard, !6] -> [ 6, H, L];
- [AddCard, !7] -> [ 7, H, L];
- [AddCard, !8] -> [ 8, H, L];
- [AddCard, !9] -> [ 9, H, L];
- [AddCard,!10] -> [ 10, H, L];
- [AddCard,!15] -> [ 0, L, L];
-
- test_vectors 'Test fixed values'
- ([Qstate,card] -> [value,valid,is_ace])
- [Add10 , 0] -> [ 10, X, X];
- [Add10 , 5] -> [ 10, X, X];
- [Add10 ,15] -> [ 10, X, X];
- [Sub10 , 0] -> [ 22, X, X];
- [Sub10 , 5] -> [ 22, X, X];
- [Sub10 ,15] -> [ 22, X, X];
- [Clear , 0] -> [ 31, X, X];
- [Clear , 5] -> [ 31, X, X];
- [Clear ,15] -> [ 31, X, X];
- end Cardsel
-