repo2/atari_chips/pokeyv2/build.sh @ 1413
987 | markw | #!/usr/bin/perl -w
|
|
use strict;
|
|||
my $wanted_variant = shift @ARGV;
|
|||
my $name="eclaireXL";
|
|||
#Added like this to the generated qsf
|
|||
#set_parameter -name TV 1
|
|||
1358 | markw | my $version = "127";
|
|
1020 | markw | ||
987 | markw | my %variants =
|
|
(
|
|||
1016 | markw | # enable_auto_stereo : integer := 0; -- 1=auto detect a4 => not toggling => mono
|
|
#
|
|||
# fancy_switch_bit : integer := 10; -- 0=ext is low => mono
|
|||
# gtia_audio_bit : integer := 0; -- 0=no gtia on l/r,1=gtia mixed on l/r
|
|||
# a4_bit : integer := 0;
|
|||
# a5_bit : integer := 0;
|
|||
# a6_bit : integer := 0;
|
|||
# a7_bit : integer := 0;
|
|||
#
|
|||
# ext_bits : integer := 3;
|
|||
#
|
|||
# enable_config : integer := 1;
|
|||
# enable_sid : integer := 0;
|
|||
# enable_ym : integer := 0;
|
|||
# enable_covox : integer := 0;
|
|||
# enable_sample : integer := 0;
|
|||
#
|
|||
# version : STRING := "DEVELOPR" -- 8 char string atascii
|
|||
1238 | markw | "v1_10M02_stereo_auto" =>
|
|
{
|
|||
"pokeys" => 2,
|
|||
"enable_auto_stereo" => 1,
|
|||
"a4_bit" => 1,
|
|||
"fpga" => "10M02SCU169C8G",
|
|||
"board" => "v1",
|
|||
"ext_bits"=> 1,
|
|||
"cs0_bit" => 0, #force low
|
|||
"version" => $version . "M02SA"
|
|||
},
|
|||
1325 | markw | "10M02_mono_linear" =>
|
|
{
|
|||
"saturate_on_by_default" => 0,
|
|||
"pokeys" => 1,
|
|||
"fpga" => "10M02SCU169C8G",
|
|||
"enable_auto_stereo" => 1,
|
|||
"gtia_audio_bit" => 3,
|
|||
"a4_bit" => 1, #to access config!
|
|||
"version" => $version . "M02MO"
|
|||
},
|
|||
"10M02_stereo_xel_auto_linear" =>
|
|||
{
|
|||
"saturate_on_by_default" => 0,
|
|||
"pokeys" => 2,
|
|||
"enable_auto_stereo" => 1,
|
|||
"a4_bit" => 1,
|
|||
"cs1_bit" => 20,
|
|||
"gtia_audio_bit" => 3,
|
|||
"fpga" => "10M02SCU169C8G",
|
|||
"version" => $version . "M02SX"
|
|||
},
|
|||
"10M02_stereo_covox_no_right_detect_linear" =>
|
|||
{
|
|||
"saturate_on_by_default" => 0,
|
|||
"pokeys" => 2,
|
|||
"enable_auto_stereo" => 0,
|
|||
"enable_covox" => 1,
|
|||
"detect_right_on_by_default" => 0,
|
|||
"a4_bit" => 1,
|
|||
"a7_bit" => 2,
|
|||
"gtia_audio_bit" => 3,
|
|||
"fpga" => "10M02SCU169C8G",
|
|||
"version" => $version."M02SC"
|
|||
},
|
|||
"10M02_stereo_auto_linear" =>
|
|||
{
|
|||
"saturate_on_by_default" => 0,
|
|||
"pokeys" => 2,
|
|||
"enable_auto_stereo" => 1,
|
|||
"a4_bit" => 1,
|
|||
"gtia_audio_bit" => 3,
|
|||
"fpga" => "10M02SCU169C8G",
|
|||
"version" => $version . "M02SA"
|
|||
},
|
|||
"10M02_stereo_u1mb_auto_linear" =>
|
|||
{
|
|||
"saturate_on_by_default" => 0,
|
|||
"pokeys" => 2,
|
|||
"enable_auto_stereo" => 1,
|
|||
"a4_bit" => 1,
|
|||
"fancy_switch_bit" => 2,
|
|||
"gtia_audio_bit" => 3,
|
|||
"fpga" => "10M02SCU169C8G",
|
|||
"version" => $version . "M02SU"
|
|||
},
|
|||
"10M02_stereo_covox_auto_linear" =>
|
|||
{
|
|||
"saturate_on_by_default" => 0,
|
|||
"pokeys" => 2,
|
|||
"enable_auto_stereo" => 1,
|
|||
"enable_covox" => 1,
|
|||
"a4_bit" => 1,
|
|||
"a7_bit" => 2,
|
|||
"gtia_audio_bit" => 3,
|
|||
"fpga" => "10M02SCU169C8G",
|
|||
"version" => $version."M02SC"
|
|||
},
|
|||
"10M02_mono" =>
|
|||
{
|
|||
"pokeys" => 1,
|
|||
"fpga" => "10M02SCU169C8G",
|
|||
"enable_auto_stereo" => 1,
|
|||
"gtia_audio_bit" => 3,
|
|||
"a4_bit" => 1, #to access config!
|
|||
"version" => $version . "M02MO"
|
|||
},
|
|||
"10M02_stereo_xel_auto" =>
|
|||
{
|
|||
"pokeys" => 2,
|
|||
"enable_auto_stereo" => 1,
|
|||
"a4_bit" => 1,
|
|||
"cs1_bit" => 20,
|
|||
"gtia_audio_bit" => 3,
|
|||
"fpga" => "10M02SCU169C8G",
|
|||
"version" => $version . "M02SX"
|
|||
},
|
|||
"10M02_stereo_covox_no_right_detect" =>
|
|||
{
|
|||
"pokeys" => 2,
|
|||
"enable_auto_stereo" => 0,
|
|||
"enable_covox" => 1,
|
|||
"detect_right_on_by_default" => 0,
|
|||
"a4_bit" => 1,
|
|||
"a7_bit" => 2,
|
|||
"gtia_audio_bit" => 3,
|
|||
"fpga" => "10M02SCU169C8G",
|
|||
"version" => $version."M02SC"
|
|||
},
|
|||
"10M02_stereo_auto" =>
|
|||
{
|
|||
"pokeys" => 2,
|
|||
"enable_auto_stereo" => 1,
|
|||
"a4_bit" => 1,
|
|||
"gtia_audio_bit" => 3,
|
|||
"fpga" => "10M02SCU169C8G",
|
|||
"version" => $version . "M02SA"
|
|||
},
|
|||
"10M02_stereo_u1mb_auto" =>
|
|||
{
|
|||
"pokeys" => 2,
|
|||
"enable_auto_stereo" => 1,
|
|||
"a4_bit" => 1,
|
|||
"fancy_switch_bit" => 2,
|
|||
"gtia_audio_bit" => 3,
|
|||
"fpga" => "10M02SCU169C8G",
|
|||
"version" => $version . "M02SU"
|
|||
},
|
|||
"10M02_stereo_covox_auto" =>
|
|||
{
|
|||
"pokeys" => 2,
|
|||
"enable_auto_stereo" => 1,
|
|||
"enable_covox" => 1,
|
|||
"a4_bit" => 1,
|
|||
"a7_bit" => 2,
|
|||
"gtia_audio_bit" => 3,
|
|||
"fpga" => "10M02SCU169C8G",
|
|||
"version" => $version."M02SC"
|
|||
},
|
|||
1329 | markw | "10M04_quad_covox_xel_auto" =>
|
|
{
|
|||
"pokeys" => 4,
|
|||
"enable_auto_stereo" => 1,
|
|||
"enable_flash" => 1,
|
|||
"a4_bit" => 1,
|
|||
"a5_bit" => 2,
|
|||
"a7_bit" => 3,
|
|||
"cs1_bit" => 20,
|
|||
"enable_covox" => 1,
|
|||
"fpga" => "10M04SCU169C8G",
|
|||
"version" => $version . "M04QX"
|
|||
},
|
|||
1322 | markw | "10M04_mono" =>
|
|
1066 | markw | {
|
|
1322 | markw | "pokeys" => 1,
|
|
"fpga" => "10M04SCU169C8G",
|
|||
"enable_auto_stereo" => 1,
|
|||
"gtia_audio_bit" => 3,
|
|||
"enable_flash" => 1,
|
|||
"a4_bit" => 1, #to access config!
|
|||
"version" => $version . "M04MO"
|
|||
},
|
|||
1396 | markw | "10M16_monov2" =>
|
|
{
|
|||
"pokeys" => 1,
|
|||
"fpga" => "10M16SCU169C8G",
|
|||
"enable_auto_stereo" => 1,
|
|||
"gtia_audio_bit" => 3,
|
|||
"flash_addr_bits" => 17,
|
|||
"cs1_bit" => 20, #force high
|
|||
"a4_bit" => 1, #to access config!
|
|||
"sid_wave_base" => 79872, #"to_integer(unsigned(x\"13800\"))",
|
|||
"version" => $version . "M16MO"
|
|||
},
|
|||
1322 | markw | "10M04_stereo_xel_auto" =>
|
|
{
|
|||
1066 | markw | "pokeys" => 2,
|
|
"enable_auto_stereo" => 1,
|
|||
1322 | markw | "enable_flash" => 1,
|
|
1066 | markw | "a4_bit" => 1,
|
|
1322 | markw | "cs1_bit" => 20,
|
|
1066 | markw | "gtia_audio_bit" => 3,
|
|
1322 | markw | "fpga" => "10M04SCU169C8G",
|
|
"version" => $version . "M04SX"
|
|||
1066 | markw | },
|
|
1322 | markw | "10M04_stereo_covox_no_right_detect" =>
|
|
1067 | markw | {
|
|
"pokeys" => 2,
|
|||
1322 | markw | "enable_auto_stereo" => 0,
|
|
"enable_covox" => 1,
|
|||
"enable_flash" => 1,
|
|||
"detect_right_on_by_default" => 0,
|
|||
"a4_bit" => 1,
|
|||
"a7_bit" => 2,
|
|||
"gtia_audio_bit" => 3,
|
|||
"fpga" => "10M04SCU169C8G",
|
|||
"version" => $version."M04SC"
|
|||
},
|
|||
"10M04_stereo_auto" =>
|
|||
{
|
|||
"pokeys" => 2,
|
|||
1067 | markw | "enable_auto_stereo" => 1,
|
|
1322 | markw | "enable_flash" => 1,
|
|
1067 | markw | "a4_bit" => 1,
|
|
"gtia_audio_bit" => 3,
|
|||
1322 | markw | "fpga" => "10M04SCU169C8G",
|
|
"version" => $version . "M04SA"
|
|||
1067 | markw | },
|
|
1322 | markw | "10M04_stereo_u1mb_auto" =>
|
|
988 | markw | {
|
|
1004 | markw | "pokeys" => 2,
|
|
988 | markw | "enable_auto_stereo" => 1,
|
|
1322 | markw | "enable_flash" => 1,
|
|
1016 | markw | "a4_bit" => 1,
|
|
"fancy_switch_bit" => 2,
|
|||
"gtia_audio_bit" => 3,
|
|||
1322 | markw | "fpga" => "10M04SCU169C8G",
|
|
"version" => $version . "M04SU"
|
|||
988 | markw | },
|
|
1322 | markw | "10M04_stereo_covox_auto" =>
|
|
1005 | markw | {
|
|
"pokeys" => 2,
|
|||
"enable_auto_stereo" => 1,
|
|||
1016 | markw | "enable_covox" => 1,
|
|
1322 | markw | "enable_flash" => 1,
|
|
1016 | markw | "a4_bit" => 1,
|
|
"a7_bit" => 2,
|
|||
"gtia_audio_bit" => 3,
|
|||
1322 | markw | "fpga" => "10M04SCU169C8G",
|
|
"version" => $version."M04SC"
|
|||
1005 | markw | },
|
|
1322 | markw | "10M04_quad_auto" =>
|
|
1211 | markw | {
|
|
1322 | markw | "pokeys" => 4,
|
|
"enable_auto_stereo" => 1,
|
|||
"enable_flash" => 1,
|
|||
1211 | markw | "a4_bit" => 1,
|
|
1322 | markw | "a5_bit" => 2,
|
|
1211 | markw | "gtia_audio_bit" => 3,
|
|
1322 | markw | "fpga" => "10M04SCU169C8G",
|
|
"version" => $version . "M04QA"
|
|||
1211 | markw | },
|
|
1322 | markw | "10M04_quad_covox_auto" =>
|
|
1282 | markw | {
|
|
1322 | markw | "pokeys" => 4,
|
|
"enable_auto_stereo" => 1,
|
|||
1282 | markw | "enable_flash" => 1,
|
|
"a4_bit" => 1,
|
|||
1322 | markw | "a5_bit" => 2,
|
|
"a7_bit" => 3,
|
|||
"enable_covox" => 1,
|
|||
1282 | markw | "fpga" => "10M04SCU169C8G",
|
|
1322 | markw | "version" => $version . "M04QC"
|
|
1282 | markw | },
|
|
1230 | markw | "10M08_stereo_covox_sample_auto" =>
|
|
1062 | markw | {
|
|
"pokeys" => 2,
|
|||
"enable_auto_stereo" => 1,
|
|||
"enable_covox" => 1,
|
|||
1230 | markw | "enable_sample" => 1,
|
|
1124 | markw | "enable_flash" => 1,
|
|
1062 | markw | "a4_bit" => 1,
|
|
"a7_bit" => 2,
|
|||
"gtia_audio_bit" => 3,
|
|||
"fpga" => "10M08SCU169C8G",
|
|||
1124 | markw | "version" => $version."M08SC"
|
|
1062 | markw | },
|
|
1241 | markw | "sid_10M08_sid_mono" =>
|
|
{
|
|||
"pokeys" => 1,
|
|||
"enable_sid" => 1,
|
|||
"enable_auto_stereo" => 1,
|
|||
"enable_flash" => 1,
|
|||
"ext_bits"=> 4,
|
|||
"bus" => "c64",
|
|||
"a4_bit" => 4,
|
|||
"a5_bit" => 0, #force low for now (will be stereo)
|
|||
"a6_bit" => 20, #force high
|
|||
"a7_bit" => 0, #force low
|
|||
"board" => "sid",
|
|||
"cs1_bit" => 20, #force high
|
|||
"fpga" => "10M08SCU169C8G",
|
|||
"version" => $version . "M08SI"
|
|||
},
|
|||
1245 | markw | "sid_10M08_sid_stereo" =>
|
|
{
|
|||
"pokeys" => 1,
|
|||
"enable_sid" => 1,
|
|||
"enable_auto_stereo" => 1,
|
|||
"enable_flash" => 1,
|
|||
"ext_bits"=> 4,
|
|||
"bus" => "c64",
|
|||
"a4_bit" => 4,
|
|||
"a5_bit" => 1, #STEREO
|
|||
"a6_bit" => 20, #force high
|
|||
"a7_bit" => 0, #force low
|
|||
"board" => "sid",
|
|||
"cs1_bit" => 20, #force high
|
|||
"fpga" => "10M08SCU169C8G",
|
|||
1282 | markw | "version" => $version . "M08SS"
|
|
1245 | markw | },
|
|
1396 | markw | "sidmax_10M04_stereo" =>
|
|
{
|
|||
"pokeys" => 0,
|
|||
"enable_auto_stereo" => 1,
|
|||
"enable_flash" => 1,
|
|||
"enable_psg" => 0,
|
|||
"enable_covox" => 0,
|
|||
"enable_sample" => 0,
|
|||
"ext_bits"=> 4,
|
|||
"bus" => "c64",
|
|||
"a5_bit" => 1, #STEREO
|
|||
"a6_bit" => 2,
|
|||
"a7_bit" => 3,
|
|||
"irq_bit" => 4,
|
|||
#"a6_bit" => 20, #force high
|
|||
#"a7_bit" => 0, #force low
|
|||
"type" => "sidmax",
|
|||
"board" => "v1",
|
|||
#"cs1_bit" => 20, #force high
|
|||
"fpga" => "10M04SCU169C8G",
|
|||
"version" => $version . "S04DS"
|
|||
},
|
|||
1325 | markw | "sidmax_10M08_full" =>
|
|
{
|
|||
"pokeys" => 2,
|
|||
"enable_auto_stereo" => 1,
|
|||
"enable_flash" => 1,
|
|||
"enable_psg" => 1,
|
|||
"enable_covox" => 1,
|
|||
"enable_sample" => 1,
|
|||
"ext_bits"=> 4,
|
|||
"bus" => "c64",
|
|||
"a5_bit" => 1, #STEREO
|
|||
"a6_bit" => 2,
|
|||
"a7_bit" => 3,
|
|||
"irq_bit" => 4,
|
|||
#"a6_bit" => 20, #force high
|
|||
#"a7_bit" => 0, #force low
|
|||
"type" => "sidmax",
|
|||
"board" => "v1",
|
|||
#"cs1_bit" => 20, #force high
|
|||
"fpga" => "10M08SCU169C8G",
|
|||
"version" => $version . "S08HK"
|
|||
},
|
|||
1238 | markw | "10M08_stereo_u1mb_auto" =>
|
|
{
|
|||
"pokeys" => 2,
|
|||
"enable_auto_stereo" => 1,
|
|||
"enable_flash" => 1,
|
|||
"a4_bit" => 1,
|
|||
"fancy_switch_bit" => 2,
|
|||
"gtia_audio_bit" => 3,
|
|||
"fpga" => "10M08SCU169C8G",
|
|||
"version" => $version . "M08SU"
|
|||
},
|
|||
1005 | markw | "10M08_quad_auto" =>
|
|
988 | markw | {
|
|
1005 | markw | "pokeys" => 4,
|
|
988 | markw | "enable_auto_stereo" => 1,
|
|
1111 | markw | "enable_flash" => 1,
|
|
1016 | markw | "a4_bit" => 1,
|
|
"a5_bit" => 2,
|
|||
1020 | markw | "gtia_audio_bit" => 3,
|
|
1017 | markw | "fpga" => "10M08SCU169C8G",
|
|
1022 | markw | "version" => $version . "M08QA"
|
|
990 | markw | },
|
|
1229 | markw | "10M08_quad_covox_sample_auto" =>
|
|
990 | markw | {
|
|
1004 | markw | "pokeys" => 4,
|
|
990 | markw | "enable_auto_stereo" => 1,
|
|
1020 | markw | "a4_bit" => 1,
|
|
"a5_bit" => 2,
|
|||
"a7_bit" => 3,
|
|||
1016 | markw | "enable_covox" => 1,
|
|
1229 | markw | "enable_sample" => 1,
|
|
1111 | markw | "enable_flash" => 1,
|
|
1020 | markw | "fpga" => "10M08SCU169C8G",
|
|
1022 | markw | "version" => $version . "M08QC"
|
|
1020 | markw | },
|
|
1021 | markw | "10M08_quad_sid" =>
|
|
{
|
|||
"pokeys" => 4,
|
|||
"enable_auto_stereo" => 1,
|
|||
"enable_sid" => 1,
|
|||
1105 | markw | "enable_flash" => 1,
|
|
1021 | markw | "a4_bit" => 1,
|
|
"a5_bit" => 2,
|
|||
"a6_bit" => 3,
|
|||
1092 | markw | "fpga" => "10M08SCU169C8G",
|
|
1091 | markw | "version" => $version . "M08QS"
|
|
1021 | markw | },
|
|
1229 | markw | "10M08_quad_psg_covox_sample" =>
|
|
1045 | markw | {
|
|
"pokeys" => 4,
|
|||
"enable_auto_stereo" => 1,
|
|||
"enable_psg" => 1,
|
|||
"enable_covox" => 1,
|
|||
1229 | markw | "enable_sample" => 1,
|
|
1111 | markw | "enable_flash" => 1,
|
|
1045 | markw | "a4_bit" => 1,
|
|
"a5_bit" => 2,
|
|||
"a7_bit" => 3,
|
|||
1092 | markw | "fpga" => "10M08SCU169C8G",
|
|
1091 | markw | "version" => $version . "M08QP"
|
|
1130 | markw | },
|
|
1304 | markw | # "10M08_basic" =>
|
|
# {
|
|||
# "enable_audout2" => 0,
|
|||
# "pokeys" => 2,
|
|||
# "enable_auto_stereo" => 1,
|
|||
# "enable_sid" => 0,
|
|||
# "enable_psg" => 0,
|
|||
# "enable_covox" => 0,
|
|||
# "enable_sample" => 0,
|
|||
# "enable_flash" => 1,
|
|||
# "a4_bit" => 1,
|
|||
# "a5_bit" => 2,
|
|||
# "a6_bit" => 3,
|
|||
# "a7_bit" => 19, #use CS1
|
|||
# "cs1_bit" => 20, #force high
|
|||
# "fpga" => "10M08SCU169C8G",
|
|||
# "version" => $version . "M08HK",
|
|||
# "optimisearea" => 1
|
|||
# },
|
|||
1396 | markw | "10M16_fullv2" =>
|
|
{
|
|||
"fpga" => "10M16SCU169C8G",
|
|||
"flash_addr_bits" => 17,
|
|||
"sid_wave_base" => 79872, #"to_integer(unsigned(x\"13800\"))",
|
|||
"version" => $version . "M16MO",
|
|||
"pokeys" => 4,
|
|||
"enable_auto_stereo" => 1,
|
|||
"enable_sid" => 1,
|
|||
"enable_psg" => 1,
|
|||
"enable_covox" => 1,
|
|||
"enable_sample" => 1,
|
|||
"enable_flash" => 1,
|
|||
"a4_bit" => 1,
|
|||
"a5_bit" => 2,
|
|||
"a6_bit" => 3,
|
|||
"a7_bit" => 19, #use CS1
|
|||
"cs1_bit" => 20, #force high
|
|||
"version" => $version . "M16HK"
|
|||
},
|
|||
1130 | markw | "10M08_fullv2" =>
|
|
{
|
|||
1291 | markw | "enable_audout2" => 0,
|
|
1130 | markw | "pokeys" => 4,
|
|
"enable_auto_stereo" => 1,
|
|||
"enable_sid" => 1,
|
|||
"enable_psg" => 1,
|
|||
"enable_covox" => 1,
|
|||
1154 | markw | "enable_sample" => 1,
|
|
1130 | markw | "enable_flash" => 1,
|
|
"a4_bit" => 1,
|
|||
"a5_bit" => 2,
|
|||
"a6_bit" => 3,
|
|||
"a7_bit" => 19, #use CS1
|
|||
"cs1_bit" => 20, #force high
|
|||
"fpga" => "10M08SCU169C8G",
|
|||
1266 | markw | "version" => $version . "M08HK",
|
|
"optimisearea" => 1
|
|||
1211 | markw | },
|
|
1396 | markw | "10M08_fullv2_stereo" =>
|
|
{
|
|||
"enable_audout2" => 0,
|
|||
"pokeys" => 2,
|
|||
"enable_auto_stereo" => 1,
|
|||
"enable_sid" => 1,
|
|||
"enable_psg" => 1,
|
|||
"enable_covox" => 1,
|
|||
"enable_sample" => 1,
|
|||
"enable_flash" => 1,
|
|||
"a4_bit" => 1,
|
|||
"a5_bit" => 2,
|
|||
"a6_bit" => 3,
|
|||
"a7_bit" => 19, #use CS1
|
|||
"cs1_bit" => 20, #force high
|
|||
"fpga" => "10M08SCU169C8G",
|
|||
"version" => $version . "M08HK",
|
|||
"optimisearea" => 1
|
|||
},
|
|||
1407 | markw | "10M02_v4_stereo" =>
|
|
{
|
|||
"enable_audout2" => 0,
|
|||
"pokeys" => 2,
|
|||
"enable_auto_stereo" => 1,
|
|||
"enable_sid" => 0,
|
|||
"enable_psg" => 0,
|
|||
"enable_covox" => 0,
|
|||
"enable_sample" => 0,
|
|||
"enable_flash" => 0,
|
|||
"enable_spdif" => 1,
|
|||
"enable_ps2" => 0,
|
|||
"a4_bit" => 1,
|
|||
"ps2clk_bit" => 5,
|
|||
"ps2dat_bit" => 6,
|
|||
"gtia_audio_bit" => 7,
|
|||
"fancy_switch_bit" => 8,
|
|||
"spdif_bit" => 10,
|
|||
"ext_bits"=> 10,
|
|||
"paddle_lvds"=>1,
|
|||
"paddle_comp"=>0,
|
|||
"enable_iox"=>0,
|
|||
"enable_adc"=>1,
|
|||
"pll_v2" => 0,
|
|||
"fpga" => "10M02SCU169C8G",
|
|||
"version" => $version . "M02SA",
|
|||
"optimisearea" => 1,
|
|||
"board" => "v4"
|
|||
},
|
|||
1402 | markw | "10M08_fullv4_stereo_sample" =>
|
|
1396 | markw | {
|
|
"enable_audout2" => 0,
|
|||
"pokeys" => 2,
|
|||
"enable_auto_stereo" => 1,
|
|||
"enable_sid" => 1,
|
|||
"enable_psg" => 1,
|
|||
"enable_covox" => 1,
|
|||
"enable_sample" => 1,
|
|||
"enable_flash" => 1,
|
|||
1402 | markw | "enable_spdif" => 0,
|
|
"enable_ps2" => 0,
|
|||
1396 | markw | "a4_bit" => 1,
|
|
"a5_bit" => 2,
|
|||
"a6_bit" => 3,
|
|||
"a7_bit" => 4,
|
|||
"ps2clk_bit" => 5,
|
|||
"ps2dat_bit" => 6,
|
|||
"gtia_audio_bit" => 7,
|
|||
1402 | markw | "fancy_switch_bit" => 8,
|
|
1396 | markw | "spdif_bit" => 10,
|
|
"ext_bits"=> 10,
|
|||
"paddle_lvds"=>1,
|
|||
"paddle_comp"=>0,
|
|||
"enable_iox"=>0,
|
|||
"enable_adc"=>1,
|
|||
1402 | markw | "pll_v2" => 0,
|
|
1396 | markw | "fpga" => "10M08SCU169C8G",
|
|
"version" => $version . "M08HK",
|
|||
"optimisearea" => 1,
|
|||
"board" => "v4"
|
|||
},
|
|||
1402 | markw | "10M08_fullv4_stereo_spdif" =>
|
|
{
|
|||
"enable_audout2" => 0,
|
|||
"pokeys" => 2,
|
|||
"enable_auto_stereo" => 1,
|
|||
"enable_sid" => 1,
|
|||
"enable_psg" => 1,
|
|||
"enable_covox" => 1,
|
|||
"enable_sample" => 0,
|
|||
"enable_flash" => 1,
|
|||
"enable_spdif" => 1,
|
|||
"enable_ps2" => 0,
|
|||
"a4_bit" => 1,
|
|||
"a5_bit" => 2,
|
|||
"a6_bit" => 3,
|
|||
"a7_bit" => 4,
|
|||
"ps2clk_bit" => 5,
|
|||
"ps2dat_bit" => 6,
|
|||
"gtia_audio_bit" => 7,
|
|||
"fancy_switch_bit" => 8,
|
|||
"spdif_bit" => 10,
|
|||
"ext_bits"=> 10,
|
|||
"paddle_lvds"=>1,
|
|||
"paddle_comp"=>0,
|
|||
"enable_iox"=>0,
|
|||
"enable_adc"=>1,
|
|||
"pll_v2" => 0,
|
|||
"fpga" => "10M08SCU169C8G",
|
|||
"version" => $version . "M08HK",
|
|||
"optimisearea" => 1,
|
|||
"board" => "v4"
|
|||
},
|
|||
"10M08_monov4" =>
|
|||
{
|
|||
"enable_audout2" => 0,
|
|||
"pokeys" => 1,
|
|||
"enable_auto_stereo" => 1,
|
|||
"enable_sid" => 0,
|
|||
"enable_psg" => 0,
|
|||
"enable_covox" => 0,
|
|||
"enable_sample" => 0,
|
|||
"enable_flash" => 1,
|
|||
"a4_bit" => 1,
|
|||
"a5_bit" => 2,
|
|||
"a6_bit" => 3,
|
|||
"a7_bit" => 4,
|
|||
"ps2clk_bit" => 5,
|
|||
"ps2dat_bit" => 6,
|
|||
"gtia_audio_bit" => 7,
|
|||
"fancy_switch_bit" => 8,
|
|||
"spdif_bit" => 10,
|
|||
"ext_bits"=> 10,
|
|||
"paddle_lvds"=>1,
|
|||
"paddle_comp"=>0,
|
|||
"enable_iox"=>0,
|
|||
"enable_adc"=>1,
|
|||
"pll_v2" => 0,
|
|||
"fpga" => "10M08SCU169C8G",
|
|||
"version" => $version . "M08HK",
|
|||
"optimisearea" => 1,
|
|||
"board" => "v4"
|
|||
},
|
|||
"10M16_fullv4_quad" =>
|
|||
{
|
|||
"enable_audout2" => 0,
|
|||
"pokeys" => 4,
|
|||
"enable_auto_stereo" => 1,
|
|||
"enable_sid" => 1,
|
|||
"enable_psg" => 1,
|
|||
"enable_covox" => 1,
|
|||
"enable_sample" => 1,
|
|||
"enable_flash" => 1,
|
|||
"enable_spdif" => 1,
|
|||
"enable_ps2" => 1,
|
|||
"flash_addr_bits" => 17,
|
|||
"sid_wave_base" => 79872, #"to_integer(unsigned(x\"13800\"))",
|
|||
"a4_bit" => 1,
|
|||
"a5_bit" => 2,
|
|||
"a6_bit" => 3,
|
|||
"a7_bit" => 4,
|
|||
"ps2clk_bit" => 5,
|
|||
"ps2dat_bit" => 6,
|
|||
"gtia_audio_bit" => 7,
|
|||
"fancy_switch_bit" => 8,
|
|||
"spdif_bit" => 10,
|
|||
"ext_bits"=> 10,
|
|||
"paddle_lvds"=>1,
|
|||
"paddle_comp"=>0,
|
|||
"enable_iox"=>0,
|
|||
"enable_adc"=>1,
|
|||
"pll_v2" => 0,
|
|||
"fpga" => "10M16SCU169C8G",
|
|||
"version" => $version . "M16HK",
|
|||
"optimisearea" => 1,
|
|||
"board" => "v4"
|
|||
},
|
|||
"10M16_monov4" =>
|
|||
{
|
|||
"enable_audout2" => 0,
|
|||
"pokeys" => 1,
|
|||
"enable_auto_stereo" => 1,
|
|||
"enable_sid" => 0,
|
|||
"enable_psg" => 0,
|
|||
"enable_covox" => 0,
|
|||
"enable_sample" => 0,
|
|||
"enable_flash" => 1,
|
|||
"flash_addr_bits" => 17,
|
|||
"sid_wave_base" => 79872, #"to_integer(unsigned(x\"13800\"))",
|
|||
"a4_bit" => 1,
|
|||
"a5_bit" => 2,
|
|||
"a6_bit" => 3,
|
|||
"a7_bit" => 4,
|
|||
"ps2clk_bit" => 5,
|
|||
"ps2dat_bit" => 6,
|
|||
"gtia_audio_bit" => 7,
|
|||
"spdif_bit" => 10,
|
|||
"ext_bits"=> 10,
|
|||
"paddle_lvds"=>1,
|
|||
"paddle_comp"=>0,
|
|||
"enable_iox"=>0,
|
|||
"enable_adc"=>1,
|
|||
"pll_v2" => 0,
|
|||
"fpga" => "10M16SCU169C8G",
|
|||
"version" => $version . "M16HK",
|
|||
"optimisearea" => 1,
|
|||
"board" => "v4"
|
|||
},
|
|||
1329 | markw | "10M04_quad_auto_v3" =>
|
|
{
|
|||
"pokeys" => 4,
|
|||
"enable_auto_stereo" => 1,
|
|||
"enable_sid" => 0,
|
|||
"enable_psg" => 0,
|
|||
"enable_covox" => 0,
|
|||
"enable_sample" => 0,
|
|||
"enable_flash" => 1,
|
|||
"enable_spdif" => 1,
|
|||
"enable_ps2" => 1,
|
|||
"board" => "v3",
|
|||
"pll_v2" => 0,
|
|||
"a4_bit" => 1,
|
|||
"a5_bit" => 2,
|
|||
"gtia_audio_bit" => 5,
|
|||
"spdif_bit" => 6,
|
|||
"ps2clk_bit" => 7,
|
|||
"ps2dat_bit" => 8,
|
|||
"ext_bits"=> 11,
|
|||
"fpga" => "10M04SCU169C8G",
|
|||
"version" => $version . "M04QA"
|
|||
},
|
|||
"10M04_stereo_psg_covox_auto_v3" =>
|
|||
{
|
|||
"pokeys" => 2,
|
|||
"enable_auto_stereo" => 1,
|
|||
"enable_sid" => 0,
|
|||
"enable_psg" => 1,
|
|||
"enable_covox" => 1,
|
|||
"enable_sample" => 0,
|
|||
"enable_flash" => 1,
|
|||
"enable_spdif" => 1,
|
|||
"enable_ps2" => 1,
|
|||
"board" => "v3",
|
|||
"pll_v2" => 0,
|
|||
"a4_bit" => 1,
|
|||
"a5_bit" => 2,
|
|||
"a6_bit" => 3,
|
|||
"a7_bit" => 4,
|
|||
"gtia_audio_bit" => 5,
|
|||
"spdif_bit" => 6,
|
|||
"ps2clk_bit" => 7,
|
|||
"ps2dat_bit" => 8,
|
|||
#"fancy_switch_bit" => 6,
|
|||
#"a7_bit" => 19, #use CS1
|
|||
"ext_bits"=> 11,
|
|||
#"cs1_bit" => 20, #force high
|
|||
"fpga" => "10M04SCU169C8G",
|
|||
"version" => $version . "M04SP"
|
|||
},
|
|||
1360 | markw | "10M16_mono" =>
|
|
{
|
|||
"pokeys" => 4,
|
|||
"enable_auto_stereo" => 1,
|
|||
"enable_sid" => 0,
|
|||
"enable_psg" => 0,
|
|||
"enable_covox" => 0,
|
|||
"enable_sample" => 0,
|
|||
"enable_flash" => 1,
|
|||
"enable_spdif" => 0,
|
|||
"enable_ps2" => 0,
|
|||
"flash_addr_bits" => 17,
|
|||
"board" => "v3",
|
|||
"pll_v2" => 0,
|
|||
"a4_bit" => 1,
|
|||
"a5_bit" => 2,
|
|||
"a6_bit" => 3,
|
|||
"a7_bit" => 4,
|
|||
"gtia_audio_bit" => 5,
|
|||
"spdif_bit" => 6,
|
|||
"ps2clk_bit" => 7,
|
|||
"ps2dat_bit" => 8,
|
|||
#"fancy_switch_bit" => 6,
|
|||
#"a7_bit" => 19, #use CS1
|
|||
"ext_bits"=> 11,
|
|||
#"cs1_bit" => 20, #force high
|
|||
"fpga" => "10M16SCU169C8G",
|
|||
"sid_wave_base" => 79872, #"to_integer(unsigned(x\"13800\"))",
|
|||
"version" => $version . "M16MO"
|
|||
},
|
|||
1253 | markw | "10M16_fullv3" =>
|
|
1250 | markw | {
|
|
"pokeys" => 4,
|
|||
"enable_auto_stereo" => 1,
|
|||
"enable_sid" => 1,
|
|||
"enable_psg" => 1,
|
|||
"enable_covox" => 1,
|
|||
"enable_sample" => 1,
|
|||
"enable_flash" => 1,
|
|||
1312 | markw | "enable_spdif" => 1,
|
|
"enable_ps2" => 1,
|
|||
1250 | markw | "flash_addr_bits" => 17,
|
|
1253 | markw | "board" => "v3",
|
|
1312 | markw | "pll_v2" => 0,
|
|
1250 | markw | "a4_bit" => 1,
|
|
"a5_bit" => 2,
|
|||
"a6_bit" => 3,
|
|||
1253 | markw | "a7_bit" => 4,
|
|
"gtia_audio_bit" => 5,
|
|||
1312 | markw | "spdif_bit" => 6,
|
|
"ps2clk_bit" => 7,
|
|||
"ps2dat_bit" => 8,
|
|||
1253 | markw | #"fancy_switch_bit" => 6,
|
|
#"a7_bit" => 19, #use CS1
|
|||
"ext_bits"=> 11,
|
|||
#"cs1_bit" => 20, #force high
|
|||
1250 | markw | "fpga" => "10M16SCU169C8G",
|
|
1253 | markw | "sid_wave_base" => 79872, #"to_integer(unsigned(x\"13800\"))",
|
|
1250 | markw | "version" => $version . "M16HK"
|
|
},
|
|||
1329 | markw | "10M16_fullv3_xel" =>
|
|
{
|
|||
"pokeys" => 4,
|
|||
"enable_auto_stereo" => 1,
|
|||
"enable_sid" => 1,
|
|||
"enable_psg" => 1,
|
|||
"enable_covox" => 1,
|
|||
"enable_sample" => 1,
|
|||
"enable_flash" => 1,
|
|||
"enable_spdif" => 1,
|
|||
"enable_ps2" => 1,
|
|||
"flash_addr_bits" => 17,
|
|||
"board" => "v3",
|
|||
"pll_v2" => 0,
|
|||
"a4_bit" => 1,
|
|||
"a5_bit" => 2,
|
|||
"a6_bit" => 3,
|
|||
"a7_bit" => 4,
|
|||
"gtia_audio_bit" => 5,
|
|||
"spdif_bit" => 6,
|
|||
"ps2clk_bit" => 7,
|
|||
"ps2dat_bit" => 8,
|
|||
#"fancy_switch_bit" => 6,
|
|||
#"a7_bit" => 19, #use CS1
|
|||
"ext_bits"=> 11,
|
|||
"cs1_bit" => 20,
|
|||
#"cs1_bit" => 20, #force high
|
|||
"fpga" => "10M16SCU169C8G",
|
|||
"sid_wave_base" => 79872, #"to_integer(unsigned(x\"13800\"))",
|
|||
"version" => $version . "M16HX"
|
|||
},
|
|||
1349 | markw | "10M08_mono" =>
|
|
{
|
|||
"pokeys" => 1,
|
|||
"fpga" => "10M08SCU169C8G",
|
|||
"enable_auto_stereo" => 1,
|
|||
"gtia_audio_bit" => 3,
|
|||
"cs1_bit" => 20, #force high
|
|||
"a4_bit" => 1, #to access config!
|
|||
"version" => $version . "M08MO"
|
|||
},
|
|||
1229 | markw | # "10M08_light" =>
|
|
# {
|
|||
# "pokeys" => 2,
|
|||
# "enable_auto_stereo" => 1,
|
|||
# "enable_sid" => 0,
|
|||
# "enable_psg" => 0,
|
|||
1238 | markw | # "enable_covox" => 1,
|
|
# "enable_sample" => 1,
|
|||
1229 | markw | # "enable_flash" => 1,
|
|
# "a4_bit" => 1,
|
|||
# "a5_bit" => 2,
|
|||
# "a6_bit" => 3,
|
|||
# "a7_bit" => 19, #use CS1
|
|||
# "cs1_bit" => 20, #force high
|
|||
# "fpga" => "10M08SCU169C8G",
|
|||
# "version" => $version . "M08LI"
|
|||
# },
|
|||
# "10M08_audiotest" =>
|
|||
# {
|
|||
# "pokeys" => 4,
|
|||
# "enable_auto_stereo" => 1,
|
|||
# "enable_sid" => 1,
|
|||
# "enable_psg" => 1,
|
|||
# "enable_covox" => 1,
|
|||
# "enable_sample" => 1,
|
|||
# "enable_flash" => 1,
|
|||
# "a4_bit" => 1,
|
|||
# "a5_bit" => 2,
|
|||
# "a6_bit" => 3,
|
|||
# "a7_bit" => 19, #use CS1
|
|||
# "cs1_bit" => 20, #force high
|
|||
# "ext_clk_enable" => 1,
|
|||
# "fpga" => "10M08SCU169C8G",
|
|||
# "version" => $version . "M08HK"
|
|||
# },
|
|||
# "10M08_sample" =>
|
|||
# {
|
|||
# "pokeys" => 4,
|
|||
# "enable_auto_stereo" => 1,
|
|||
# "enable_sid" => 0,
|
|||
# "enable_psg" => 0,
|
|||
# "enable_covox" => 1,
|
|||
# "enable_sample" => 1,
|
|||
# "enable_flash" => 1,
|
|||
# "a4_bit" => 1,
|
|||
# "a5_bit" => 2,
|
|||
# "a6_bit" => 3,
|
|||
# "a7_bit" => 19, #use CS1
|
|||
# "cs1_bit" => 20, #force high
|
|||
# "fpga" => "10M08SCU169C8G",
|
|||
# "version" => $version . "M08HK"
|
|||
# }
|
|||
1154 | markw | # "10M08_full" =>
|
|
# {
|
|||
# "board" => 3,
|
|||
# "ext_bits"=> 11,
|
|||
# "pokeys" => 4,
|
|||
# "enable_auto_stereo" => 1,
|
|||
# "fancy_switch_bit" => 1,
|
|||
# "gtia_audio_bit" => 2,
|
|||
# "a4_bit" => 3,
|
|||
# "a5_bit" => 4,
|
|||
# "a6_bit" => 5,
|
|||
# "a7_bit" => 6,
|
|||
# "enable_sid" => 1,
|
|||
# "enable_psg" => 1,
|
|||
# "enable_covox" => 1,
|
|||
# "enable_sample" => 1,
|
|||
# "enable_flash" => 1,
|
|||
# "fpga" => "10M08SCU169C8G"
|
|||
# }
|
|||
987 | markw | );
|
|
988 | markw | #if (not defined $wanted_variant or (not exists $variants{$wanted_variant} and $wanted_variant ne "ALL"))
|
|
#{
|
|||
# die "Provide variant of ALL or ".join ",",sort keys %variants;
|
|||
#}
|
|||
987 | markw | ||
foreach my $variant (sort keys %variants)
|
|||
{
|
|||
988 | markw | #next if ($wanted_variant ne $variant and $wanted_variant ne "ALL");
|
|
next unless ($variant =~ /$wanted_variant/);
|
|||
987 | markw | print "Building $variant of $name\n";
|
|
1126 | markw | my $versioncode = $variants{$variant}->{"version"};
|
|
1130 | markw | if (not defined $versioncode)
|
|
{
|
|||
$versioncode = "DEVELOPR";
|
|||
}
|
|||
my $fpga = $variants{$variant}->{"fpga"};
|
|||
my $flashver = $fpga;
|
|||
$flashver =~ s/..M(..).*/$1/;
|
|||
1325 | markw | if (not exists $variants{$variant}->{"type"})
|
|
{
|
|||
$variants{$variant}->{"type"} = "pokeymax";
|
|||
}
|
|||
my $type = $variants{$variant}->{"type"};
|
|||
1238 | markw | my $board = $variants{$variant}->{"board"};
|
|
1241 | markw | my $bus = $variants{$variant}->{"bus"};
|
|
1337 | markw | my $flash = $variants{$variant}->{"enable_flash"};
|
|
my $noflash = "";
|
|||
if (not defined $flash or $flash eq "0") {$noflash = "_noflash"};
|
|||
1126 | markw | ||
1339 | markw | my $sid = $variants{$variant}->{"enable_sid"};
|
|
if (not defined $sid) {$sid = "0"};
|
|||
1413 | markw | if ($variant =~ /sidmax/) {$sid = "1"};
|
|
1339 | markw | ||
1337 | markw | my $dir = "build_$variant";
|
|
987 | markw | `rm -rf $dir`;
|
|
mkdir $dir;
|
|||
`cp *.vhd* $dir`;
|
|||
1253 | markw | `cp iox_glue.vhdl $dir/iox_glue.vhdl`;
|
|
`cp pokeymax.vhd $dir/pokeymax.vhd`;
|
|||
1325 | markw | ||
1238 | markw | `cp iox_glue$board.vhdl $dir/iox_glue.vhdl`;
|
|
1325 | markw | `cp $type$board.vhd $dir/$type.vhd`;
|
|
`cp $type$board.qsf $dir/$type.qsf`;
|
|||
1241 | markw | `cp slave_timing_6502$bus.vhd $dir/slave_timing_6502.vhd`;
|
|
1126 | markw | `cp swapbits $dir`;
|
|
1337 | markw | `cp $type$board$noflash.sdc $dir/$type.sdc`;
|
|
1325 | markw | `cp $type*.qpf $dir`;
|
|
987 | markw | `cp -r int_osc* $dir`;
|
|
`cp -r pll* $dir`;
|
|||
1325 | markw | `cp -r lvds* $dir`;
|
|
1396 | markw | `cp -r paddle* $dir`;
|
|
1126 | markw | `cp -r flash_$flashver/flash* $dir`;
|
|
1039 | markw | `cp -r PSG $dir`;
|
|
1062 | markw | `cp -r SID $dir`;
|
|
1349 | markw | `cp -r pokey $dir`;
|
|
1154 | markw | `cp -r sample $dir`;
|
|
1190 | markw | `cp -r covox $dir`;
|
|
1211 | markw | `cp -r *.bin $dir`;
|
|
987 | markw | ||
chdir $dir;
|
|||
1325 | markw | `echo set_global_assignment -name DEVICE $fpga >> $type.qsf`;
|
|
987 | markw | ||
foreach my $key (sort keys %{$variants{$variant}})
|
|||
{
|
|||
my $val = $variants{$variant}->{$key};
|
|||
1325 | markw | `echo 'set_parameter -name $key $val' >> $type.qsf`;
|
|
987 | markw | }
|
|
1266 | markw | if (exists $variants{$variant}->{"optimisearea"})
|
|
{
|
|||
1325 | markw | `echo 'set_global_assignment -name CYCLONEII_OPTIMIZATION_TECHNIQUE AREA' >>$type.qsf`;
|
|
1266 | markw | }
|
|
987 | markw | ||
1325 | markw | `quartus_sh --flow compile $type > build.log 2> build.err`;
|
|
1340 | markw | `quartus_cpf --convert ../convert_secure_${type}_$sid.cof`;
|
|
1325 | markw | `../modifypof_$flashver $type ./output_files/$type.pof`;
|
|
`quartus_cpf -c -q 10MHz -g 3.3 -n p output_files/$type.pof output_files/$type.svf`;
|
|||
`../makeflash_$flashver $type ./output_files/$type.pof $versioncode output_files/core.bin`;
|
|||
1130 | markw | `touch UFM1 UFM0 CFM1 CFM0`;
|
|
1325 | markw | `../openocd_flash/extractbinfromsvf.pl output_files/$type.svf`;
|
|
1130 | markw | `cat UFM1.bin UFM0.bin > UFMboth.bin`;
|
|
`cat CFM1.bin CFM0.bin > CFMboth.bin`;
|
|||
987 | markw | ||
chdir "..";
|
|||
}
|