# cromemco 3D config file
# derived from imsai 3D config file

# This file is a configuration file for the FrontPanel simulation library
# which defines a 3-dimensional model of the Cromemco Z-1 microcomputer

#  Copyright (c) 2007-2008, John Kichury

#   This software is freely distributable free of charge and without license fees with the
#   following conditions:

#   THE SOFTWARE AND DATA IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
#   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
#   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
#   JOHN KICHURY BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
#   IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
#   CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

#   The above copyright notice must be included in any copies of this software.


message Imsai 3D Model. Copyright (C) 2007-2008 by John Kichury

# materials definitions
# material n Ar Ag Ab Aa  Dr Dg Db Da  Sr Sg Sb Sa  Shine Er Eg Eb Ea

material 2  0.1 0.0 0.0 1.0  1.0 1.0 1.0 1.0  0.0 0.0 0.0 1.0  0.0 0.0 0.0 0.0 1.0   # white
material 3  0.1 0.0 0.0 1.0  0.2 0.2 1.0 1.0  0.0 0.0 0.0 1.0  0.0 0.0 0.0 0.0 1.0   # blue
material 4  0.1 0.0 0.0 1.0  1.0 0.2 0.2 1.0  0.0 0.0 0.0 1.0  0.0 0.0 0.0 0.0 1.0   # red
material 5  0.1 0.0 0.0 1.0  0.5 0.3 0.1 1.0  0.0 0.0 0.0 1.0  0.0 0.0 0.0 0.0 1.0   # anodized aluminum
material 6  0.1 0.0 0.0 1.0  0.4 0.7 1.0 1.0  0.0 0.0 0.0 1.0  0.0 0.0 0.0 0.0 1.0   # light blue
material 7  0.1 0.0 0.0 1.0  1.0 1.0 1.0 0.18  0.0 0.0 0.0 1.0  0.0 0.0 0.0 0.0 1.0   # transp white

 zbuffer
 perspective
 rotate 0 -20
 translate 0 0 -20
 lightsize .1625

# front panel
# -----------

object panel
 # normal graphics
 texture cromemco_1024.jpg
 # hi definition graphics
 #texture cromemco_1600.jpg
 material 2
 color 1 1 1
 polygon
 v .0 .0 0.
 n 0. 0. 1.
 v 17.04 .0 0.
 n 0. 0. 1.
 v 17.04 7.0 0.
 n 0. 0. 1.
 v .0 7.0 0.
 n 0. 0. 1.

# reflective plexiglass
# ---------------------

object plexiglass
 texture envmap.jpg
 envmap
 material 7
 polygon 
 v .0 2.9 0.1
 n -.1 -.1 1
 v 17.04 2.9 0.1
 n .1 -.1 1
 v 17.04 7.0 0.1
 n .1 .1 1
 v .0 7.0 0.1
 n -.1 .1 1

# cover
# -----

object cover_top
material 2
texture blue_paint.jpg
tristrip
v -0.0491821 7.08561 -20.2029 
n 0 1 0 
t 0 2
v -0.0491821 7.08561 0.614493 
n 0 1 0 
t 0 0
v 17.133 7.08561 -20.2029 
n 0 1 0 
t 2 2
v 17.133 7.08561 0.614493 
n 0 1 0 
t 2 0

object bottom
material 5
tristrip
v 0.128511 -0.00144345 2.98023e-008 
n 0.00158943 -0.999998 0.00135154
v 0.0085296 -0.0280538 -19.5478 
n 0.00158943 -0.999998 0.00135154
v 17.1326 0.0255834 2.98023e-008 
n 0.00158943 -0.999998 0.00135154
v 17.0126 -0.0010269 -19.5478 
n 0.00158943 -0.999998 0.00135154

object cover_inside
 material 6
tristrip
v 0.0416985 -0.027183 0.614493 
n 1 0 0
v 0.0416985 -0.027183 -20.2029 
n 1 0 0
v 0.0416985 7.00263 0.614493 
n 1 0 0
v 0.0416985 7.00263 -20.2029 
n 1 0 0
tristrip
v 0.0416985 7.00263 0.614493 
n 0 -1 0
v 0.0416985 7.00263 -20.2029 
n 0 -1 0
v 17.0349 7.00263 0.614493 
n 0 -1 0
v 17.0349 7.00263 -20.2029 
n 0 -1 0
tristrip
v 17.0349 7.00263 0.614493 
n -1 0 0
v 17.0349 7.00263 -20.2029 
n -1 0 0
v 17.0349 -0.027183 0.614493 
n -1 0 0
v 17.0349 -0.027183 -20.2029 
n -1 0 0

object cover_frontedge
material 6
tristrip 
v -0.0491821 -0.027183 0.614493 
n 0 0 1
v 0.0416985 -0.027183 0.614493 
n 0 0 1
v -0.0491821 7.08561 0.614493 
n 0 0 1
v 0.0416985 7.00263 0.614493 
n 0 0 1
v 17.133 7.08561 0.614493 
n 0 0 1
v 17.0349 7.00263 0.614493 
n 0 0 1
v 17.133 -0.027183 0.614493 
n 0 0 1
v 17.0349 -0.027183 0.614493 
n 0 0 1

object cover_rear_edge
material 6
tristrip 
v 17.133 -0.027183 -20.2029 
n 0 0 -1
v 17.0349 -0.027183 -20.2029 
n 0 0 -1
v 17.133 7.08561 -20.2029 
n 0 0 -1
v 17.0349 7.00263 -20.2029 
n 0 0 -1
v -0.0491821 7.08561 -20.2029 
n 0 0 -1
v 0.0416985 7.00263 -20.2029 
n 0 0 -1
v -0.0491821 -0.027183 -20.2029 
n 0 0 -1
v 0.0416985 -0.027183 -20.2029 
n 0 0 -1

object cover_right
material 2
texture case_right.jpg
tristrip
v 17.133 7.08561 0.614493 
n 1 0 0 
t 0 1
v 17.133 -0.027183 0.614493 
n 1 0 0 
t 0 0
v 17.133 7.08561 -20.2029 
n 1 0 0 
t 1 1
v 17.133 -0.027183 -20.2029 
n 1 0 0 
t 1 0

object cover_left
material 2
texture case_left.jpg
tristrip
v -0.0491821 7.08561 -20.2029 
n -1 0 0 
t 0 1
v -0.0491821 -0.027183 -20.2029 
n -1 0 0 
t 0 0
v -0.0491821 7.08561 0.614493 
n -1 0 0 
t 1 1
v -0.0491821 -0.027183 0.614493 
n -1 0 0 
t 1 0

object rear
material 2
texture case_rear.jpg
tristrip
v 17.0126 7.04729 -19.5478 
n 0 0 -1 
t 0 1
v 17.0126 -0.0010269 -19.5478 
n 0 0 -1 
t 0 0
v 0.0085296 7.02027 -19.5478 
n 0 0 -1 
t 1 1
v 0.0085296 -0.0280538 -19.5478 
n 0 0 -1 
t 1 0

# geometry for front panel switches
# ---------------------------------

object pwr_sw_dn
 referenced
 instance pwr_switch
 material 4
 rotate 0 22 0

object pwr_sw_up
 referenced
 instance pwr_switch
 material 4
 rotate 0 8 0

object pwr_switch
 referenced

tristrip
v -0.313201 -0.59554 0.0199525 
n -0.00407474 -0.61024 0.792206
v 0.3132 -0.59445 0.0240135 
n -0.00407474 -0.61024 0.792206
v -0.313201 -0.32615 0.227464 
n -0.00407474 -0.61024 0.792206
v 0.3132 -0.32506 0.231526 
n -0.00407474 -0.61024 0.792206
tristrip
v -0.313201 -0.32615 0.227464 
n -0.00663291 0.404262 0.914619
v 0.3132 -0.32506 0.231526 
n -0.00663291 0.404262 0.914619
v -0.313201 0.0755901 0.0498965 
n -0.00668471 0.169442 0.985518
v 0.3132 0.0766799 0.0539565 
n -0.00668471 0.169442 0.985518
v -0.313201 0.44546 0.0779275 
n -0.00633431 -0.0755729 0.99712
v 0.3132 0.44654 0.0819905 
n -0.00633431 -0.0755729 0.99712
tristrip
v -0.313201 0.44546 0.0779275 
n -0.00477377 0.86267 0.505744
v 0.3132 0.44654 0.0819905 
n -0.00477377 0.86267 0.505744
v -0.313201 0.60462 -0.193566 
n -0.00477377 0.86267 0.505744
v 0.3132 0.60571 -0.189505 
n -0.00477377 0.86267 0.505744
tristrip
v 0.3132 0.59445 -0.231526 
n 1 0 0
v 0.3132 0.60571 -0.189505 
n 1 0 0
v 0.3132 0.39488 -0.19541 
n 1 0 0
v 0.3132 0.44654 0.0819905 
n 1 0 0
v 0.3132 0.0200901 -0.129048 
n 1 0 0
v 0.3132 0.0766799 0.0539565 
n 1 0 0
v 0.3132 -0.37621 -0.0580237 
n 1 0 0
v 0.3132 -0.32506 0.231526 
n 1 0 0
v 0.3132 -0.60571 -0.0180079 
n 1 0 0
v 0.3132 -0.59445 0.0240135 
n 1 0 0
tristrip
v -0.313201 0.60462 -0.193566 
n -0.995655 -0.0606176 -0.0706913
v -0.300301 0.59445 -0.231526 
n -0.995655 -0.0606176 -0.0706913
v -0.313201 0.44546 0.0779275 
n -0.997475 -0.0317712 -0.0635115
v -0.300301 0.39488 -0.19541 -
n 0.997475 -0.0317712 -0.0635115
v -0.313201 0.0755901 0.0498965 
n -0.998493 -0.00951712 -0.0540408
v -0.300301 0.0200901 -0.129048 
n -0.998493 -0.00951712 -0.0540408
v -0.313201 -0.32615 0.227464 
n -0.997646 0.00616015 -0.0683013
v -0.300301 -0.37621 -0.0580237 
n -0.997646 0.00616015 -0.0683013
v -0.313201 -0.59554 0.0199525 
n -0.995996 0.0284526 -0.0847464
v -0.300301 -0.60571 -0.0180079 
n -0.980136 -0.0132775 -0.19788

object sw3d_red
 instance sw3d
 material 4

object sw3d_red_down
 instance sw3d
 material 4
 rotate 0 15 0

object sw3d_red_up
 instance sw3d
 material 4
 rotate 0 -15 0

object sw3d_blue
 material 3
 instance sw3d

object sw3d_blue_up
 material 3
 instance sw3d
 rotate 0 -15 0

object sw3d_blue_down
 material 3
 instance sw3d
 rotate 0 15 0

object sw3d
material 3
referenced
tristrip
v -0.322197 -0.500808 0.0231751 
n -0.983197 -0.111569 0.144485
v -0.313953 -0.503767 0.0236924 
n -0.983197 -0.111569 0.144485
v -0.322197 -0.451935 0.00761682 
n -0.993244 -0.0593432 0.0997217
v -0.313953 -0.457661 0.112592 
n -0.993244 -0.0593432 0.0997217
v -0.322197 -0.0897705 0.00761682 
n -0.997968 0.0285358 0.0569715
v -0.313953 -0.0933693 0.203677 
n -0.997968 0.0285358 0.0569715
v -0.322197 -0.0396271 0.00761682 
n -0.99788 0.0243283 0.060355
v -0.262556 -0.0423781 0.956978 
n -0.99788 0.0243283 0.060355
v -0.322197 0.0495173 0.00761682 
n -0.997206 -0.0458485 0.0589704
v -0.262556 0.0488623 1.0019 
n -0.997206 -0.0458485 0.0589704
v -0.322197 0.0885178 0.00761682 
n -0.997871 -0.0350488 0.0549962
v -0.313953 0.0884405 0.20493 
n -0.997871 -0.0350488 0.0549962
v -0.322197 0.445111 0.00761682 
n -0.994807 0.0571085 0.0842419
v -0.313953 0.451438 0.118839 
n -0.994807 0.0571085 0.0842419
v -0.322197 0.490608 0.0113357 
n -0.987522 0.107645 0.114951
v -0.313953 0.496233 0.0305661 
n -0.987522 0.107645 0.114951

tristrip
v -0.313953 -0.503767 0.0236924 
n 0 -0.887713 0.460396
v 0.302803 -0.503767 0.0236924 
n 0 -0.887713 0.460396
v -0.313953 -0.457661 0.112592 
n 0 -0.887713 0.460396
v 0.302803 -0.457661 0.112592 
n 0 -0.887713 0.460396
tristrip
v -0.313953 -0.457661 0.112592 
n 0 -0.242566 0.970135
v 0.302803 -0.457661 0.112592 
n 0 -0.242566 0.970135
v -0.313953 -0.0933693 0.203677 
n 0 -0.242566 0.970135
v 0.302803 -0.0933693 0.203677 
n 0 -0.242566 0.970135
tristrip
v -0.313953 -0.0933693 0.203677 
n 0 -0.997717 0.0675357
v 0.302803 -0.0933693 0.203677 
n 0 -0.997717 0.0675357
v -0.262556 -0.0423781 0.956978 
n 0 -0.997717 0.0675357
v 0.251411 -0.0423781 0.956978 
n 0 -0.997717 0.0675357
tristrip
v -0.262556 -0.0423781 0.956978 
n 0 -0.441748 0.897139
v 0.251411 -0.0423781 0.956978 
n 0 -0.441748 0.897139
v -0.262556 0.0488623 1.0019 
n 0 -0.441748 0.897139
v 0.251411 0.0488623 1.0019 
n 0 -0.441748 0.897139
tristrip
v -0.262556 0.0488623 1.0019 
n 0 0.998769 0.0495995
v 0.251411 0.0488623 1.0019 
n 0 0.998769 0.0495995
v -0.313953 0.0884405 0.20493 
n 0 0.998769 0.0495995
v 0.302803 0.0884405 0.20493 
n 0 0.998769 0.0495995
tristrip
v -0.313953 0.0884405 0.20493 
n 0 0.230766 0.973009
v 0.302803 0.0884405 0.20493 
n 0 0.230766 0.973009
v -0.313953 0.451438 0.118839 
n 0 0.230766 0.973009
v 0.302803 0.451438 0.118839 
n 0 0.230766 0.973009
tristrip
v -0.313953 0.451438 0.118839 
n 0 0.891748 0.452532
v 0.302803 0.451438 0.118839 
n 0 0.891748 0.452532
v -0.313953 0.496233 0.0305661 
n 0 0.891748 0.452532
v 0.302803 0.496233 0.0305661 
n 0 0.891748 0.452532
tristrip
v 0.302803 -0.503767 0.0236924 
n 0.995979 0.0528771 -0.0723124
v 0.298469 -0.500808 0.0213526 
n 0.995979 0.0528771 -0.0723124
v 0.302803 -0.457661 0.112592 
n 0.998352 0.0281861 -0.0499965
v 0.298469 -0.451935 0.00190431 
n 0.998352 0.0281861 -0.0499965
v 0.302803 -0.0933693 0.203677 
n 0.993739 0.11162 0.00482487
v 0.298469 -0.0897705 0.00190431 
n 0.993739 0.11162 0.00482487
v 0.251411 -0.0423781 0.956978 
n 0.993662 0.10389 0.0429255
v 0.298469 -0.0396271 0.00190431 
n 0.993662 0.10389 0.0429255
v 0.251411 0.0488623 1.0019 
n 0.987961 -0.149073 0.0413543
v 0.298469 0.0495173 0.00190431 
n 0.987961 -0.149073 0.0413543
v 0.302803 0.0884405 0.20493 
n 0.989452 -0.144818 0.00346113
v 0.298469 0.0885178 0.00190431 
n 0.989452 -0.144818 0.00346113
v 0.302803 0.451438 0.118839 
n 0.99873 -0.0279702 -0.0419128
v 0.298469 0.445111 0.00190431 
n 0.99873 -0.0279702 -0.0419128
v 0.302803 0.496233 0.0305661 
n 0.996996 -0.052685 -0.056775
v 0.298469 0.489413 0.00749761 
n 0.996996 -0.052685 -0.056775

# front panel switches

switch SW_15 type=object operate=toggle objects=sw3d_blue_down,sw3d_blue pos=1.05,2.218,0. size=1.00,1.2,1.0
switch SW_14 type=object operate=toggle objects=sw3d_blue_down,sw3d_blue pos=1.70,2.218,0. size=1.00,1.2,1.0
switch SW_13 type=object operate=toggle objects=sw3d_blue_down,sw3d_blue pos=2.35,2.218,0. size=1.00,1.2,1.0
switch SW_12 type=object operate=toggle objects=sw3d_blue_down,sw3d_blue pos=2.99,2.218,0. size=1.00,1.2,1.0

switch SW_11 type=object operate=toggle objects=sw3d_red_down,sw3d_red pos=3.67,2.218,0. size=1.00,1.2,1.0
switch SW_10 type=object operate=toggle objects=sw3d_red_down,sw3d_red pos=4.32,2.218,0. size=1.00,1.2,1.0
switch SW_09 type=object operate=toggle objects=sw3d_red_down,sw3d_red pos=4.97,2.218,0. size=1.00,1.2,1.0
switch SW_08 type=object operate=toggle objects=sw3d_red_down,sw3d_red pos=5.62,2.218,0. size=1.00,1.2,1.0

switch SW_07 type=object operate=toggle objects=sw3d_blue_down,sw3d_blue pos=6.885,2.218,0. size=1.00,1.2,1.0
switch SW_06 type=object operate=toggle objects=sw3d_blue_down,sw3d_blue pos=7.550,2.218,0. size=1.00,1.2,1.0
switch SW_05 type=object operate=toggle objects=sw3d_blue_down,sw3d_blue pos=8.192,2.218,0. size=1.00,1.2,1.0
switch SW_04 type=object operate=toggle objects=sw3d_blue_down,sw3d_blue pos=8.85,2.218,0. size=1.00,1.2,1.0

switch SW_03 type=object operate=toggle objects=sw3d_red_down,sw3d_red pos=9.50,2.218,0. size=1.00,1.2,1.0
switch SW_02 type=object operate=toggle objects=sw3d_red_down,sw3d_red pos=10.15,2.218,0. size=1.00,1.2,1.0
switch SW_01 type=object operate=toggle objects=sw3d_red_down,sw3d_red pos=10.82,2.218,0. size=1.00,1.2,1.0
switch SW_00 type=object operate=toggle objects=sw3d_red_down,sw3d_red pos=11.47,2.218,0. size=1.00,1.2,1.0

switch SW_EXAMINE type=object  operate=mom_off_mom objects=sw3d_blue_down,sw3d_blue_up,sw3d_blue pos=12.80,2.218,0. size=1.0,1.2,1

switch SW_DEPOSIT type=object  operate=mom_off_mom objects=sw3d_red_down,sw3d_red_up,sw3d_red pos=13.45,2.218,0. size=1.0,1.2,1

switch SW_RESET type=object  operate=mom_off_mom objects=sw3d_blue_down,sw3d_blue_up,sw3d_blue pos=14.10,2.218,0. size=1.0,1.2,1

switch SW_RUN type=object  operate=mom_off_mom objects=sw3d_red_down,sw3d_red_up,sw3d_red pos=14.74,2.218,0. size=1.0,1.2,1

switch SW_STEP type=object  operate=mom_off_mom objects=sw3d_blue_down,sw3d_blue_up,sw3d_blue pos=15.37,2.218,0. size=1.0,1.2,1
switch SW_PWR  type=object  operate=toggle objects=pwr_sw_dn,pwr_sw_up pos=16.05,2.15,0.05 size=1.05,1.05,1.0

# address lights

light LED_ADDR_00 pos=11.422,3.80
light LED_ADDR_01 pos=10.732,3.80
light LED_ADDR_02 pos=10.102,3.80
light LED_ADDR_03 pos=9.442,3.80
light LED_ADDR_04 pos=8.802,3.80
light LED_ADDR_05 pos=8.172,3.80
light LED_ADDR_06 pos=7.502,3.80
light LED_ADDR_07 pos=6.882,3.80

light LED_ADDR_08 pos=5.570,3.80
light LED_ADDR_09 pos=4.912,3.80
light LED_ADDR_10 pos=4.292,3.80
light LED_ADDR_11 pos=3.60,3.80
light LED_ADDR_12 pos=2.99,3.80
light LED_ADDR_13 pos=2.34,3.80
light LED_ADDR_14 pos=1.68,3.80
light LED_ADDR_15 pos=1.05,3.80

# data lights

light LED_DATA_00 pos=11.422,4.85
light LED_DATA_01 pos=10.732,4.85
light LED_DATA_02 pos=10.102,4.85
light LED_DATA_03 pos=9.442,4.85
light LED_DATA_04 pos=8.802,4.85
light LED_DATA_05 pos=8.172,4.85
light LED_DATA_06 pos=7.502,4.85
light LED_DATA_07 pos=6.882,4.85

# cpu status lights 

light LED_STATUS_00 pos=5.580,4.85 group=0
light LED_STATUS_01 pos=4.912,4.85 group=0
light LED_STATUS_02 pos=4.292,4.85
light LED_STATUS_03 pos=3.60,4.85 group=0
light LED_STATUS_04 pos=2.99,4.85 group=0
light LED_STATUS_05 pos=2.34,4.85 group=0
light LED_STATUS_06 pos=1.68,4.85 group=0
light LED_STATUS_07 pos=1.05,4.85 group=0

# programmed output lights

light LED_DATOUT_00 pos=5.580,6.00
light LED_DATOUT_01 pos=4.912,6.00
light LED_DATOUT_02 pos=4.292,6.00
light LED_DATOUT_03 pos=3.60,6.00
light LED_DATOUT_04 pos=2.99,6.00
light LED_DATOUT_05 pos=2.34,6.00
light LED_DATOUT_06 pos=1.68,6.00
light LED_DATOUT_07 pos=1.05,6.00

# run, interrupt enable, wait and hold lights

light LED_RUN pos=14.742,3.85
light LED_INTEN pos=14.034,3.85
light LED_WAIT pos=15.29,3.85
light LED_HOLD pos=15.94,3.85

# end of file
