vice-emu-commit Mailing List for VICE (Page 2)
Versatile Commodore Emulator
Brought to you by:
blackystardust,
gpz
You can subscribe to this list here.
2008 |
Jan
|
Feb
|
Mar
|
Apr
(38) |
May
(60) |
Jun
(122) |
Jul
(148) |
Aug
(178) |
Sep
(151) |
Oct
(131) |
Nov
(208) |
Dec
(129) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2009 |
Jan
(193) |
Feb
(209) |
Mar
(221) |
Apr
(243) |
May
(165) |
Jun
(168) |
Jul
(198) |
Aug
(161) |
Sep
(103) |
Oct
(98) |
Nov
(168) |
Dec
(99) |
2010 |
Jan
(263) |
Feb
(156) |
Mar
(57) |
Apr
(93) |
May
(85) |
Jun
(124) |
Jul
(57) |
Aug
(58) |
Sep
(113) |
Oct
(148) |
Nov
(114) |
Dec
(193) |
2011 |
Jan
(200) |
Feb
(207) |
Mar
(91) |
Apr
(91) |
May
(142) |
Jun
(104) |
Jul
(115) |
Aug
(137) |
Sep
(266) |
Oct
(91) |
Nov
(85) |
Dec
(186) |
2012 |
Jan
(98) |
Feb
(146) |
Mar
(160) |
Apr
(99) |
May
(59) |
Jun
(257) |
Jul
(84) |
Aug
(103) |
Sep
(169) |
Oct
(206) |
Nov
(90) |
Dec
(296) |
2013 |
Jan
(294) |
Feb
(130) |
Mar
(36) |
Apr
(14) |
May
(51) |
Jun
(74) |
Jul
(180) |
Aug
(85) |
Sep
(26) |
Oct
(45) |
Nov
(29) |
Dec
(21) |
2014 |
Jan
(56) |
Feb
(40) |
Mar
(57) |
Apr
(30) |
May
(31) |
Jun
(11) |
Jul
(107) |
Aug
(135) |
Sep
(142) |
Oct
(195) |
Nov
(139) |
Dec
(133) |
2015 |
Jan
(293) |
Feb
(161) |
Mar
(146) |
Apr
(85) |
May
(139) |
Jun
(51) |
Jul
(21) |
Aug
(24) |
Sep
(29) |
Oct
(136) |
Nov
(212) |
Dec
(118) |
2016 |
Jan
(119) |
Feb
(165) |
Mar
(229) |
Apr
(219) |
May
(134) |
Jun
(119) |
Jul
(134) |
Aug
(236) |
Sep
(203) |
Oct
(215) |
Nov
(300) |
Dec
(140) |
2017 |
Jan
(188) |
Feb
(20) |
Mar
(147) |
Apr
(198) |
May
(26) |
Jun
(21) |
Jul
(67) |
Aug
(219) |
Sep
(209) |
Oct
(194) |
Nov
(144) |
Dec
(99) |
2018 |
Jan
(139) |
Feb
(122) |
Mar
(116) |
Apr
(85) |
May
(232) |
Jun
(181) |
Jul
(190) |
Aug
(105) |
Sep
(92) |
Oct
(178) |
Nov
(105) |
Dec
(86) |
2019 |
Jan
(119) |
Feb
(79) |
Mar
(74) |
Apr
(117) |
May
(115) |
Jun
(307) |
Jul
(107) |
Aug
(131) |
Sep
(103) |
Oct
(60) |
Nov
(118) |
Dec
(70) |
2020 |
Jan
(114) |
Feb
(103) |
Mar
(77) |
Apr
(121) |
May
(193) |
Jun
(110) |
Jul
(214) |
Aug
(210) |
Sep
(179) |
Oct
(260) |
Nov
(237) |
Dec
(334) |
2021 |
Jan
(163) |
Feb
(186) |
Mar
(58) |
Apr
(81) |
May
(108) |
Jun
(175) |
Jul
(154) |
Aug
(180) |
Sep
(217) |
Oct
(204) |
Nov
(232) |
Dec
(190) |
2022 |
Jan
(253) |
Feb
(134) |
Mar
(229) |
Apr
(190) |
May
(125) |
Jun
(70) |
Jul
(8) |
Aug
(22) |
Sep
(19) |
Oct
(33) |
Nov
(94) |
Dec
(164) |
2023 |
Jan
(158) |
Feb
(366) |
Mar
(272) |
Apr
(109) |
May
(198) |
Jun
(226) |
Jul
(200) |
Aug
(94) |
Sep
(108) |
Oct
(62) |
Nov
(175) |
Dec
(116) |
2024 |
Jan
(35) |
Feb
(40) |
Mar
(51) |
Apr
(89) |
May
(24) |
Jun
(26) |
Jul
(53) |
Aug
(71) |
Sep
(23) |
Oct
(11) |
Nov
(22) |
Dec
(58) |
2025 |
Jan
(26) |
Feb
(40) |
Mar
(107) |
Apr
(39) |
May
(35) |
Jun
(20) |
Jul
(11) |
Aug
(24) |
Sep
(35) |
Oct
(18) |
Nov
|
Dec
|
From: <gp...@us...> - 2025-09-17 17:55:59
|
Revision: 45773 http://sourceforge.net/p/vice-emu/code/45773 Author: gpz Date: 2025-09-17 17:55:56 +0000 (Wed, 17 Sep 2025) Log Message: ----------- VSP memory corruption emulation skipped last page, patch by Luke Modified Paths: -------------- trunk/vice/src/viciisc/vicii-cycle.c Modified: trunk/vice/src/viciisc/vicii-cycle.c =================================================================== --- trunk/vice/src/viciisc/vicii-cycle.c 2025-09-17 17:54:23 UTC (rev 45772) +++ trunk/vice/src/viciisc/vicii-cycle.c 2025-09-17 17:55:56 UTC (rev 45773) @@ -339,7 +339,7 @@ /* simulate the "VSP bug" problem */ if(vicii_resources.vsp_bug_enabled) { if((vsp_buglines[line] + vsp_bugchannels[channel] + lib_unsigned_rand(0, 1)) > VSP_PROB_THRESH) { - for(page = 0x00; page < 0xff; page++) { + for(page = 0x00; page <= 0xff; page++) { /* keep 98,5% of all pages untouched. this is hand tweaked to result in * somewhat convincing long term plots in vsp-lab */ if (lib_unsigned_rand(0, 1000) > 985) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gp...@us...> - 2025-09-17 17:54:28
|
Revision: 45772 http://sourceforge.net/p/vice-emu/code/45772 Author: gpz Date: 2025-09-17 17:54:23 +0000 (Wed, 17 Sep 2025) Log Message: ----------- fix SDL build Modified Paths: -------------- trunk/vice/src/arch/sdl/menu_drive.c Modified: trunk/vice/src/arch/sdl/menu_drive.c =================================================================== --- trunk/vice/src/arch/sdl/menu_drive.c 2025-09-17 17:17:08 UTC (rev 45771) +++ trunk/vice/src/arch/sdl/menu_drive.c 2025-09-17 17:54:23 UTC (rev 45772) @@ -1004,7 +1004,6 @@ #define DRIVE_EXBOARD_MENU(x) \ static const ui_menu_entry_t drive_##x##_exboard_menu[] = { \ - DRIVE_EXBOARD_EXPERIMENTAL(x) \ { .string = "Professional DOS 1571", \ .type = MENU_ENTRY_OTHER_TOGGLE, \ .callback = set_exboard_callback, \ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gp...@us...> - 2025-09-17 17:17:15
|
Revision: 45771 http://sourceforge.net/p/vice-emu/code/45771 Author: gpz Date: 2025-09-17 17:17:08 +0000 (Wed, 17 Sep 2025) Log Message: ----------- some rework in the c64 drive expansion logic, add extra option for dolphin dos 3. this happens to fix professional dos 1571 as well :) Modified Paths: -------------- trunk/vice/doc/vice.texi trunk/vice/src/arch/gtk3/widgets/drivedoswidget.c trunk/vice/src/arch/sdl/menu_drive.c trunk/vice/src/c64/c64parallel.c trunk/vice/src/c64/vsid-stubs.c trunk/vice/src/drive/drive-check.c trunk/vice/src/drive/drive.h trunk/vice/src/drive/drivetypes.h trunk/vice/src/drive/iec/c64exp/c64exp-cmdline-options.c trunk/vice/src/drive/iec/c64exp/c64exp-resources.c trunk/vice/src/drive/iec/c64exp/dolphindos3.c trunk/vice/src/drive/iec/c64exp/iec-c64exp.c trunk/vice/src/drive/iec/c64exp/profdos.c trunk/vice/src/drive/iec/c64exp/stardos-exp.c trunk/vice/src/drive/iec/c64exp/supercard.c Modified: trunk/vice/doc/vice.texi =================================================================== --- trunk/vice/doc/vice.texi 2025-09-16 20:40:19 UTC (rev 45770) +++ trunk/vice/doc/vice.texi 2025-09-17 17:17:08 UTC (rev 45771) @@ -6732,6 +6732,17 @@ x64, x64sc, xscpu64, x128: (0: None, 1: Standard, 2: Dolphin DOS 3, 3: Formel64) xplus4: (0: None, 1: Standard) +@vindex Drive8DolphinDOS3 +@vindex Drive9DolphinDOS3 +@vindex Drive10DolphinDOS3 +@vindex Drive11DolphinDOS3 +@item Drive8DolphinDOS3 +@itemx Drive9DolphinDOS3 +@itemx Drive10DolphinDOS3 +@itemx Drive11DolphinDOS3 +Booleans controlling whether Dolphin DOS 3 is emulated or not for drives 8 to 11 +(x64, x64sc, xscpu64 and x128 only). + @vindex Drive8ProfDOS @vindex Drive9ProfDOS @vindex Drive10ProfDOS @@ -7066,7 +7077,7 @@ (@code{Drive8ParallelCable}, @code{Drive9ParallelCable}, @code{Drive10ParallelCable}, @code{Drive11ParallelCable}) (x64, x64sc, xscpu64, x128 and xplus4 only). -x64, x64sc, xscpu64, x128: (0: None, 1: Standard, 2: Professional DOS, 3: Formel64) +x64, x64sc, xscpu64, x128: (0: None, 1: Standard, 2: Dolphin DOS 3, 3: Formel64) xplus4: (0: None, 1: Standard) @findex -drive8idle @@ -7313,6 +7324,21 @@ @code{Drive10RAMA000=1}, @code{Drive10RAMA000=0}, @code{Drive11RAMA000=1}, @code{Drive11RAMA000=0}). +@findex -drive8dd3, +drive8dd3 +@findex -drive9dd3, +drive9dd3 +@findex -drive10dd3, +drive10dd3 +@findex -drive11dd3, +drive11dd3 +@item -drive8dd3, +drive8dd3 +@itemx -drive9dd3, +drive9dd3 +@itemx -drive10dd3, +drive10dd3 +@itemx -drive11dd3, +drive11dd3 +Enable/disable Professional DOS for drive 8 to 11 +(@code{Drive8DolphinDOS3=1}, @code{Drive8DolphinDOS3=0}, +@code{Drive9DolphinDOS3=1}, @code{Drive9DolphinDOS3=0}, +@code{Drive10DolphinDOS3=1}, @code{Drive10DolphinDOS3=0}, +@code{Drive11DolphinDOS3=1}, @code{Drive11DolphinDOS3=0}) +(x64, x64sc, xscpu64 and x128 only). + @findex -drive8profdos, +drive8profdos @findex -drive9profdos, +drive9profdos @findex -drive10profdos, +drive10profdos Modified: trunk/vice/src/arch/gtk3/widgets/drivedoswidget.c =================================================================== --- trunk/vice/src/arch/gtk3/widgets/drivedoswidget.c 2025-09-16 20:40:19 UTC (rev 45770) +++ trunk/vice/src/arch/gtk3/widgets/drivedoswidget.c 2025-09-17 17:17:08 UTC (rev 45771) @@ -71,14 +71,12 @@ /** \brief List of possible expansions, terminated by .name == NULL */ static const drive_dos_exp_t expansions[] = { - { "None", NULL, NULL }, - /* XXX: Emulation of ProDOS is broken, see bug #759 */ -#ifdef DRIVE_EXPERIMENTAL_DEVICES - { "Professional DOS", "Drive%dProfDOS", drive_check_profdos }, -#endif - { "StarDOS", "Drive%dStarDOS", drive_check_stardos }, - { "Supercard+", "Drive%dSuperCard", drive_check_supercard }, - { NULL, NULL, NULL } + { "None", NULL, NULL }, + { "Dolphin DOS 3", "Drive%dDolphinDOS3", drive_check_dolphindos3 }, + { "Professional DOS", "Drive%dProfDOS", drive_check_profdos }, + { "StarDOS", "Drive%dStarDOS", drive_check_stardos }, + { "Supercard+", "Drive%dSuperCard", drive_check_supercard }, + { NULL, NULL, NULL } }; Modified: trunk/vice/src/arch/sdl/menu_drive.c =================================================================== --- trunk/vice/src/arch/sdl/menu_drive.c 2025-09-16 20:40:19 UTC (rev 45770) +++ trunk/vice/src/arch/sdl/menu_drive.c 2025-09-17 17:17:08 UTC (rev 45771) @@ -1000,10 +1000,11 @@ UI_MENU_DEFINE_FILE_STRING(DriveSuperCardName) UI_MENU_DEFINE_FILE_STRING(DriveStarDOSName) +UI_MENU_DEFINE_FILE_STRING(DriveProfDOS1571Name) -#ifdef DRIVE_EXPERIMENTAL_DEVICES -UI_MENU_DEFINE_FILE_STRING(DriveProfDOS1571Name) -#define DRIVE_EXBOARD_EXPERIMENTAL(x) \ +#define DRIVE_EXBOARD_MENU(x) \ + static const ui_menu_entry_t drive_##x##_exboard_menu[] = { \ + DRIVE_EXBOARD_EXPERIMENTAL(x) \ { .string = "Professional DOS 1571", \ .type = MENU_ENTRY_OTHER_TOGGLE, \ .callback = set_exboard_callback, \ @@ -1013,14 +1014,7 @@ .type = MENU_ENTRY_DIALOG, \ .callback = file_string_DriveProfDOS1571Name_callback, \ .data = (ui_callback_data_t)"Set Professional DOS 1571 ROM image" \ - }, -#else -#define DRIVE_EXBOARD_EXPERIMENTAL(x) -#endif - -#define DRIVE_EXBOARD_MENU(x) \ - static const ui_menu_entry_t drive_##x##_exboard_menu[] = { \ - DRIVE_EXBOARD_EXPERIMENTAL(x) \ + }, \ { .string = "StarDOS", \ .type = MENU_ENTRY_OTHER_TOGGLE, \ .callback = set_exboard_callback, \ Modified: trunk/vice/src/c64/c64parallel.c =================================================================== --- trunk/vice/src/c64/c64parallel.c 2025-09-16 20:40:19 UTC (rev 45770) +++ trunk/vice/src/c64/c64parallel.c 2025-09-17 17:17:08 UTC (rev 45771) @@ -82,6 +82,23 @@ 39, CA2 B, FLAG2 ??? M, PA2 <- connects to extra logic on the floppy board + + +Professional DOS 1571 cable + +CIA#1 User port plug +10, PB0 C, PB0 +11, PB1 D, PB1 +12, PB2 E, PB2 +13, PB3 F, PB3 +14, PB4 H, PB4 +15, PB5 J, PB5 +16, PB6 K, PB6 +17, PB7 L, PB7 + +18, /PC B, FLAG2 + + 8, /PC2 - pulled up via 2k7 to VCC (2) */ #define PC_PORT_STANDARD 0 @@ -297,7 +314,6 @@ unit->type == DRIVE_TYPE_1571CR) { ciacore_set_flag(unit->cia1571); } else { - /* FIXME: don't do this for the 21.sec cable */ viacore_signal(unit->via1d1541, VIA_SIG_CB1, VIA_SIG_FALL); } break; Modified: trunk/vice/src/c64/vsid-stubs.c =================================================================== --- trunk/vice/src/c64/vsid-stubs.c 2025-09-16 20:40:19 UTC (rev 45770) +++ trunk/vice/src/c64/vsid-stubs.c 2025-09-17 17:17:08 UTC (rev 45771) @@ -155,6 +155,11 @@ return 0; } +int drive_check_dolphindos3(int type) +{ + return 0; +} + int drive_check_profdos(int type) { return 0; Modified: trunk/vice/src/drive/drive-check.c =================================================================== --- trunk/vice/src/drive/drive-check.c 2025-09-16 20:40:19 UTC (rev 45770) +++ trunk/vice/src/drive/drive-check.c 2025-09-17 17:17:08 UTC (rev 45771) @@ -357,7 +357,19 @@ return 0; } +int drive_check_dolphindos3(int drive_type) +{ + /* FIXME: is this correct? */ + switch (drive_type) { + case DRIVE_TYPE_1540: + case DRIVE_TYPE_1541: + case DRIVE_TYPE_1541II: + return 1; + } + return 0; +} + /** \brief Check if \a drive_type supports a real-time clock * * \param[in] drive_type drive type Modified: trunk/vice/src/drive/drive.h =================================================================== --- trunk/vice/src/drive/drive.h 2025-09-16 20:40:19 UTC (rev 45770) +++ trunk/vice/src/drive/drive.h 2025-09-17 17:17:08 UTC (rev 45771) @@ -425,6 +425,7 @@ int drive_check_expansionA000(int drive_type); int drive_check_parallel_cable(int drive_type); int drive_check_extend_policy(int drive_type); +int drive_check_dolphindos3(int drive_type); int drive_check_profdos(int drive_type); int drive_check_supercard(int drive_type); int drive_check_stardos(int drive_type); Modified: trunk/vice/src/drive/drivetypes.h =================================================================== --- trunk/vice/src/drive/drivetypes.h 2025-09-16 20:40:19 UTC (rev 45770) +++ trunk/vice/src/drive/drivetypes.h 2025-09-17 17:17:08 UTC (rev 45771) @@ -201,6 +201,9 @@ /* Flag: What parallel cable do we emulate? */ int parallel_cable; + /* FIXME: since those are basically exclusive, we should refactor the + * following into a single variable/resource.... */ + /* Is the Professional DOS extension enabled? */ int profdos; /* Is the Supercard+ extension enabled? */ @@ -207,6 +210,8 @@ int supercard; /* Is the StarDOS extension enabled? */ int stardos; + /* Is the DolphinDOS3 extension enabled? */ + int dolphindos3; /* RTC context */ rtc_ds1216e_t *ds1216; Modified: trunk/vice/src/drive/iec/c64exp/c64exp-cmdline-options.c =================================================================== --- trunk/vice/src/drive/iec/c64exp/c64exp-cmdline-options.c 2025-09-16 20:40:19 UTC (rev 45770) +++ trunk/vice/src/drive/iec/c64exp/c64exp-cmdline-options.c 2025-09-17 17:17:08 UTC (rev 45771) @@ -70,6 +70,12 @@ { NULL, SET_RESOURCE, CMDLINE_ATTRIB_NONE, NULL, NULL, NULL, (void *)0, NULL, "Disable StarDOS" }, + { NULL, SET_RESOURCE, CMDLINE_ATTRIB_NONE, + NULL, NULL, NULL, (void *)1, + NULL, "Enable DolphinDOS3" }, + { NULL, SET_RESOURCE, CMDLINE_ATTRIB_NONE, + NULL, NULL, NULL, (void *)0, + NULL, "Disable DolphinDOS3" }, CMDLINE_LIST_END }; @@ -101,12 +107,18 @@ cmd_drive[6].name = lib_msprintf("+drive%istardos", dnr + 8); cmd_drive[6].resource_name = lib_msprintf("Drive%iStarDos", dnr + 8); + cmd_drive[7].name = lib_msprintf("-drive%idd3", dnr + 8); + cmd_drive[7].resource_name + = lib_msprintf("Drive%iDolphinDos3", dnr + 8); + cmd_drive[8].name = lib_msprintf("+drive%idd3", dnr + 8); + cmd_drive[8].resource_name + = lib_msprintf("Drive%iDolphinDos3", dnr + 8); if (cmdline_register_options(cmd_drive) < 0) { return -1; } - for (i = 0; i < 7; i++) { + for (i = 0; i < 9; i++) { lib_free(cmd_drive[i].name); lib_free(cmd_drive[i].resource_name); } Modified: trunk/vice/src/drive/iec/c64exp/c64exp-resources.c =================================================================== --- trunk/vice/src/drive/iec/c64exp/c64exp-resources.c 2025-09-16 20:40:19 UTC (rev 45770) +++ trunk/vice/src/drive/iec/c64exp/c64exp-resources.c 2025-09-17 17:17:08 UTC (rev 45771) @@ -42,7 +42,14 @@ #include "c64exp-resources.h" +/* #define DEBUG_C64EXP */ +#ifdef DEBUG_C64EXP +#define DBG(x) log_printf x +#else +#define DBG(x) +#endif + static char *profdos_1571_name = NULL; static char *supercard_name = NULL; static char *stardos_name = NULL; @@ -105,6 +112,8 @@ { diskunit_context_t *unit = diskunit_context[vice_ptr_to_uint(param)]; + DBG(("set_drive_profdos profdos:%d", val)); + unit->profdos = val ? 1 : 0; drivemem_init(unit); @@ -113,6 +122,8 @@ static int set_profdos_1571_name(const char *val, void *param) { + DBG(("set_profdos_1571_name name:%s", val)); + if (util_string_set(&profdos_1571_name, val)) { return 0; } @@ -157,6 +168,15 @@ return stardos_exp_load(stardos_name); } +static int set_drive_dd3(int val, void *param) +{ + diskunit_context_t *unit = diskunit_context[vice_ptr_to_uint(param)]; + + unit->dolphindos3 = val ? 1 : 0; + + return 0; +} + static resource_int_t res_drive[] = { { NULL, DRIVE_PC_NONE, RES_EVENT_SAME, NULL, NULL, set_drive_parallel_cable, NULL }, @@ -166,6 +186,8 @@ NULL, set_drive_supercard, NULL }, { NULL, 0, RES_EVENT_SAME, NULL, NULL, set_drive_stardos, NULL }, + { NULL, 0, RES_EVENT_SAME, NULL, + NULL, set_drive_dd3, NULL }, RESOURCE_INT_LIST_END }; @@ -199,6 +221,9 @@ res_drive[3].name = lib_msprintf("Drive%iStarDos", dnr + 8); res_drive[3].value_ptr = &(unit->stardos); res_drive[3].param = vice_uint_to_ptr(dnr); + res_drive[4].name = lib_msprintf("Drive%iDolphinDos3", dnr + 8); + res_drive[4].value_ptr = &(unit->dolphindos3); + res_drive[4].param = vice_uint_to_ptr(dnr); if (resources_register_int(res_drive) < 0) { return -1; @@ -208,6 +233,7 @@ lib_free(res_drive[1].name); lib_free(res_drive[2].name); lib_free(res_drive[3].name); + lib_free(res_drive[4].name); } return resources_register_string(resources_string); Modified: trunk/vice/src/drive/iec/c64exp/dolphindos3.c =================================================================== --- trunk/vice/src/drive/iec/c64exp/dolphindos3.c 2025-09-16 20:40:19 UTC (rev 45770) +++ trunk/vice/src/drive/iec/c64exp/dolphindos3.c 2025-09-17 17:17:08 UTC (rev 45771) @@ -28,7 +28,7 @@ /* #define DD3_DEBUG */ #ifdef DD3_DEBUG -#define DBG(x) printf x +#define DBG(x) log_printf x #else #define DBG(x) #endif @@ -46,6 +46,14 @@ #include "log.h" #include "mc6821core.h" +/* + * - 6821 mapped to $5000-$5fff for the parallel cable + * - 8k extra RAM at $6000-$7fff + * - 32k DOS ROM at $8000-$ffff + * + * x64sc -drive8type 1541 -drive8ram6000 -drive8dd3 -kernal kernal -dos1541 1541 -parallel8 "2" -userportdevice "21" foo.d64 + */ + static mc6821_state my6821[NUM_DISK_UNITS]; /*-----------------------------------------------------------------------*/ @@ -55,7 +63,7 @@ { unsigned int dnr = (unsigned int)(((diskunit_context_t *)(ctx->p))->mynumber); parallel_cable_drive_write(DRIVE_PC_DD3, ctx->dataA, PARALLEL_WRITE, dnr); - /* DBG(("DD3 (%d) 6821 PA WR %02x\n", dnr, ctx->dataA)); */ + /* DBG(("DD3 (%d) 6821 PA WR %02x", dnr, ctx->dataA)); */ } static uint8_t dd3_get_pa(mc6821_state *ctx) @@ -75,7 +83,7 @@ data = parallel_cable_drive_read(DRIVE_PC_DD3, hs); - DBG(("DD3 6821 PA RD %02x CTRLA %02x CA2 %02x\n", data, ctx->ctrlA, ctx->CA2)); + DBG(("DD3 6821 PA RD %02x CTRLA %02x CA2 %02x", data, ctx->ctrlA, ctx->CA2)); return data; } @@ -82,19 +90,19 @@ static void dd3_set_ca2(mc6821_state *ctx) { /* used for handshaking */ - DBG(("DD3 6821 CA2 WR %02x\n", ctx->CA2)); + DBG(("DD3 6821 CA2 WR %02x", ctx->CA2)); } static void dd3_set_pb(mc6821_state *ctx) { /* nothing here ? */ - DBG(("DD3 6821 PB WR %02x\n", ctx->dataB)); + DBG(("DD3 6821 PB WR %02x", ctx->dataB)); } static uint8_t dd3_get_pb(mc6821_state *ctx) { uint8_t data = 0xff; /* unconnected pins return 1 */ - DBG(("DD3 6821 PB RD %02x\n", data)); + DBG(("DD3 6821 PB RD %02x", data)); return data; } @@ -101,7 +109,7 @@ static void dd3_set_cb2(mc6821_state *ctx) { /* nothing here ? */ - DBG(("DD3 6821 CB2 WR %02x\n", ctx->CB2)); + DBG(("DD3 6821 CB2 WR %02x", ctx->CB2)); } /*-----------------------------------------------------------------------*/ @@ -135,14 +143,23 @@ /*-----------------------------------------------------------------------*/ +/* gets called by host parallel_cable_cpu_pulse() */ void dd3_set_signal(diskunit_context_t *drv) { + /* only call if this drive has the dd3 parallel cable */ + if (drv->parallel_cable != DRIVE_PC_DD3) { + return; + } /* DBG(("DD3 (%d) 6821 SIGNAL\n", dnr)); */ mc6821core_set_signal(&my6821[drv->mynumber], MC6821_SIGNAL_CA1); } +/* CAUTION: gets called no matter if dd3 is enabled or not */ void dd3_init(diskunit_context_t *drv) { + if (!drv->dolphindos3) { + return; + } my6821[drv->mynumber].p = (void*)drv; my6821[drv->mynumber].set_pa = dd3_set_pa; my6821[drv->mynumber].set_pb = dd3_set_pb; @@ -152,16 +169,21 @@ my6821[drv->mynumber].set_cb2 = dd3_set_cb2; } +/* CAUTION: gets called no matter if dd3 is enabled or not */ void dd3_reset(diskunit_context_t *drv) { + if (!drv->dolphindos3) { + return; + } mc6821core_reset(&my6821[drv->mynumber]); } +/* CAUTION: gets called no matter if dd3 is enabled or not */ void dd3_mem_init(struct diskunit_context_s *drv, unsigned int type) { drivecpud_context_t *cpud = drv->cpud; - if (drv->parallel_cable != DRIVE_PC_DD3) { + if (!drv->dolphindos3) { return; } Modified: trunk/vice/src/drive/iec/c64exp/iec-c64exp.c =================================================================== --- trunk/vice/src/drive/iec/c64exp/iec-c64exp.c 2025-09-16 20:40:19 UTC (rev 45770) +++ trunk/vice/src/drive/iec/c64exp/iec-c64exp.c 2025-09-17 17:17:08 UTC (rev 45771) @@ -35,7 +35,14 @@ #include "stardos-exp.h" #include "supercard.h" +/* #define DEBUG_IECEXT */ +#ifdef DEBUG_IECEXT +#define DBG(x) log_printf x +#else +#define DBG(x) +#endif + int iec_c64exp_resources_init(void) { return c64exp_resources_init(); @@ -53,6 +60,8 @@ void iec_c64exp_init(struct diskunit_context_s *drv) { + DBG(("iec_c64exp_init profdos:%d supercard:%d stardos:%d dd3:%d", + drv->profdos, drv->supercard, drv->stardos, drv->dolphindos3)); dd3_init(drv); profdos_init(drv); stardos_exp_init(drv); @@ -61,6 +70,8 @@ void iec_c64exp_reset(struct diskunit_context_s *drv) { + DBG(("iec_c64exp_reset profdos:%d supercard:%d stardos:%d dd3:%d", + drv->profdos, drv->supercard, drv->stardos, drv->dolphindos3)); dd3_reset(drv); profdos_reset(drv); stardos_exp_reset(drv); @@ -69,6 +80,8 @@ void iec_c64exp_mem_init(struct diskunit_context_s *drv, unsigned int type) { + DBG(("iec_c64exp_mem_init profdos:%d supercard:%d stardos:%d dd3:%d", + drv->profdos, drv->supercard, drv->stardos, drv->dolphindos3)); dd3_mem_init(drv, type); profdos_mem_init(drv, type); stardos_exp_mem_init(drv, type); Modified: trunk/vice/src/drive/iec/c64exp/profdos.c =================================================================== --- trunk/vice/src/drive/iec/c64exp/profdos.c 2025-09-16 20:40:19 UTC (rev 45770) +++ trunk/vice/src/drive/iec/c64exp/profdos.c 2025-09-17 17:17:08 UTC (rev 45771) @@ -39,9 +39,24 @@ #include "resources.h" #include "util.h" +/* #define DEBUG_PROFDOS */ +#ifdef DEBUG_PROFDOS +#define DBG(x) log_printf x +#else +#define DBG(x) +#endif + +/* + * - extra 8k RAM at $4000 + * - extra 8k ROM at $6000 + * - 32k DOS ROM at $8000 + * + * x64sc -drive8type 1571 -drive8ram4000 -drive8profdos -profdos1571 ROM -kernal Kernal -dos1571 1571 -parallel8 "1" -userportdevice "21" foo.d64 + */ + +/* FIXME: should be dynamically allocated */ #define PROFDOS_ROM_SIZE 0x2000 - static uint8_t profdos_1571_rom[PROFDOS_ROM_SIZE]; static unsigned int profdos_al[NUM_DISK_UNITS]; @@ -49,6 +64,7 @@ int profdos_load_1571(const char *name) { + DBG(("profdos_load_1571 '%s'", name)); if (util_check_null_string(name)) { return 0; } @@ -57,17 +73,21 @@ PROFDOS_ROM_SIZE, UTIL_FILE_LOAD_SKIP_ADDRESS) < 0) { return -1; } - + DBG(("profdos_load_1571 ok")); return 0; } +/* $6000-$6fff extra 8k "decoder" rom (first 4k) */ static uint8_t profdos_read(diskunit_context_t *drv, uint16_t addr) { - return drv->cpu->cpu_last_data = profdos_1571_rom[addr & 0x1fff]; +/* DBG(("profdos_read %04x", addr)); */ + return (drv->cpu->cpu_last_data = profdos_1571_rom[addr & 0x1fff]); } +/* $7000-$7fff extra 8k "decoder" rom (second 4k) */ static uint8_t profdos_read2(diskunit_context_t *drv, uint16_t addr) { + /*DBG(("profdos2_read %04x", addr));*/ if (addr >= 0x7000) { if (!(addr & 0x0800)) { addr = (uint16_t)((addr & 0xff0f) | (profdos_al[drv->mynumber] << 4)); @@ -79,14 +99,17 @@ profdos_al[drv->mynumber] = addr & 15; } - return drv->cpu->cpu_last_data = profdos_1571_rom[addr & 0x1fff]; + return (drv->cpu->cpu_last_data = profdos_1571_rom[addr & 0x1fff]); } +/* CAUTION: gets called no matter if profdos is enabled or not */ void profdos_mem_init(struct diskunit_context_s *drv, unsigned int type) { drivecpud_context_t *cpud = drv->cpud; + DBG(("profdos_mem_init (profdos:%d)", drv->profdos)); if (!drv->profdos) { + DBG(("profdos_mem_init skipped!")); return; } @@ -103,11 +126,23 @@ } } +/* CAUTION: gets called no matter if profdos is enabled or not */ void profdos_init(diskunit_context_t *drv) { + DBG(("profdos_init (profdos:%d)", drv->profdos)); + if (!drv->profdos) { + DBG(("profdos_init skipped!")); + return; + } } +/* CAUTION: gets called no matter if profdos is enabled or not */ void profdos_reset(diskunit_context_t *drv) { + DBG(("profdos_reset (profdos:%d)", drv->profdos)); + if (!drv->profdos) { + DBG(("profdos_reset skipped!")); + return; + } profdos_al[drv->mynumber] = 0; } Modified: trunk/vice/src/drive/iec/c64exp/stardos-exp.c =================================================================== --- trunk/vice/src/drive/iec/c64exp/stardos-exp.c 2025-09-16 20:40:19 UTC (rev 45770) +++ trunk/vice/src/drive/iec/c64exp/stardos-exp.c 2025-09-17 17:17:08 UTC (rev 45771) @@ -95,6 +95,7 @@ return drv->cpu->cpu_last_data = stardos_rom[addr & 0x1fff]; } +/* CAUTION: gets called no matter if stardos is enabled or not */ void stardos_exp_mem_init(struct diskunit_context_s *drv, unsigned int type) { drivecpud_context_t *cpud = drv->cpud; @@ -120,10 +121,12 @@ } } +/* CAUTION: gets called no matter if stardos is enabled or not */ void stardos_exp_init(diskunit_context_t *drv) { } +/* CAUTION: gets called no matter if stardos is enabled or not */ void stardos_exp_reset(diskunit_context_t *drv) { } Modified: trunk/vice/src/drive/iec/c64exp/supercard.c =================================================================== --- trunk/vice/src/drive/iec/c64exp/supercard.c 2025-09-16 20:40:19 UTC (rev 45770) +++ trunk/vice/src/drive/iec/c64exp/supercard.c 2025-09-17 17:17:08 UTC (rev 45771) @@ -85,6 +85,7 @@ return drv->cpu->cpu_last_data = supercard_rom[addr & 0x07ff]; } +/* CAUTION: gets called no matter if supercard is enabled or not */ void supercard_mem_init(struct diskunit_context_s *drv, unsigned int type) { drivecpud_context_t *cpud = drv->cpud; @@ -110,10 +111,12 @@ } } +/* CAUTION: gets called no matter if supercard is enabled or not */ void supercard_init(diskunit_context_t *drv) { } +/* CAUTION: gets called no matter if supercard is enabled or not */ void supercard_reset(diskunit_context_t *drv) { } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gp...@us...> - 2025-09-16 20:40:21
|
Revision: 45770 http://sourceforge.net/p/vice-emu/code/45770 Author: gpz Date: 2025-09-16 20:40:19 +0000 (Tue, 16 Sep 2025) Log Message: ----------- missing ifdef Modified Paths: -------------- trunk/vice/src/c64/vsid-stubs.c trunk/vice/src/joyport/joyport.c Modified: trunk/vice/src/c64/vsid-stubs.c =================================================================== --- trunk/vice/src/c64/vsid-stubs.c 2025-09-16 20:19:50 UTC (rev 45769) +++ trunk/vice/src/c64/vsid-stubs.c 2025-09-16 20:40:19 UTC (rev 45770) @@ -1286,6 +1286,7 @@ DIAG harness *******************************************************************************/ +#ifdef HAVE_EXPERIMENTAL_DEVICES void c64_diag_586220_store_joyport_dig(uint8_t port, uint8_t val) { } @@ -1299,8 +1300,8 @@ { return 0; } +#endif - /******************************************************************************* UI *******************************************************************************/ Modified: trunk/vice/src/joyport/joyport.c =================================================================== --- trunk/vice/src/joyport/joyport.c 2025-09-16 20:19:50 UTC (rev 45769) +++ trunk/vice/src/joyport/joyport.c 2025-09-16 20:40:19 UTC (rev 45770) @@ -1421,6 +1421,7 @@ NULL, /* resources shutdown function */ NULL /* cmdline options init function */ }, +#ifdef JOYPORT_EXPERIMENTAL_DEVICES { JOYPORT_ID_DIAG_586220_HARNESS, /* device id */ VICE_MACHINE_C64_COMPATIBLE, /* emulators this device works on */ joyport_diag_586220_harness_resources_init, /* resources init function */ @@ -1427,6 +1428,7 @@ NULL, /* resources shutdown function */ NULL /* cmdline options init function */ }, +#endif { JOYPORT_ID_NONE, VICE_MACHINE_NONE, NULL, NULL, NULL }, /* end of the devices list */ }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gp...@us...> - 2025-09-16 20:19:52
|
Revision: 45769 http://sourceforge.net/p/vice-emu/code/45769 Author: gpz Date: 2025-09-16 20:19:50 +0000 (Tue, 16 Sep 2025) Log Message: ----------- added joyport side of the 586220 diag harness, fixed some other details. iec port and keyboard port dongles are still missing Modified Paths: -------------- trunk/vice/src/c64/Makefile.am trunk/vice/src/c64/vsid-stubs.c trunk/vice/src/diag/Makefile.am trunk/vice/src/diag/c64_diag_586220_harness.c trunk/vice/src/joyport/Makefile.am trunk/vice/src/joyport/joyport.c trunk/vice/src/joyport/joyport.h trunk/vice/src/tapeport/tape_diag_586220_harness.c trunk/vice/src/userport/userport_diag_586220_harness.c Added Paths: ----------- trunk/vice/src/joyport/joyport_diag_586220_harness.c trunk/vice/src/joyport/joyport_diag_586220_harness.h Modified: trunk/vice/src/c64/Makefile.am =================================================================== --- trunk/vice/src/c64/Makefile.am 2025-09-14 16:30:53 UTC (rev 45768) +++ trunk/vice/src/c64/Makefile.am 2025-09-16 20:19:50 UTC (rev 45769) @@ -26,6 +26,7 @@ -I$(top_srcdir)/src/hvsc \ -I$(top_srcdir)/src/vdrive \ -I$(top_srcdir)/src/fsdevice \ + -I$(top_srcdir)/src/diag \ -I$(top_srcdir)/src/imagecontents AM_CFLAGS = @VICE_CFLAGS@ Modified: trunk/vice/src/c64/vsid-stubs.c =================================================================== --- trunk/vice/src/c64/vsid-stubs.c 2025-09-14 16:30:53 UTC (rev 45768) +++ trunk/vice/src/c64/vsid-stubs.c 2025-09-16 20:19:50 UTC (rev 45769) @@ -1282,7 +1282,25 @@ return false; } +/******************************************************************************* + DIAG harness +*******************************************************************************/ +void c64_diag_586220_store_joyport_dig(uint8_t port, uint8_t val) +{ +} + +uint8_t c64_diag_586220_read_joyport_dig(uint8_t port) +{ + return 0; +} + +uint8_t c64_diag_586220_read_joyport_pot(void) +{ + return 0; +} + + /******************************************************************************* UI *******************************************************************************/ Modified: trunk/vice/src/diag/Makefile.am =================================================================== --- trunk/vice/src/diag/Makefile.am 2025-09-14 16:30:53 UTC (rev 45768) +++ trunk/vice/src/diag/Makefile.am 2025-09-16 20:19:50 UTC (rev 45769) @@ -3,6 +3,8 @@ @ARCH_INCLUDES@ \ -I$(top_builddir)/src \ -I$(top_srcdir)/src \ + -I$(top_srcdir)/src/c64 \ + -I$(top_srcdir)/src/joyport \ -I$(top_srcdir)/src/datasette \ -I$(top_srcdir)/src/tapeport Modified: trunk/vice/src/diag/c64_diag_586220_harness.c =================================================================== --- trunk/vice/src/diag/c64_diag_586220_harness.c 2025-09-14 16:30:53 UTC (rev 45768) +++ trunk/vice/src/diag/c64_diag_586220_harness.c 2025-09-16 20:19:50 UTC (rev 45769) @@ -30,21 +30,38 @@ #include <string.h> #include "c64_diag_586220_harness.h" +#include "c64.h" +#include "cia.h" #include "datasette.h" +#include "machine.h" #include "tapeport.h" #include "types.h" +#include "log.h" +/*#define DEBUG_DIAG_586220*/ + +#ifdef DEBUG_DIAG_586220 +#define DBG(x) log_printf x +#else +#define DBG(x) +#endif + static uint8_t c64_diag_userport_pax = 0; static uint8_t c64_diag_userport_pbx = 0; static uint8_t c64_diag_userport_sp1 = 0; static uint8_t c64_diag_userport_sp2 = 0; + static uint8_t c64_diag_tapeport = 0; +static uint8_t c64_diag_switches = 0; + static uint8_t c64_diag_joyport0 = 0; static uint8_t c64_diag_joyport1 = 0; +static uint8_t c64_diag_joyvalue = 0; + static uint8_t c64_diag_keyboard_pax = 0; static uint8_t c64_diag_keyboard_pbx = 0; + static uint8_t c64_diag_serial = 0; -static uint8_t c64_diag_switches = 0; void c64_diag_586220_init(void) { @@ -61,25 +78,96 @@ c64_diag_switches = 0; } + +/* USERPORT connector + +PIN | PIN | NOTES +----------------- + 4 | 6 | CNT1 <-> CNT2 + 5 | 7 | SP1 <-> SP2 + 9 | M | PA3 <-> PA2 + B | 8 | FLAG2 <- PC2 + + C | H | PB0 <-> PB4 + D | J | PB1 <-> PB5 + E | K | PB2 <-> PB6 + F | L | PB3 <-> PB7 + +no data lines go to other ports + +*/ + +/* called by userport_diag_586220_harness_store_paX() */ void c64_diag_586220_store_userport_pax(uint8_t val) { c64_diag_userport_pax = val; + DBG(("c64_diag_586220_store_userport_pax %02x", val)); } - +/* called by userport_diag_586220_harness_store_pbx() */ void c64_diag_586220_store_userport_pbx(uint8_t val) { c64_diag_userport_pbx = val; } - +/* called by userport_diag_586220_harness_store_spX */ void c64_diag_586220_store_userport_sp(uint8_t port, uint8_t val) { + DBG(("c64_diag_586220_store_userport_sp port:%d val:%02x", port, val)); if (!port) { + ciacore_set_sdr(machine_context.cia2, val); + c64_diag_userport_sp2 = val; + } else { + ciacore_set_sdr(machine_context.cia1, val); c64_diag_userport_sp1 = val; - } else { - c64_diag_userport_sp2 = val; } } +/* called from userport_diag_586220_harness_read_paX */ +uint8_t c64_diag_586220_read_userport_pax(void) +{ + uint8_t retval; + + retval = (c64_diag_userport_pax & 4) << 1; /* bit2 -> bit3 */ + retval |= (c64_diag_userport_pax & 8) >> 1; /* bit3 -> bit2 */ + + retval ^= 0x0c; + + DBG(("c64_diag_586220_read_userport_pax %02x", retval)); + return retval; +} +/* called from userport_diag_586220_harness_read_pbx */ +uint8_t c64_diag_586220_read_userport_pbx(void) +{ + uint8_t retval; + + retval = (c64_diag_userport_pbx >> 4) & 0x0f; /* bit4-7 -> bit0-3 */ + retval |= (c64_diag_userport_pbx & 0x0f) << 4; /* bit0-3 -> bit4-7 */ + + return retval; +} +/* called from userport_diag_586220_harness_read_spX */ +uint8_t c64_diag_586220_read_userport_sp(uint8_t port) +{ + DBG(("c64_diag_586220_read_userport_sp port:%d val:%02x", + port, port ? c64_diag_userport_sp2 : c64_diag_userport_sp1)); + if (!port) { + return c64_diag_userport_sp1; + } + return c64_diag_userport_sp2; +} + + +/* TAPE connector + +PIN | CABLE | NOTES +------------------- +C-3 | 7 | Motor | Joyport Switches control (MOTOR) can ground the line +D-4 | 6 | Read | loops to 4 (READ <-> SENSE) +E-5 | 5 | Write | Joyport Switches control (WRITE) can ground the line +F-6 | 4 | Sense | loops to 6 (SENSE <-> READ) + +*/ + +/* called from tape_diag_586220_harness... */ void c64_diag_586220_store_tapeport(uint8_t pin, uint8_t val) { c64_diag_tapeport &= ~(1 << pin); @@ -86,17 +174,23 @@ c64_diag_tapeport |= (val << pin); switch (pin) { + /* motor <-> write */ case C64_DIAG_TAPEPORT_MOTOR: + DBG(("c64_diag_586220_store_tapeport motor:%d",val)); machine_set_tape_write_in(TAPEPORT_PORT_1, val); break; + case C64_DIAG_TAPEPORT_WRITE: + DBG(("c64_diag_586220_store_tapeport write:%d",val)); + machine_set_tape_motor_in(TAPEPORT_PORT_1, val); + break; + /* read <-> sense */ case C64_DIAG_TAPEPORT_READ: + DBG(("c64_diag_586220_store_tapeport read:%d\n",val)); machine_set_tape_sense(TAPEPORT_PORT_1, val); break; - case C64_DIAG_TAPEPORT_WRITE: - machine_set_tape_motor_in(TAPEPORT_PORT_1, val); - break; case C64_DIAG_TAPEPORT_SENSE: - machine_trigger_flux_change(TAPEPORT_PORT_1, val); + DBG(("c64_diag_586220_store_tapeport sense:%d\n",val)); + machine_set_tape_read_in(TAPEPORT_PORT_1, val); break; } @@ -107,85 +201,78 @@ } } -void c64_diag_586220_store_joyport_dig(uint8_t port, uint8_t val) +#if 0 +/* TODO: unused */ +uint8_t c64_diag_586220_read_tapeport(uint8_t pin) { - if (!port) { - c64_diag_joyport0 = val; - } else { - c64_diag_joyport1 = val; - } -} - -void c64_diag_586220_store_keyboard(uint8_t port, uint8_t val) -{ - if (!port) { - c64_diag_keyboard_pax = val; - } else { - c64_diag_keyboard_pbx = val; - } -} - -void c64_diag_586220_store_serial(uint8_t val) -{ - c64_diag_serial = val; -} - -uint8_t c64_diag_586220_read_userport_pax(void) -{ uint8_t retval; - retval = (c64_diag_userport_pax & 4) << 1; - retval |= (c64_diag_userport_pax & 2) >> 1; + retval = c64_diag_tapeport & 0xf5; + retval |= (c64_diag_tapeport & 8) >> 2; + retval |= (c64_diag_tapeport & 2) << 2; + retval &= (1 << pin); return retval; } +#endif -uint8_t c64_diag_586220_read_userport_pbx(void) -{ - uint8_t retval; +/* JOYSTICK connector - retval = c64_diag_userport_pbx >> 4; - retval |= (c64_diag_userport_pbx & 0xf) << 4; +when enabled, via the analog switch connected to the tape port, bits0-4 of the +two joystick ports are connected 1:1 - return retval; -} +*/ -uint8_t c64_diag_586220_read_userport_sp(uint8_t port) +/* called by harness_store_dig */ +void c64_diag_586220_store_joyport_dig(uint8_t port, uint8_t val) { + /*DBG(("c64_diag_586220_store_joyport_dig port:%d val:%02x", port, val));*/ if (!port) { - return c64_diag_userport_sp2; + c64_diag_joyport0 = val; + } else { + c64_diag_joyport1 = val; } - return c64_diag_userport_sp1; + c64_diag_joyvalue = val; } -uint8_t c64_diag_586220_read_tapeport(uint8_t pin) -{ - uint8_t retval; - - retval = c64_diag_tapeport & 0xf5; - retval |= (c64_diag_tapeport & 8) >> 2; - retval |= (c64_diag_tapeport & 2) << 2; - retval &= (1 << pin); - - return retval; -} - +/* called by harness_read_dig */ uint8_t c64_diag_586220_read_joyport_dig(uint8_t port) { + /*DBG(("c64_diag_586220_read_joyport_dig port:%d",port));*/ if (c64_diag_switches) { +#if 0 if (!port) { return c64_diag_joyport1; } return c64_diag_joyport0; +#endif + return c64_diag_joyvalue; } - return 0; + return 0xff; } +/* called by harness_read_potX */ uint8_t c64_diag_586220_read_joyport_pot(void) { - return 0xff; + /* resistor value for all resistors is 120Ohm */ + /* diag expects 0x58...0x78 */ + return 0x60; } + +/* KEYBOARD connector */ + +/* TODO: unused */ +void c64_diag_586220_store_keyboard(uint8_t port, uint8_t val) +{ + if (!port) { + c64_diag_keyboard_pax = val; + } else { + c64_diag_keyboard_pbx = val; + } +} + +/* TODO: unused */ uint8_t c64_diag_586220_read_keyboard(uint8_t port) { if (!port) { @@ -194,14 +281,41 @@ return c64_diag_keyboard_pax; } + +/* IEC connector + +PIN | CABLE | NOTES +-------------------------------------------------------------------------------- +1-5 | SRQIN - DATA | SRQIN->CIA1 FLAG DATA->CIA2 PA5/PA7 +3-4 | ATN - CLOCK | + +*/ + +/* TODO: unused */ +void c64_diag_586220_store_serial(uint8_t val) +{ + /* Bit 7 Serial Bus Data Input + Bit 6 Serial Bus Clock Pulse Input + Bit 5 Serial Bus Data Output + Bit 4 Serial Bus Clock Pulse Output + Bit 3 Serial Bus ATN Signal Output */ + DBG(("c64_diag_586220_store_serial %02x", val)); + c64_diag_serial = val; +} + +/* TODO: unused */ uint8_t c64_diag_586220_read_serial(void) { uint8_t retval; - retval = (c64_diag_serial & 8) >> 3; - retval |= (c64_diag_serial & 4) >> 1; - retval |= (c64_diag_serial & 2) << 1; - retval |= (c64_diag_serial & 1) << 3; - + retval = ((c64_diag_serial >> 3) & 1) << 6; /* ATN Output -> Clock Input */ + retval |= ((c64_diag_serial >> 5) & 1) << 7; /* Data Output -> SRQIN */ + /* Bit 7 Serial Bus Data Input + Bit 6 Serial Bus Clock Pulse Input + Bit 5 Serial Bus Data Output + Bit 4 Serial Bus Clock Pulse Output + Bit 3 Serial Bus ATN Signal Output */ + DBG(("c64_diag_586220_read_serial %02x (%02x)", c64_diag_serial, retval)); return retval; } + Modified: trunk/vice/src/joyport/Makefile.am =================================================================== --- trunk/vice/src/joyport/Makefile.am 2025-09-14 16:30:53 UTC (rev 45768) +++ trunk/vice/src/joyport/Makefile.am 2025-09-16 20:19:50 UTC (rev 45769) @@ -8,7 +8,8 @@ -I$(top_srcdir)/src \ -I$(top_srcdir)/src/samplerdrv \ -I$(top_srcdir)/src/core/rtc \ - -I$(top_srcdir)/src/userport + -I$(top_srcdir)/src/userport \ + -I$(top_srcdir)/src/diag AM_CFLAGS = @VICE_CFLAGS@ @@ -34,6 +35,8 @@ inception.h \ joyport.c \ joyport.h \ + joyport_diag_586220_harness.c \ + joyport_diag_586220_harness.h \ joyport_io_sim.c \ joyport_io_sim.h \ joystick.c \ Modified: trunk/vice/src/joyport/joyport.c =================================================================== --- trunk/vice/src/joyport/joyport.c 2025-09-14 16:30:53 UTC (rev 45768) +++ trunk/vice/src/joyport/joyport.c 2025-09-16 20:19:50 UTC (rev 45769) @@ -39,6 +39,7 @@ #include "cx85.h" #include "inception.h" #include "joyport.h" +#include "joyport_diag_586220_harness.h" #include "joyport_io_sim.h" #include "joystick.h" #include "lib.h" @@ -132,6 +133,7 @@ return pot_port_mask_clk; } +/* FIXME: isn't this info in the registered device struct? */ static int joyport_device_is_single_port(int id) { switch (id) { @@ -149,6 +151,7 @@ case JOYPORT_ID_PROTOPAD: case JOYPORT_ID_PADDLES: case JOYPORT_ID_IO_SIMULATION: + case JOYPORT_ID_DIAG_586220_HARNESS: return 0; } return 1; @@ -1418,6 +1421,12 @@ NULL, /* resources shutdown function */ NULL /* cmdline options init function */ }, + { JOYPORT_ID_DIAG_586220_HARNESS, /* device id */ + VICE_MACHINE_C64_COMPATIBLE, /* emulators this device works on */ + joyport_diag_586220_harness_resources_init, /* resources init function */ + NULL, /* resources shutdown function */ + NULL /* cmdline options init function */ + }, { JOYPORT_ID_NONE, VICE_MACHINE_NONE, NULL, NULL, NULL }, /* end of the devices list */ }; Modified: trunk/vice/src/joyport/joyport.h =================================================================== --- trunk/vice/src/joyport/joyport.h 2025-09-14 16:30:53 UTC (rev 45768) +++ trunk/vice/src/joyport/joyport.h 2025-09-16 20:19:50 UTC (rev 45769) @@ -85,6 +85,7 @@ JOYPORT_ID_PAPERCLIP64SC, JOYPORT_ID_PAPERCLIP2, JOYPORT_ID_POWERPAD, + JOYPORT_ID_DIAG_586220_HARNESS, /* This item always needs to be at the end */ JOYPORT_MAX_DEVICES @@ -150,7 +151,8 @@ JOYPORT_DEVICE_SAMPLER, JOYPORT_DEVICE_RTC, JOYPORT_DEVICE_C64_DONGLE, - JOYPORT_DEVICE_IO_SIMULATION + JOYPORT_DEVICE_IO_SIMULATION, + JOYPORT_DEVICE_DIAG_HARNESS, }; /* joystick bits */ Added: trunk/vice/src/joyport/joyport_diag_586220_harness.c =================================================================== --- trunk/vice/src/joyport/joyport_diag_586220_harness.c (rev 0) +++ trunk/vice/src/joyport/joyport_diag_586220_harness.c 2025-09-16 20:19:50 UTC (rev 45769) @@ -0,0 +1,113 @@ +/* + * joyport_diag_586220_harness.c - Joyport part of the DIAG 586220 harness + * + * Written by + * groepaz <gr...@gm...> + * + * This file is part of VICE, the Versatile Commodore Emulator. + * See README for copyright notice. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + * 02111-1307 USA. + * + */ + +#include "vice.h" + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include "c64_diag_586220_harness.h" +#include "joyport_diag_586220_harness.h" +#include "joyport.h" +#include "joystick.h" +#include "machine.h" +#include "resources.h" +#include "snapshot.h" +#include "log.h" + +/*#define DEBUG_DIAG_586220*/ + +#ifdef DEBUG_DIAG_586220 +#define DBG(x) log_printf x +#else +#define DBG(x) +#endif + +#ifdef JOYPORT_EXPERIMENTAL_DEVICES + +static uint8_t harness_read_dig(int joyport) +{ + uint8_t retval = c64_diag_586220_read_joyport_dig(joyport); + /*DBG(("harness_read_dig port:%d retval:%02x", joyport, retval));*/ + return retval; +} + +static void harness_store_dig(int joyport, uint8_t val) +{ + /*DBG(("harness_store_dig port:%d val:%02x", joyport, val));*/ + c64_diag_586220_store_joyport_dig(joyport, val); +} + +static uint8_t harness_read_potx(int joyport) +{ + return c64_diag_586220_read_joyport_pot(); +} + +static uint8_t harness_read_poty(int joyport) +{ + return c64_diag_586220_read_joyport_pot(); +} + + +static int joyport_harness_enabled[JOYPORT_MAX_PORTS] = {0}; + +static int joyport_harness_set_enabled(int port, int enabled) +{ + int new_state = enabled ? 1 : 0; + + joyport_harness_enabled[port] = new_state; + + return 0; +} + +static joyport_t joyport_harness_device = { + "586220 DIAG Harness", /* name of the device */ + JOYPORT_RES_ID_NONE, /* device can be used in multiple ports at the same time */ + JOYPORT_IS_NOT_LIGHTPEN, /* device is NOT a lightpen */ + JOYPORT_POT_REQUIRED, /* device uses the potentiometer lines */ + JOYPORT_5VDC_NOT_NEEDED, /* device does NOT need +5VDC to work */ + JOYSTICK_ADAPTER_ID_NONE, /* device is NOT a joystick adapter */ + JOYPORT_DEVICE_DIAG_HARNESS, /* device is a diag harness */ + 0, /* output bits are programmable */ + joyport_harness_set_enabled, /* device enable/disable function */ + harness_read_dig, /* digital line read function */ + harness_store_dig, /* digital line store function */ + harness_read_potx, /* pot-x read function */ + harness_read_poty, /* pot-y read function */ + NULL, /* NO powerup function */ + NULL, /* NO device write snapshot function */ + NULL, /* NO device read snapshot function */ + NULL, /* NO device hook function */ + 0 /* NO device hook function mask */ +}; + +int joyport_diag_586220_harness_resources_init(void) +{ + return joyport_device_register(JOYPORT_ID_DIAG_586220_HARNESS, &joyport_harness_device); +} + +#endif Added: trunk/vice/src/joyport/joyport_diag_586220_harness.h =================================================================== --- trunk/vice/src/joyport/joyport_diag_586220_harness.h (rev 0) +++ trunk/vice/src/joyport/joyport_diag_586220_harness.h 2025-09-16 20:19:50 UTC (rev 45769) @@ -0,0 +1,34 @@ +/* + * joyport_diag_586220_harness.h + * + * Written by + * groepaz <gr...@gm...> + * + * This file is part of VICE, the Versatile Commodore Emulator. + * See README for copyright notice. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + * 02111-1307 USA. + * + */ + +#ifndef VICE_JOYPORT_DIAG_586220_HARNESS_H +#define VICE_JOYPORT_DIAG_586220_HARNESS_H + +#include "types.h" + +int joyport_diag_586220_harness_resources_init(void); + +#endif Modified: trunk/vice/src/tapeport/tape_diag_586220_harness.c =================================================================== --- trunk/vice/src/tapeport/tape_diag_586220_harness.c 2025-09-14 16:30:53 UTC (rev 45768) +++ trunk/vice/src/tapeport/tape_diag_586220_harness.c 2025-09-16 20:19:50 UTC (rev 45769) @@ -31,11 +31,11 @@ PIN | CABLE | NOTES ------------------- -A-1 | 8 | SWa, SWb, SWc, SWd, SWa2 control (+5V) -C-3 | 7 | SWa, SWb, SWc, SWd, SWa2 control (MOTOR) can ground the line -D-4 | 6 | loops to 4 (READ <-> SENSE) -E-5 | 5 | SWa, SWb, SWc, SWd, SWa2 control (WRITE) can ground the line -F-6 | 4 | loops to 6 (SENSE <-> READ) +C-3 | 7 | Motor | Joyport Switches control (MOTOR) can ground the line +D-4 | 6 | Read | loops to 4 (READ <-> SENSE) +E-5 | 5 | Write | Joyport Switches control (WRITE) can ground the line +F-6 | 4 | Sense | loops to 6 (SENSE <-> READ) + */ #include "vice.h" @@ -55,6 +55,14 @@ #include "tapeport.h" #include "util.h" +/*#define DEBUG_DIAG_586220*/ + +#ifdef DEBUG_DIAG_586220 +#define DBG(x) log_printf x +#else +#define DBG(x) +#endif + #ifdef TAPEPORT_EXPERIMENTAL_DEVICES /* Device enabled */ @@ -96,7 +104,7 @@ static void tape_diag_586220_harness_toggle_write_bit(int port, int write_bit) { - c64_diag_586220_store_tapeport(C64_DIAG_TAPEPORT_WRITE, (uint8_t)write_bit); + c64_diag_586220_store_tapeport(C64_DIAG_TAPEPORT_WRITE, (uint8_t)write_bit ? 1 : 0); } static void tape_diag_586220_harness_set_sense_out(int port, int sense) Modified: trunk/vice/src/userport/userport_diag_586220_harness.c =================================================================== --- trunk/vice/src/userport/userport_diag_586220_harness.c 2025-09-14 16:30:53 UTC (rev 45768) +++ trunk/vice/src/userport/userport_diag_586220_harness.c 2025-09-16 20:19:50 UTC (rev 45769) @@ -28,22 +28,18 @@ PIN | PIN | NOTES ----------------- - 4 | 6 | CNT1 <-> CNT2 - 5 | 7 | SP1 <-> SP2 - 6 | 4 | CNT2 <-> CNT1 - 7 | 5 | SP2 <-> SP1 - 8 | B | PC2 -> FLAG2 - 9 | M | PA3 <-> PA2 - B | 8 | FLAG2 <- PC2 - C | H | PB0 <-> PB4 - D | J | PB1 <-> PB5 - E | K | PB2 <-> PB6 - F | L | PB3 <-> PB7 - H | C | PB4 <-> PB0 - J | D | PB5 <-> PB1 - K | E | PB6 <-> PB2 - L | F | PB7 <-> PB3 - M | 9 | PA2 <-> PA3 + 4 | 6 | CNT1 <-> CNT2 + 5 | 7 | SP1 <-> SP2 + 9 | M | PA3 <-> PA2 + B | 8 | FLAG2 <- PC2 + + C | H | PB0 <-> PB4 + D | J | PB1 <-> PB5 + E | K | PB2 <-> PB6 + F | L | PB3 <-> PB7 + +no data lines go to other ports + */ #include "vice.h" @@ -58,7 +54,16 @@ #include "joyport.h" #include "userport.h" #include "userport_diag_586220_harness.h" +#include "log.h" +/*#define DEBUG_DIAG_586220*/ + +#ifdef DEBUG_DIAG_586220 +#define DBG(x) log_printf x +#else +#define DBG(x) +#endif + #ifdef USERPORT_EXPERIMENTAL_DEVICES int userport_diag_586220_harness_enabled = 0; @@ -138,10 +143,11 @@ static void userport_diag_586220_harness_store_pa2(uint8_t value) { - pax &= 0xfb; - pax |= ((value & 1) << 2); + pax &= 0xfb; + pax |= ((value & 1) << 2); - c64_diag_586220_store_userport_pax(pax); + DBG(("userport_diag_586220_harness_store_pa2 %02x (%02x)", value, pax)); + c64_diag_586220_store_userport_pax(pax); } static uint8_t userport_diag_586220_harness_read_pa3(uint8_t orig) @@ -151,10 +157,10 @@ static void userport_diag_586220_harness_store_pa3(uint8_t value) { - pax &= 0xf7; - pax |= ((value & 1) << 3); - - c64_diag_586220_store_userport_pax(pax); + pax &= 0xf7; + pax |= ((value & 1) << 3); + DBG(("userport_diag_586220_harness_store_pa3 %02x (%02x)", value, pax)); + c64_diag_586220_store_userport_pax(pax); } static uint8_t userport_diag_586220_harness_read_sp1(uint8_t orig) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gp...@us...> - 2025-09-14 16:30:55
|
Revision: 45768 http://sourceforge.net/p/vice-emu/code/45768 Author: gpz Date: 2025-09-14 16:30:53 +0000 (Sun, 14 Sep 2025) Log Message: ----------- add build_mac to publish_release and build_error_notify. macos builds should be ok now :) Modified Paths: -------------- trunk/.github/workflows/build-main-on-push.yml Modified: trunk/.github/workflows/build-main-on-push.yml =================================================================== --- trunk/.github/workflows/build-main-on-push.yml 2025-09-14 16:08:24 UTC (rev 45767) +++ trunk/.github/workflows/build-main-on-push.yml 2025-09-14 16:30:53 UTC (rev 45768) @@ -622,7 +622,7 @@ publish_release: name: Publish Release - needs: [create_release, build, build_deb] + needs: [create_release, build, build_deb, build_mac] runs-on: ubuntu-latest steps: - uses: actions/github-script@v7 @@ -640,7 +640,7 @@ build_error_notify: name: IRC Notification of Build Errors - needs: [cleanup_previous_builds, create_release, build_doc, build, build_deb, publish_release] + needs: [cleanup_previous_builds, create_release, build_doc, build, build_deb, build_mac, publish_release] runs-on: ubuntu-latest if: ${{ failure() }} steps: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gp...@us...> - 2025-09-14 16:08:26
|
Revision: 45767 http://sourceforge.net/p/vice-emu/code/45767 Author: gpz Date: 2025-09-14 16:08:24 +0000 (Sun, 14 Sep 2025) Log Message: ----------- set env var(s) Modified Paths: -------------- trunk/.github/workflows/build-main-on-push.yml Modified: trunk/.github/workflows/build-main-on-push.yml =================================================================== --- trunk/.github/workflows/build-main-on-push.yml 2025-09-14 15:44:35 UTC (rev 45766) +++ trunk/.github/workflows/build-main-on-push.yml 2025-09-14 16:08:24 UTC (rev 45767) @@ -1,4 +1,6 @@ name: Snapshot Build +env: + PATH_ARTIFACTS: dist on: push: tags: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gp...@us...> - 2025-09-14 15:44:37
|
Revision: 45766 http://sourceforge.net/p/vice-emu/code/45766 Author: gpz Date: 2025-09-14 15:44:35 +0000 (Sun, 14 Sep 2025) Log Message: ----------- don't use non existing configure option :) Modified Paths: -------------- trunk/.github/workflows/build-main-on-push.yml Modified: trunk/.github/workflows/build-main-on-push.yml =================================================================== --- trunk/.github/workflows/build-main-on-push.yml 2025-09-14 15:33:37 UTC (rev 45765) +++ trunk/.github/workflows/build-main-on-push.yml 2025-09-14 15:44:35 UTC (rev 45766) @@ -578,7 +578,6 @@ ./configure --enable-option-checking=fatal \ --prefix=/usr \ --disable-arch \ - --enable-usbsid \ --enable-cpuhistory \ --enable-parsid \ --with-pulse \ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gp...@us...> - 2025-09-14 15:33:39
|
Revision: 45765 http://sourceforge.net/p/vice-emu/code/45765 Author: gpz Date: 2025-09-14 15:33:37 +0000 (Sun, 14 Sep 2025) Log Message: ----------- ehrm invalid file? Modified Paths: -------------- trunk/.github/workflows/build-main-on-push.yml Modified: trunk/.github/workflows/build-main-on-push.yml =================================================================== --- trunk/.github/workflows/build-main-on-push.yml 2025-09-14 15:29:27 UTC (rev 45764) +++ trunk/.github/workflows/build-main-on-push.yml 2025-09-14 15:33:37 UTC (rev 45765) @@ -521,7 +521,7 @@ data: fs.readFileSync(ASSET_PATH) }); - build_mac: + build_mac: name: Build MacOs Package needs: [create_release, build_doc] runs-on: macos-latest This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gp...@us...> - 2025-09-14 15:29:29
|
Revision: 45764 http://sourceforge.net/p/vice-emu/code/45764 Author: gpz Date: 2025-09-14 15:29:27 +0000 (Sun, 14 Sep 2025) Log Message: ----------- lets try building a macos version too Modified Paths: -------------- trunk/.github/workflows/build-main-on-push.yml Modified: trunk/.github/workflows/build-main-on-push.yml =================================================================== --- trunk/.github/workflows/build-main-on-push.yml 2025-09-14 14:48:18 UTC (rev 45763) +++ trunk/.github/workflows/build-main-on-push.yml 2025-09-14 15:29:27 UTC (rev 45764) @@ -521,6 +521,104 @@ data: fs.readFileSync(ASSET_PATH) }); + build_mac: + name: Build MacOs Package + needs: [create_release, build_doc] + runs-on: macos-latest + strategy: + fail-fast: false + matrix: + ui: [ { name: 'GTK3', + conf: '--enable-gtk3ui', + deps: 'gtk+3' }, + { name: 'SDL2', + conf: '--enable-sdl2ui --with-sdlsound --without-pulse', + deps: 'sdl2 sdl2_image' }, + # { name: 'SDL1', + # conf: '--enable-sdl1ui --with-sdlsound --without-pulse', + # deps: 'sdl sdl12-compat sdl2_image' }, + { name: 'Headless', + conf: '--enable-headlessui --with-pulse', + deps: '' } + ] + steps: + - name: Checkout Source + uses: actions/checkout@v4 + + - name: deps [macOS] + if: runner.os == 'macOS' + run: | + export HOMEBREW_NO_INSTALL_CLEANUP=1 + brew update + brew upgrade || true + brew uninstall --ignore-dependencies --force pkg-config@0.29.2 + brew install \ + dos2unix \ + autoconf \ + automake \ + libtool \ + pkgconf \ + coreutils \ + gnu-sed \ + libgcrypt \ + xa \ + librsvg \ + adwaita-icon-theme \ + glew \ + libusb \ + libusb-compat \ + ${{ matrix.ui.deps }} + - name: Build + run: | + mkdir -p build/usr + cd vice + ./src/buildtools/genvicedate_h.sh + ./autogen.sh + # ALSA is required for SDL2 as well for midi support + ./configure --enable-option-checking=fatal \ + --prefix=/usr \ + --disable-arch \ + --enable-usbsid \ + --enable-cpuhistory \ + --enable-parsid \ + --with-pulse \ + --with-alsa \ + --with-fastsid \ + --with-resid \ + ${{ matrix.ui.conf }} + make -j $(sysctl -n hw.ncpu) -s + make DESTDIR=$HOME/build install + cd .. + mkdir $PATH_ARTIFACTS + cd $PATH_ARTIFACTS + tar cvzf vice-macos-${{ matrix.ui.name }}.tgz -C $HOME/build . + pwd + ls -l + + - name: Upload zip + id: upload_macoszip + uses: actions/github-script@v7 + env: + UPLOAD_URL: ${{ needs.create_release.outputs.upload_url }} + ASSET_PATH: ${{ env.PATH_ARTIFACTS}}/vice-macos-${{ matrix.ui.name }}.tgz + ASSET_NAME: vice-macos-${{ matrix.ui.name }}.tgz + ASSET_CONTENT_TYPE: application/vnd.debian.binary-package + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + retries: 3 + script: | + const fs = require('fs'); + const { UPLOAD_URL, ASSET_PATH, ASSET_NAME, ASSET_CONTENT_TYPE } = process.env; + const uploadAssetResponse = await github.rest.repos.uploadReleaseAsset({ + url: UPLOAD_URL, + headers: { + 'content-type': ASSET_CONTENT_TYPE, + 'content-length': fs.statSync(ASSET_PATH).size + }, + name: ASSET_NAME, + data: fs.readFileSync(ASSET_PATH) + }); + publish_release: name: Publish Release needs: [create_release, build, build_deb] This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gp...@us...> - 2025-09-14 14:48:21
|
Revision: 45763 http://sourceforge.net/p/vice-emu/code/45763 Author: gpz Date: 2025-09-14 14:48:18 +0000 (Sun, 14 Sep 2025) Log Message: ----------- fix readmode switch bug, patch by LouD Modified Paths: -------------- trunk/vice/src/lib/libusbsiddrv/USBSID.cpp Modified: trunk/vice/src/lib/libusbsiddrv/USBSID.cpp =================================================================== --- trunk/vice/src/lib/libusbsiddrv/USBSID.cpp 2025-09-14 14:47:38 UTC (rev 45762) +++ trunk/vice/src/lib/libusbsiddrv/USBSID.cpp 2025-09-14 14:48:18 UTC (rev 45763) @@ -654,6 +654,7 @@ /* Init ringbuffer */ flush_buffer = 0; run_thread = buffer_pos = 1; + threaded = withcycles = true; pthread_mutex_lock(&us_mutex); USBSID_InitRingBuffer(ring_size, diff_size); us_thread++; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gp...@us...> - 2025-09-14 14:47:40
|
Revision: 45762 http://sourceforge.net/p/vice-emu/code/45762 Author: gpz Date: 2025-09-14 14:47:38 +0000 (Sun, 14 Sep 2025) Log Message: ----------- silence log, patch by LouD Modified Paths: -------------- trunk/vice/src/arch/shared/hwsiddrv/us-unixwin-device.c trunk/vice/src/lib/libusbsiddrv/USBSID.cpp Property Changed: ---------------- trunk/vice/src/lib/libusbsiddrv/ Modified: trunk/vice/src/arch/shared/hwsiddrv/us-unixwin-device.c =================================================================== --- trunk/vice/src/arch/shared/hwsiddrv/us-unixwin-device.c 2025-09-14 14:44:33 UTC (rev 45761) +++ trunk/vice/src/arch/shared/hwsiddrv/us-unixwin-device.c 2025-09-14 14:47:38 UTC (rev 45762) @@ -105,7 +105,7 @@ sids_found = 0; - log_message(usbsid_log, "Detecting boards"); + log_debug(usbsid_log, "Detecting boards"); if (usbsid == NULL) { usbsid = create_USBSID(); Index: trunk/vice/src/lib/libusbsiddrv =================================================================== --- trunk/vice/src/lib/libusbsiddrv 2025-09-14 14:44:33 UTC (rev 45761) +++ trunk/vice/src/lib/libusbsiddrv 2025-09-14 14:47:38 UTC (rev 45762) Property changes on: trunk/vice/src/lib/libusbsiddrv ___________________________________________________________________ Modified: svn:ignore ## -1 +1,3 ## .deps +Makefile +Makefile.in Modified: trunk/vice/src/lib/libusbsiddrv/USBSID.cpp =================================================================== --- trunk/vice/src/lib/libusbsiddrv/USBSID.cpp 2025-09-14 14:44:33 UTC (rev 45761) +++ trunk/vice/src/lib/libusbsiddrv/USBSID.cpp 2025-09-14 14:47:38 UTC (rev 45762) @@ -1239,7 +1239,7 @@ /* Check for an available USBSID-Pico */ if (LIBUSB_Available(ctx, VENDOR_ID, PRODUCT_ID) <= 0) { - USBERR(stderr, "[USBSID] USBSID-Pico not connected\n"); + USBDBG(stderr, "[USBSID] USBSID-Pico not connected\n"); goto out; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gp...@us...> - 2025-09-14 14:44:35
|
Revision: 45761 http://sourceforge.net/p/vice-emu/code/45761 Author: gpz Date: 2025-09-14 14:44:33 +0000 (Sun, 14 Sep 2025) Log Message: ----------- remove generated Makefile(s) Removed Paths: ------------- trunk/vice/src/lib/libusbsiddrv/Makefile trunk/vice/src/lib/libusbsiddrv/Makefile.in Property Changed: ---------------- trunk/vice/src/lib/libusbsiddrv/ Index: trunk/vice/src/lib/libusbsiddrv =================================================================== --- trunk/vice/src/lib/libusbsiddrv 2025-09-14 14:25:26 UTC (rev 45760) +++ trunk/vice/src/lib/libusbsiddrv 2025-09-14 14:44:33 UTC (rev 45761) Property changes on: trunk/vice/src/lib/libusbsiddrv ___________________________________________________________________ Added: svn:ignore ## -0,0 +1 ## +.deps Deleted: trunk/vice/src/lib/libusbsiddrv/Makefile =================================================================== --- trunk/vice/src/lib/libusbsiddrv/Makefile 2025-09-14 14:25:26 UTC (rev 45760) +++ trunk/vice/src/lib/libusbsiddrv/Makefile 2025-09-14 14:44:33 UTC (rev 45761) @@ -1,739 +0,0 @@ -# Makefile.in generated by automake 1.17 from Makefile.am. -# src/lib/libusbsiddrv/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2024 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - - - -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -am__rm_f = rm -f $(am__rm_f_notfound) -am__rm_rf = rm -rf $(am__rm_f_notfound) -pkgdatadir = $(datadir)/vice -pkgincludedir = $(includedir)/vice -pkglibdir = $(libdir)/vice -pkglibexecdir = $(libexecdir)/vice -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-pc-linux-gnu -host_triplet = x86_64-pc-linux-gnu -subdir = src/lib/libusbsiddrv -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \ - $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/m4_ax_subdirs_configure.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/vice_args.m4 \ - $(top_srcdir)/m4/vice_compiler_checks.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \ - $(am__DIST_COMMON) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/src/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LIBRARIES = $(noinst_LIBRARIES) -AM_V_AR = $(am__v_AR_$(V)) -am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY)) -am__v_AR_0 = @echo " AR " $@; -am__v_AR_1 = -libusbsiddrv_a_AR = $(AR) $(ARFLAGS) -libusbsiddrv_a_RANLIB = $(RANLIB) -libusbsiddrv_a_DEPENDENCIES = $(USBSIDDRIVER) -am_libusbsiddrv_a_OBJECTS = -libusbsiddrv_a_OBJECTS = $(am_libusbsiddrv_a_OBJECTS) -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I. -I$(top_builddir)/src -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/USBSID.Po \ - ./$(DEPDIR)/USBSIDInterface.Po -am__mv = mv -f -CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -AM_V_CXX = $(am__v_CXX_$(V)) -am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY)) -am__v_CXX_0 = @echo " CXX " $@; -am__v_CXX_1 = -CXXLD = $(CXX) -CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ - -o $@ -AM_V_CXXLD = $(am__v_CXXLD_$(V)) -am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CXXLD_0 = @echo " CXXLD " $@; -am__v_CXXLD_1 = -SOURCES = $(libusbsiddrv_a_SOURCES) $(EXTRA_libusbsiddrv_a_SOURCES) -DIST_SOURCES = $(libusbsiddrv_a_SOURCES) \ - $(EXTRA_libusbsiddrv_a_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -HEADERS = $(noinst_HEADERS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \ - $(top_srcdir)/mkinstalldirs README.md -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} '/home/groepaz/Desktop/vice/vice-emu/trunk/vice/missing' aclocal-1.17 -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 1 -AR = ar -ARCH_DIR = $(top_builddir)/src/arch/sdl -ARCH_EXTRA_SUBDIR = -ARCH_INCLUDES = -I$(top_srcdir)/src/arch/sdl -I$(top_srcdir)/src/arch/shared -ARCH_LIBS = $(top_builddir)/src/arch/sdl/libarch.a -ARCH_MAKE_BINDIST_DIR = -ARCH_SRC_DIR = $(top_srcdir)/src/arch/sdl -ARFLAGS = cr -AR_FLAGS = cr -AUTOCONF = ${SHELL} '/home/groepaz/Desktop/vice/vice-emu/trunk/vice/missing' autoconf -AUTOHEADER = ${SHELL} '/home/groepaz/Desktop/vice/vice-emu/trunk/vice/missing' autoheader -AUTOMAKE = ${SHELL} '/home/groepaz/Desktop/vice/vice-emu/trunk/vice/missing' automake-1.17 -AWK = gawk -CC = cc -CCAS = cc -CCASDEPMODE = depmode=gcc3 -CCASFLAGS = -CCDEPMODE = depmode=gcc3 -CFLAGS = -D_DEFAULT_SOURCE -D_DEFAULT_SOURCE -DHAVE_NET_ETHERNET_H -CPP = cc -E -CPPFLAGS = -CROSS = false -CSCOPE = cscope -CTAGS = ctags -CXX = c++ -std=c++11 -CXXCPP = c++ -std=c++11 -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -fno-exceptions -CYGPATH_W = echo -DEBUGBUILD = 0 -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DESKTOP_FILE_INSTALL = -DOS2UNIX = dos2unix -DYNLIB_LIBS = -ECHO_C = -ECHO_N = -n -ECHO_T = -ENABLE_ARCH = yes -ETAGS = etags -EXEEXT = -FCCACHE = /usr/bin/fc-cache -FONTCONFIG_CFLAGS = -FONTCONFIG_LIBS = -FW_DIR = -GFXOUTPUT_DRIVERS = pngdrv.o -GFXOUTPUT_LIBS = -lpng -GLEW_CFLAGS = -GLEW_LIBS = -GLIB_CFLAGS = -GLIB_COMPILE_RESOURCES = -GLIB_GENMARSHAL = -GLIB_LIBS = -GTK_CFLAGS = -GTK_LIBS = -HAVE_CXX11 = 1 -ICONV = iconv -ICOTOOL = no -INLINE_UNIT_GROWTH = --param inline-unit-growth=60 -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -JOYSTICK_DRIVERS = -JOY_LIBS = -LDFLAGS = -LEX = flex -LEXLIB = -lfl -LEX_OUTPUT_ROOT = lex.yy -LIBOBJS = -LIBS = -lbsd -lusb-1.0 -lpci -lnsl -lm -lSDL2 -lSDL2_image -lSDL2 -lcap -lcurl -LIBUSB_CFLAGS = -I/usr/include/libusb-1.0 -LIBUSB_LIBS = -lusb-1.0 -LINKCC = $(CXX) -LN_S = ln -s -LTLIBOBJS = -MAKEINFO = ${SHELL} '/home/groepaz/Desktop/vice/vice-emu/trunk/vice/missing' makeinfo -MAX_INLINE_INSN_SINGLE = --param max-inline-insns-single=600 -MKDIR_P = /bin/mkdir -p -MONITOR_CFLAGS = -Wno-unused-label -Wno-unreachable-code -Wno-misleading-indentation -NETPLAY_LIBS = -lnet -lbsd -lnsl -OBJC = cc -OBJCDEPMODE = depmode=gcc3 -OBJCFLAGS = -OBJCPP = -OBJEXT = o -PACKAGE = vice -PACKAGE_BUGREPORT = -PACKAGE_NAME = vice -PACKAGE_STRING = vice 3.9 -PACKAGE_TARNAME = vice -PACKAGE_URL = -PACKAGE_VERSION = 3.9 -PATH_SEPARATOR = : -PDFTEX = pdftex -PERL = perl -PKG_CONFIG = /usr/bin/pkg-config -PLATFORM_DOX_FLAGS = platformall -PNG_CFLAGS = -PNG_LIBS = -PROGRAM_PREFIX = sdl2- -PROGRAM_SUFFIX = -RANLIB = ranlib -RESIDDTVSUB = resid-dtv -RESIDSUB = resid -RESID_DEP = libresid -RESID_DIR = resid -RESID_DTV_DEP = libresiddtv -RESID_DTV_DIR = resid-dtv -RESID_DTV_INCLUDES = -I$(top_builddir)/src/resid-dtv -RESID_DTV_LIBS = $(top_builddir)/src/resid-dtv/libresiddtv.a -RESID_INCLUDES = -I$(top_builddir)/src/resid -RESID_LIBS = $(top_builddir)/src/resid/libresid.a -SDL2_CFLAGS = -I/usr/include/SDL2 -D_REENTRANT -SDL2_IMAGE_CFLAGS = -I/usr/include/SDL2 -D_REENTRANT -I/usr/include/libpng16 -SDL2_IMAGE_LIBS = -lSDL2_image -lSDL2 -SDL2_LIBS = -lSDL2 -SDLCONFIG = -SDL_EXTRA_LIBS = -SDL_IMAGE_CFLAGS = -SDL_IMAGE_LIBS = -SET_MAKE = -SHELL = /bin/sh -SOUND_DRIVERS = soundsdl.o soundpulse.o soundalsa.o -SOUND_LIBS = -lpulse-simple -lpulse -lasound -SOUND_MIDAS_OBJ = -SOUND_SDL_OBJ = -STRIP = strip -SVN = svn -SVNVERSION = svnversion -SVN_REVISION_OVERRIDE = -TAR = tar -TEXI2DVI = texi2dvi -TFE_LIBS = -lpcap -L/usr/lib64 -lnet -UI_LIBS = -UNZIPBIN = no -UPDATE_DESKTOP_DATABASE = -VERSION = 3.9 -VERSION_COMBINED = 198912 -VERSION_RC = 3,9,0,0 -VICE_CFLAGS = -g -O3 -W -Wall -Wextra -Wformat -Wformat-signedness -Wformat-security -Wshadow -Wpointer-arith -Wmissing-prototypes -Wstrict-prototypes -Wuninitialized -Wmissing-field-initializers -Wunreachable-code -Werror=implicit-function-declaration -Wfatal-errors -Wdiscarded-qualifiers -Wno-unknown-pragmas -Wunused-but-set-variable -Wno-sign-compare -Wno-ignored-qualifiers -Wno-unused-parameter -fopenmp -I/usr/include/SDL2 -D_REENTRANT -I/usr/include/SDL2 -D_REENTRANT -I/usr/include/libpng16 -I/usr/include/libusb-1.0 -VICE_CPPFLAGS = -I$(top_srcdir)/src/arch/systemheaderoverride -DNDEBUG -I/usr/include/libusb-1.0 -VICE_CXXFLAGS = -g -O3 -Wall -Wformat -Wshadow -Wpointer-arith -Wuninitialized -Wunreachable-code -Wno-unused-parameter -Wfatal-errors -fopenmp -I/usr/include/SDL2 -D_REENTRANT -I/usr/include/SDL2 -D_REENTRANT -I/usr/include/libpng16 -VICE_DATADIR = ${datarootdir}/vice -VICE_DOCDIR = ${datarootdir}/doc/${PACKAGE_TARNAME} -VICE_LDFLAGS = -fopenmp -VICE_OBJCFLAGS = -g -O3 -VICE_PDF_FILE_NAME = vice.pdf -VICE_VERSION = 3.9 -VICE_VERSION_BUILD = 0 -VICE_VERSION_MAJOR = 3 -VICE_VERSION_MINOR = 9 -VTE_CXXFLAGS = -Wno-address-of-packed-member -Wno-char-subscripts -Wno-format-signedness -Wno-c99-designator -Wno-shorten-64-to-32 -Wno-nonnull-compare -WINDRES = -WINDRES_LIB = $(top_builddir)/src/arch/sdl/icon.res -XA = xa -XDG_ICON_RESOURCE = -YACC = byacc -ZLIB_LIBS = -lz -abs_builddir = /home/groepaz/Desktop/vice/vice-emu/trunk/vice/src/lib/libusbsiddrv -abs_srcdir = /home/groepaz/Desktop/vice/vice-emu/trunk/vice/src/lib/libusbsiddrv -abs_top_builddir = /home/groepaz/Desktop/vice/vice-emu/trunk/vice -abs_top_srcdir = /home/groepaz/Desktop/vice/vice-emu/trunk/vice -ac_ct_CC = cc -ac_ct_CXX = c++ -ac_ct_OBJC = cc -am__include = include -am__leading_dot = . -am__quote = -am__rm_f_notfound = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -am__xargs_n = xargs -n -bindir = ${exec_prefix}/bin -build = x86_64-pc-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = pc -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-pc-linux-gnu -host_alias = -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = pc -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/groepaz/Desktop/vice/vice-emu/trunk/vice/install-sh -libcurl_CFLAGS = -libcurl_LIBS = -lcurl -libdir = ${exec_prefix}/lib -libevdev_CFLAGS = -libevdev_LIBS = -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -objdump = objdump -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/games -program_transform_name = s&^&sdl2-& -psdir = ${docdir} -runstatedir = ${localstatedir}/run -sbindir = ${exec_prefix}/sbin -sdl_config = sdl-config -sharedstatedir = ${prefix}/com -srcdir = . -subdirs_extra = src/resid src/resid-dtv -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../../../ -top_builddir = ../../.. -top_srcdir = ../../.. -vsid_LDFLAGS = -x128_LDFLAGS = -x64_LDFLAGS = -xcbm2_LDFLAGS = -xpet_LDFLAGS = -xplus4_LDFLAGS = -xscpu64_LDFLAGS = -xvic_LDFLAGS = - -# Makefile.am for `libusbsiddrv.a'. -# if HAVE_USBSID -AM_CPPFLAGS = \ - -I$(top_srcdir)/src/arch/systemheaderoverride -DNDEBUG -I/usr/include/libusb-1.0 \ - -I$(top_srcdir)/src/arch/sdl -I$(top_srcdir)/src/arch/shared \ - -I$(top_builddir)/src \ - -I$(top_srcdir)/src \ - -I$(top_srcdir)/src/lib/libusbsiddrv - -AM_CFLAGS = -g -O3 -W -Wall -Wextra -Wformat -Wformat-signedness -Wformat-security -Wshadow -Wpointer-arith -Wmissing-prototypes -Wstrict-prototypes -Wuninitialized -Wmissing-field-initializers -Wunreachable-code -Werror=implicit-function-declaration -Wfatal-errors -Wdiscarded-qualifiers -Wno-unknown-pragmas -Wunused-but-set-variable -Wno-sign-compare -Wno-ignored-qualifiers -Wno-unused-parameter -fopenmp -I/usr/include/SDL2 -D_REENTRANT -I/usr/include/SDL2 -D_REENTRANT -I/usr/include/libpng16 -I/usr/include/libusb-1.0 -AM_CXXFLAGS = \ - -g -O3 -Wall -Wformat -Wshadow -Wpointer-arith -Wuninitialized -Wunreachable-code -Wno-unused-parameter -Wfatal-errors -fopenmp -I/usr/include/SDL2 -D_REENTRANT -I/usr/include/SDL2 -D_REENTRANT -I/usr/include/libpng16 \ - -Wno-unused-variable \ - -I$(top_srcdir)/src/lib/libusbsiddrv - -AM_LDFLAGS = -fopenmp -noinst_LIBRARIES = libusbsiddrv.a -USBSIDDRIVER = USBSID.o USBSIDInterface.o - -# Built depending on configure options: -EXTRA_libusbsiddrv_a_SOURCES = \ - USBSIDInterface.cpp \ - USBSID.cpp - -EXTRA_DIST = \ - USBSID.h \ - USBSIDInterface.h - - -# Always built: -# (needs to be declared empty to avoid `make` to try to build libusbsiddrv.o -# from libusbsiddrv.c) -libusbsiddrv_a_SOURCES = -noinst_HEADERS = USBSID.h USBSIDInterface.h - -# Make sure we actually link the generated object files into the library: -libusbsiddrv_a_LIBADD = $(USBSIDDRIVER) -all: all-am - -.SUFFIXES: -.SUFFIXES: .cpp .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/lib/libusbsiddrv/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/lib/libusbsiddrv/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLIBRARIES: - -$(am__rm_f) $(noinst_LIBRARIES) - -libusbsiddrv.a: $(libusbsiddrv_a_OBJECTS) $(libusbsiddrv_a_DEPENDENCIES) $(EXTRA_libusbsiddrv_a_DEPENDENCIES) - $(AM_V_at)-rm -f libusbsiddrv.a - $(AM_V_AR)$(libusbsiddrv_a_AR) libusbsiddrv.a $(libusbsiddrv_a_OBJECTS) $(libusbsiddrv_a_LIBADD) - $(AM_V_at)$(libusbsiddrv_a_RANLIB) libusbsiddrv.a - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -include ./$(DEPDIR)/USBSID.Po # am--include-marker -include ./$(DEPDIR)/USBSIDInterface.Po # am--include-marker - -$(am__depfiles_remade): - @$(MKDIR_P) $(@D) - @: >>$@ - -am--depfiles: $(am__depfiles_remade) - -.cpp.o: - $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< - $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -# $(AM_V_CXX)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ $< - -.cpp.obj: - $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` - $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -# $(AM_V_CXX)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LIBRARIES) $(HEADERS) -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -$(am__rm_f) $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || $(am__rm_f) $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am - -distclean: distclean-am - -rm -f ./$(DEPDIR)/USBSID.Po - -rm -f ./$(DEPDIR)/USBSIDInterface.Po - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f ./$(DEPDIR)/USBSID.Po - -rm -f ./$(DEPDIR)/USBSIDInterface.Po - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ - clean-generic clean-noinstLIBRARIES cscopelist-am ctags \ - ctags-am distclean distclean-compile distclean-generic \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - -# endif HAVE_USBSID - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: - -# Tell GNU make to disable its built-in pattern rules. -%:: %,v -%:: RCS/%,v -%:: RCS/% -%:: s.% -%:: SCCS/s.% Deleted: trunk/vice/src/lib/libusbsiddrv/Makefile.in =================================================================== --- trunk/vice/src/lib/libusbsiddrv/Makefile.in 2025-09-14 14:25:26 UTC (rev 45760) +++ trunk/vice/src/lib/libusbsiddrv/Makefile.in 2025-09-14 14:44:33 UTC (rev 45761) @@ -1,739 +0,0 @@ -# Makefile.in generated by automake 1.17 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2024 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -am__rm_f = rm -f $(am__rm_f_notfound) -am__rm_rf = rm -rf $(am__rm_f_notfound) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = src/lib/libusbsiddrv -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \ - $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/m4_ax_subdirs_configure.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/vice_args.m4 \ - $(top_srcdir)/m4/vice_compiler_checks.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \ - $(am__DIST_COMMON) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/src/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LIBRARIES = $(noinst_LIBRARIES) -AM_V_AR = $(am__v_AR_@AM_V@) -am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) -am__v_AR_0 = @echo " AR " $@; -am__v_AR_1 = -libusbsiddrv_a_AR = $(AR) $(ARFLAGS) -libusbsiddrv_a_RANLIB = $(RANLIB) -libusbsiddrv_a_DEPENDENCIES = $(USBSIDDRIVER) -am_libusbsiddrv_a_OBJECTS = -libusbsiddrv_a_OBJECTS = $(am_libusbsiddrv_a_OBJECTS) -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/USBSID.Po \ - ./$(DEPDIR)/USBSIDInterface.Po -am__mv = mv -f -CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -AM_V_CXX = $(am__v_CXX_@AM_V@) -am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) -am__v_CXX_0 = @echo " CXX " $@; -am__v_CXX_1 = -CXXLD = $(CXX) -CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ - -o $@ -AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) -am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) -am__v_CXXLD_0 = @echo " CXXLD " $@; -am__v_CXXLD_1 = -SOURCES = $(libusbsiddrv_a_SOURCES) $(EXTRA_libusbsiddrv_a_SOURCES) -DIST_SOURCES = $(libusbsiddrv_a_SOURCES) \ - $(EXTRA_libusbsiddrv_a_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -HEADERS = $(noinst_HEADERS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \ - $(top_srcdir)/mkinstalldirs README.md -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ARCH_DIR = @ARCH_DIR@ -ARCH_EXTRA_SUBDIR = @ARCH_EXTRA_SUBDIR@ -ARCH_INCLUDES = @ARCH_INCLUDES@ -ARCH_LIBS = @ARCH_LIBS@ -ARCH_MAKE_BINDIST_DIR = @ARCH_MAKE_BINDIST_DIR@ -ARCH_SRC_DIR = @ARCH_SRC_DIR@ -ARFLAGS = @ARFLAGS@ -AR_FLAGS = @AR_FLAGS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCAS = @CCAS@ -CCASDEPMODE = @CCASDEPMODE@ -CCASFLAGS = @CCASFLAGS@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CROSS = @CROSS@ -CSCOPE = @CSCOPE@ -CTAGS = @CTAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEBUGBUILD = @DEBUGBUILD@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DESKTOP_FILE_INSTALL = @DESKTOP_FILE_INSTALL@ -DOS2UNIX = @DOS2UNIX@ -DYNLIB_LIBS = @DYNLIB_LIBS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -ENABLE_ARCH = @ENABLE_ARCH@ -ETAGS = @ETAGS@ -EXEEXT = @EXEEXT@ -FCCACHE = @FCCACHE@ -FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ -FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ -FW_DIR = @FW_DIR@ -GFXOUTPUT_DRIVERS = @GFXOUTPUT_DRIVERS@ -GFXOUTPUT_LIBS = @GFXOUTPUT_LIBS@ -GLEW_CFLAGS = @GLEW_CFLAGS@ -GLEW_LIBS = @GLEW_LIBS@ -GLIB_CFLAGS = @GLIB_CFLAGS@ -GLIB_COMPILE_RESOURCES = @GLIB_COMPILE_RESOURCES@ -GLIB_GENMARSHAL = @GLIB_GENMARSHAL@ -GLIB_LIBS = @GLIB_LIBS@ -GTK_CFLAGS = @GTK_CFLAGS@ -GTK_LIBS = @GTK_LIBS@ -HAVE_CXX11 = @HAVE_CXX11@ -ICONV = @ICONV@ -ICOTOOL = @ICOTOOL@ -INLINE_UNIT_GROWTH = @INLINE_UNIT_GROWTH@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -JOYSTICK_DRIVERS = @JOYSTICK_DRIVERS@ -JOY_LIBS = @JOY_LIBS@ -LDFLAGS = @LDFLAGS@ -LEX = @LEX@ -LEXLIB = @LEXLIB@ -LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBUSB_CFLAGS = @LIBUSB_CFLAGS@ -LIBUSB_LIBS = @LIBUSB_LIBS@ -LINKCC = @LINKCC@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -MAX_INLINE_INSN_SINGLE = @MAX_INLINE_INSN_SINGLE@ -MKDIR_P = @MKDIR_P@ -MONITOR_CFLAGS = @MONITOR_CFLAGS@ -NETPLAY_LIBS = @NETPLAY_LIBS@ -OBJC = @OBJC@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCPP = @OBJCPP@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFTEX = @PDFTEX@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PLATFORM_DOX_FLAGS = @PLATFORM_DOX_FLAGS@ -PNG_CFLAGS = @PNG_CFLAGS@ -PNG_LIBS = @PNG_LIBS@ -PROGRAM_PREFIX = @PROGRAM_PREFIX@ -PROGRAM_SUFFIX = @PROGRAM_SUFFIX@ -RANLIB = @RANLIB@ -RESIDDTVSUB = @RESIDDTVSUB@ -RESIDSUB = @RESIDSUB@ -RESID_DEP = @RESID_DEP@ -RESID_DIR = @RESID_DIR@ -RESID_DTV_DEP = @RESID_DTV_DEP@ -RESID_DTV_DIR = @RESID_DTV_DIR@ -RESID_DTV_INCLUDES = @RESID_DTV_INCLUDES@ -RESID_DTV_LIBS = @RESID_DTV_LIBS@ -RESID_INCLUDES = @RESID_INCLUDES@ -RESID_LIBS = @RESID_LIBS@ -SDL2_CFLAGS = @SDL2_CFLAGS@ -SDL2_IMAGE_CFLAGS = @SDL2_IMAGE_CFLAGS@ -SDL2_IMAGE_LIBS = @SDL2_IMAGE_LIBS@ -SDL2_LIBS = @SDL2_LIBS@ -SDLCONFIG = @SDLCONFIG@ -SDL_EXTRA_LIBS = @SDL_EXTRA_LIBS@ -SDL_IMAGE_CFLAGS = @SDL_IMAGE_CFLAGS@ -SDL_IMAGE_LIBS = @SDL_IMAGE_LIBS@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOUND_DRIVERS = @SOUND_DRIVERS@ -SOUND_LIBS = @SOUND_LIBS@ -SOUND_MIDAS_OBJ = @SOUND_MIDAS_OBJ@ -SOUND_SDL_OBJ = @SOUND_SDL_OBJ@ -STRIP = @STRIP@ -SVN = @SVN@ -SVNVERSION = @SVNVERSION@ -SVN_REVISION_OVERRIDE = @SVN_REVISION_OVERRIDE@ -TAR = @TAR@ -TEXI2DVI = @TEXI2DVI@ -TFE_LIBS = @TFE_LIBS@ -UI_LIBS = @UI_LIBS@ -UNZIPBIN = @UNZIPBIN@ -UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ -VERSION = @VERSION@ -VERSION_COMBINED = @VERSION_COMBINED@ -VERSION_RC = @VERSION_RC@ -VICE_CFLAGS = @VICE_CFLAGS@ -VICE_CPPFLAGS = @VICE_CPPFLAGS@ -VICE_CXXFLAGS = @VICE_CXXFLAGS@ -VICE_DATADIR = @VICE_DATADIR@ -VICE_DOCDIR = @VICE_DOCDIR@ -VICE_LDFLAGS = @VICE_LDFLAGS@ -VICE_OBJCFLAGS = @VICE_OBJCFLAGS@ -VICE_PDF_FILE_NAME = @VICE_PDF_FILE_NAME@ -VICE_VERSION = @VICE_VERSION@ -VICE_VERSION_BUILD = @VICE_VERSION_BUILD@ -VICE_VERSION_MAJOR = @VICE_VERSION_MAJOR@ -VICE_VERSION_MINOR = @VICE_VERSION_MINOR@ -VTE_CXXFLAGS = @VTE_CXXFLAGS@ -WINDRES = @WINDRES@ -WINDRES_LIB = @WINDRES_LIB@ -XA = @XA@ -XDG_ICON_RESOURCE = @XDG_ICON_RESOURCE@ -YACC = @YACC@ -ZLIB_LIBS = @ZLIB_LIBS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_OBJC = @ac_ct_OBJC@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__rm_f_notfound = @am__rm_f_notfound@ -am__tar = @am__tar@ -am__untar = @am__untar@ -am__xargs_n = @am__xargs_n@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libcurl_CFLAGS = @libcurl_CFLAGS@ -libcurl_LIBS = @libcurl_LIBS@ -libdir = @libdir@ -libevdev_CFLAGS = @libevdev_CFLAGS@ -libevdev_LIBS = @libevdev_LIBS@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -objdump = @objdump@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sdl_config = @sdl_config@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -subdirs_extra = @subdirs_extra@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -vsid_LDFLAGS = @vsid_LDFLAGS@ -x128_LDFLAGS = @x128_LDFLAGS@ -x64_LDFLAGS = @x64_LDFLAGS@ -xcbm2_LDFLAGS = @xcbm2_LDFLAGS@ -xpet_LDFLAGS = @xpet_LDFLAGS@ -xplus4_LDFLAGS = @xplus4_LDFLAGS@ -xscpu64_LDFLAGS = @xscpu64_LDFLAGS@ -xvic_LDFLAGS = @xvic_LDFLAGS@ - -# Makefile.am for `libusbsiddrv.a'. -# if HAVE_USBSID -AM_CPPFLAGS = \ - @VICE_CPPFLAGS@ \ - @ARCH_INCLUDES@ \ - -I$(top_builddir)/src \ - -I$(top_srcdir)/src \ - -I$(top_srcdir)/src/lib/libusbsiddrv - -AM_CFLAGS = @VICE_CFLAGS@ -AM_CXXFLAGS = \ - @VICE_CXXFLAGS@ \ - -Wno-unused-variable \ - -I$(top_srcdir)/src/lib/libusbsiddrv - -AM_LDFLAGS = @VICE_LDFLAGS@ -noinst_LIBRARIES = libusbsiddrv.a -USBSIDDRIVER = USBSID.o USBSIDInterface.o - -# Built depending on configure options: -EXTRA_libusbsiddrv_a_SOURCES = \ - USBSIDInterface.cpp \ - USBSID.cpp - -EXTRA_DIST = \ - USBSID.h \ - USBSIDInterface.h - - -# Always built: -# (needs to be declared empty to avoid `make` to try to build libusbsiddrv.o -# from libusbsiddrv.c) -libusbsiddrv_a_SOURCES = -noinst_HEADERS = USBSID.h USBSIDInterface.h - -# Make sure we actually link the generated object files into the library: -libusbsiddrv_a_LIBADD = $(USBSIDDRIVER) -all: all-am - -.SUFFIXES: -.SUFFIXES: .cpp .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/lib/libusbsiddrv/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/lib/libusbsiddrv/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLIBRARIES: - -$(am__rm_f) $(noinst_LIBRARIES) - -libusbsiddrv.a: $(libusbsiddrv_a_OBJECTS) $(libusbsiddrv_a_DEPENDENCIES) $(EXTRA_libusbsiddrv_a_DEPENDENCIES) - $(AM_V_at)-rm -f libusbsiddrv.a - $(AM_V_AR)$(libusbsiddrv_a_AR) libusbsiddrv.a $(libusbsiddrv_a_OBJECTS) $(libusbsiddrv_a_LIBADD) - $(AM_V_at)$(libusbsiddrv_a_RANLIB) libusbsiddrv.a - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/USBSID.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/USBSIDInterface.Po@am__quote@ # am--include-marker - -$(am__depfiles_remade): - @$(MKDIR_P) $(@D) - @: >>$@ - -am--depfiles: $(am__depfiles_remade) - -.cpp.o: -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< - -.cpp.obj: -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LIBRARIES) $(HEADERS) -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -$(am__rm_f) $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || $(am__rm_f) $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am - -distclean: distclean-am - -rm -f ./$(DEPDIR)/USBSID.Po - -rm -f ./$(DEPDIR)/USBSIDInterface.Po - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f ./$(DEPDIR)/USBSID.Po - -rm -f ./$(DEPDIR)/USBSIDInterface.Po - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ - clean-generic clean-noinstLIBRARIES cscopelist-am ctags \ - ctags-am distclean distclean-compile distclean-generic \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - -# endif HAVE_USBSID - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: - -# Tell GNU make to disable its built-in pattern rules. -%:: %,v -%:: RCS/%,v -%:: RCS/% -%:: s.% -%:: SCCS/s.% This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gp...@us...> - 2025-09-14 14:25:27
|
Revision: 45760 http://sourceforge.net/p/vice-emu/code/45760 Author: gpz Date: 2025-09-14 14:25:26 +0000 (Sun, 14 Sep 2025) Log Message: ----------- debian needs another libusb dev package apparently Modified Paths: -------------- trunk/.github/workflows/build-main-on-push.yml trunk/.github/workflows/make-release.yml Modified: trunk/.github/workflows/build-main-on-push.yml =================================================================== --- trunk/.github/workflows/build-main-on-push.yml 2025-09-14 14:09:02 UTC (rev 45759) +++ trunk/.github/workflows/build-main-on-push.yml 2025-09-14 14:25:26 UTC (rev 45760) @@ -446,6 +446,8 @@ libmpg123-dev \ libpcap-dev \ libpng-dev \ + libusb-1.0-0 \ + libusb-1.0-0-dev \ libusb-dev \ libvorbis-dev \ portaudio19-dev \ Modified: trunk/.github/workflows/make-release.yml =================================================================== --- trunk/.github/workflows/make-release.yml 2025-09-14 14:09:02 UTC (rev 45759) +++ trunk/.github/workflows/make-release.yml 2025-09-14 14:25:26 UTC (rev 45760) @@ -408,6 +408,8 @@ libmpg123-dev \ libpcap-dev \ libpng-dev \ + libusb-1.0-0 \ + libusb-1.0-0-dev \ libusb-dev \ libvorbis-dev \ portaudio19-dev \ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gp...@us...> - 2025-09-14 14:09:03
|
Revision: 45759 http://sourceforge.net/p/vice-emu/code/45759 Author: gpz Date: 2025-09-14 14:09:02 +0000 (Sun, 14 Sep 2025) Log Message: ----------- install libusb on the build vm, should enable usbsid-pico support Modified Paths: -------------- trunk/.github/workflows/build-main-on-push.yml trunk/.github/workflows/make-release.yml Modified: trunk/.github/workflows/build-main-on-push.yml =================================================================== --- trunk/.github/workflows/build-main-on-push.yml 2025-09-13 23:30:47 UTC (rev 45758) +++ trunk/.github/workflows/build-main-on-push.yml 2025-09-14 14:09:02 UTC (rev 45759) @@ -231,6 +231,7 @@ mingw-w64-${{ matrix.arch.arch }}-icoutils mingw-w64-${{ matrix.arch.arch }}-lame mingw-w64-${{ matrix.arch.arch }}-libpcap + mingw-w64-${{ matrix.arch.arch }}-libusb mingw-w64-${{ matrix.arch.arch }}-libvorbis mingw-w64-${{ matrix.arch.arch }}-mpg123 mingw-w64-${{ matrix.arch.arch }}-ntldd @@ -266,6 +267,7 @@ mingw-w64-${{ matrix.arch.arch }}-icoutils mingw-w64-${{ matrix.arch.arch }}-lame mingw-w64-${{ matrix.arch.arch }}-libpcap + mingw-w64-${{ matrix.arch.arch }}-libusb mingw-w64-${{ matrix.arch.arch }}-libvorbis mingw-w64-${{ matrix.arch.arch }}-mpg123 mingw-w64-${{ matrix.arch.arch }}-ntldd @@ -300,6 +302,7 @@ mingw-w64-${{ matrix.arch.arch }}-icoutils mingw-w64-${{ matrix.arch.arch }}-lame mingw-w64-${{ matrix.arch.arch }}-libpcap + mingw-w64-${{ matrix.arch.arch }}-libusb mingw-w64-${{ matrix.arch.arch }}-libvorbis mingw-w64-${{ matrix.arch.arch }}-mpg123 mingw-w64-${{ matrix.arch.arch }}-ntldd @@ -443,6 +446,7 @@ libmpg123-dev \ libpcap-dev \ libpng-dev \ + libusb-dev \ libvorbis-dev \ portaudio19-dev \ texinfo \ Modified: trunk/.github/workflows/make-release.yml =================================================================== --- trunk/.github/workflows/make-release.yml 2025-09-13 23:30:47 UTC (rev 45758) +++ trunk/.github/workflows/make-release.yml 2025-09-14 14:09:02 UTC (rev 45759) @@ -228,6 +228,7 @@ mingw-w64-${{ matrix.arch.arch }}-icoutils mingw-w64-${{ matrix.arch.arch }}-lame mingw-w64-${{ matrix.arch.arch }}-libpcap + mingw-w64-${{ matrix.arch.arch }}-libusb mingw-w64-${{ matrix.arch.arch }}-libvorbis mingw-w64-${{ matrix.arch.arch }}-mpg123 mingw-w64-${{ matrix.arch.arch }}-ntldd @@ -263,6 +264,7 @@ mingw-w64-${{ matrix.arch.arch }}-icoutils mingw-w64-${{ matrix.arch.arch }}-lame mingw-w64-${{ matrix.arch.arch }}-libpcap + mingw-w64-${{ matrix.arch.arch }}-libusb mingw-w64-${{ matrix.arch.arch }}-libvorbis mingw-w64-${{ matrix.arch.arch }}-mpg123 mingw-w64-${{ matrix.arch.arch }}-ntldd @@ -406,6 +408,7 @@ libmpg123-dev \ libpcap-dev \ libpng-dev \ + libusb-dev \ libvorbis-dev \ portaudio19-dev \ texinfo \ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gp...@us...> - 2025-09-13 23:30:51
|
Revision: 45758 http://sourceforge.net/p/vice-emu/code/45758 Author: gpz Date: 2025-09-13 23:30:47 +0000 (Sat, 13 Sep 2025) Log Message: ----------- added support for USBSID-Pico, based on patch(es) by LouD Modified Paths: -------------- trunk/vice/configure.ac trunk/vice/doc/vice.texi trunk/vice/src/Makefile.am trunk/vice/src/arch/gtk3/widgets/sidenginemodelwidget.c trunk/vice/src/arch/gtk3/widgets/sidsoundwidget.c trunk/vice/src/arch/sdl/menu_sid.c trunk/vice/src/arch/shared/hwsiddrv/Makefile.am trunk/vice/src/lib/Makefile.am trunk/vice/src/sid/Makefile.am trunk/vice/src/sid/parsid.c trunk/vice/src/sid/sid-cmdline-options.c trunk/vice/src/sid/sid-cmdline-options.h trunk/vice/src/sid/sid-resources.c trunk/vice/src/sid/sid-snapshot.c trunk/vice/src/sid/sid-snapshot.h trunk/vice/src/sid/sid.c trunk/vice/src/sid/sid.h trunk/vice/src/vicefeatures.c Added Paths: ----------- trunk/vice/src/arch/shared/hwsiddrv/us-unixwin-device.c trunk/vice/src/arch/shared/hwsiddrv/us-unixwin.h trunk/vice/src/arch/shared/hwsiddrv/usbsid-unixwin-drv.c trunk/vice/src/lib/libusbsiddrv/ trunk/vice/src/lib/libusbsiddrv/LICENSE trunk/vice/src/lib/libusbsiddrv/Makefile trunk/vice/src/lib/libusbsiddrv/Makefile.am trunk/vice/src/lib/libusbsiddrv/Makefile.in trunk/vice/src/lib/libusbsiddrv/README.md trunk/vice/src/lib/libusbsiddrv/USBSID.cpp trunk/vice/src/lib/libusbsiddrv/USBSID.h trunk/vice/src/lib/libusbsiddrv/USBSIDInterface.cpp trunk/vice/src/lib/libusbsiddrv/USBSIDInterface.h trunk/vice/src/sid/usbsid.c trunk/vice/src/usbsid.h Modified: trunk/vice/configure.ac =================================================================== --- trunk/vice/configure.ac 2025-09-13 11:58:55 UTC (rev 45757) +++ trunk/vice/configure.ac 2025-09-13 23:30:47 UTC (rev 45758) @@ -445,6 +445,7 @@ HAVE_FASTSID_SUPPORT="no " HAVE_FONTCONFIG_SUPPORT="no " HAVE_GIF_SUPPORT="no " +HAVE_USBSID_SUPPORT="no " HAVE_HARDSID_SUPPORT="no " HAVE_HWSCALE_SUPPORT="no " HAVE_IOSID_SUPPORT="no " @@ -789,6 +790,44 @@ AM_CONDITIONAL(HAVE_CATWEASELMKIII, true) HAVE_CATWEASELMKIII_SUPPORT="yes" fi + + dnl check for usbsid required libraries and headers + if test x"$enable_usbsid" != "xno" ; then + PKG_PROG_PKG_CONFIG + WIN32_USBSID_HEADER_PRESENT=yes + AC_CHECK_HEADERS(libusb-1.0/libusb.h,,[WIN32_USBSID_HEADER_PRESENT=no],) + if test x"$WIN32_USBSID_HEADER_PRESENT" = "xyes"; then + AC_CHECK_LIB(usb-1.0, libusb_init,[LIBS="-lusb-1.0 $LIBS"; USBSID_LIB_PRESENT=yes],,) + if test x"$PKG_CONFIG" != "x" -a x"$USBSID_LIB_PRESENT" = "xyes"; then + PKG_CHECK_MODULES(LIBUSB, [libusb-1.0], HAVE_LIBUSB_SUPPORT="yes") + AC_MSG_CHECKING([for pkgconfig libusb-1.0]) + if test x"$HAVE_LIBUSB_SUPPORT" = "xyes"; then + VICE_CFLAGS="$VICE_CFLAGS $LIBUSB_CFLAGS"; + VICE_CPPFLAGS="$VICE_CPPFLAGS $LIBUSB_CFLAGS"; + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi + fi + fi + fi + + dnl usbsid support + AM_CONDITIONAL(HAVE_USBSID, false) + AC_MSG_CHECKING([for USBSID-Pico support]) + if test x"$enable_usbsid" != "xno" ; then + if test x"$HAVE_LIBUSB_SUPPORT" = "xyes"; then + AC_DEFINE([HAVE_USBSID],,[Support for USBSID]) + HAVE_USBSID_SUPPORT="yes" + AM_CONDITIONAL(HAVE_USBSID, true) + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no (LIBUSB not found)]) + fi + else + AC_MSG_RESULT([no (USBSID-Pico disabled)]) + fi + if test x"$enable_hardsid" != "xno"; then AC_DEFINE(HAVE_HARDSID,,[Support for HardSID.]) HAVE_HARDSID_SUPPORT="yes" @@ -2761,7 +2800,7 @@ AC_SUBST(SOUND_DRIVERS) AC_SUBST(SOUND_LIBS) -dnl Check for ParSID/HardSID/CW support +dnl Check for ParSID/USBSID/HardSID/CW support if test x"$is_unix" = "xyes"; then dnl Check cpu first @@ -2914,6 +2953,44 @@ fi fi + + dnl usbsid required libraries and headers + if test x"$enable_usbsid" != "xno" ; then + PKG_PROG_PKG_CONFIG + UNIX_USBSID_HEADER_PRESENT=yes + AC_CHECK_HEADERS(libusb-1.0/libusb.h,,[UNIX_USBSID_HEADER_PRESENT=no],) + if test x"$UNIX_USBSID_HEADER_PRESENT" = "xyes"; then + AC_CHECK_LIB(usb-1.0, libusb_init,[LIBS="-lusb-1.0 $LIBS"; USBSID_LIB_PRESENT=yes],,) + if test x"$PKG_CONFIG" != "x" -a x"$USBSID_LIB_PRESENT" = "xyes"; then + PKG_CHECK_MODULES(LIBUSB, [libusb-1.0], HAVE_LIBUSB_SUPPORT="yes") + AC_MSG_CHECKING([for pkgconfig libusb-1.0]) + if test x"$HAVE_LIBUSB_SUPPORT" = "xyes"; then + VICE_CFLAGS="$VICE_CFLAGS $LIBUSB_CFLAGS"; + VICE_CPPFLAGS="$VICE_CPPFLAGS $LIBUSB_CFLAGS"; + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi + fi + fi + fi + + dnl usbsid support + AM_CONDITIONAL(HAVE_USBSID, false) + AC_MSG_CHECKING([for USBSID-Pico support]) + if test x"$enable_usbsid" != "xno" ; then + if test x"$HAVE_LIBUSB_SUPPORT" = "xyes"; then + AC_DEFINE([HAVE_USBSID],,[Support for USBSID]) + HAVE_USBSID_SUPPORT="yes" + AM_CONDITIONAL(HAVE_USBSID, true) + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no (LIBUSB not found!!)]) + fi + else + AC_MSG_RESULT([no (USBSID-Pico disabled)]) + fi + fi AC_TYPE_SIGNAL @@ -3455,6 +3532,7 @@ src/lib/Makefile src/lib/p64/Makefile src/lib/linenoise-ng/Makefile + src/lib/libusbsiddrv/Makefile src/lib/libzmbv/Makefile src/lib/md5/Makefile src/monitor/Makefile @@ -3613,6 +3691,7 @@ if test x"$real_arch" = "xUnix" -o x"$real_arch" = "xOSX" -o x"$real_arch" = "xWin32"; then echo "MIDI support : $HAVE_MIDI_SUPPORT (--enable/disable-midi)" + echo "USBSID-Pico support : $HAVE_USBSID_SUPPORT" fi if test x"$real_arch" != "xOSX" -a x"$real_arch" != "xBeOS"; then Modified: trunk/vice/doc/vice.texi =================================================================== --- trunk/vice/doc/vice.texi 2025-09-13 11:58:55 UTC (rev 45757) +++ trunk/vice/doc/vice.texi 2025-09-13 23:30:47 UTC (rev 45758) @@ -12311,7 +12311,7 @@ @vindex SidEngine @item SidEngine Integer specifying what SID engine will be used. -(0: FastSID, 1: ReSID, 2: Catweasel MKIII, 3: HardSID, 4: ParSID Port 1, 5: ParSID Port 2, 6: ParSID Port 3) +(0: FastSID, 1: ReSID, 2: Catweasel MKIII, 3: HardSID, 4: ParSID Port 1, 5: ParSID Port 2, 6: ParSID Port 3, 7: USBSID-Pico) @vindex SidResidSampling @item SidResidSampling @@ -12352,6 +12352,37 @@ not downsampled - audio data is written to a file called resid.raw in the current working directory. +@vindex SidUSBSIDReadMode +@item SidUSBSIDReadMode +Boolean specifying whether to enable USBSID-Pico read mode. When enabled, this +mode allows for reading from SID registers that provides a means to configure an +FPGASID that is seated on USBSID-Pico. This mode is not suited for regular audio +use as it disables cycle exact writing & digiplay. +Default is (@code{SidUSBSIDReadMode=0}) for off, (@code{SidUSBSIDReadMode=1}) for on. + +@vindex SidUSBSIDAudioMode +@item SidUSBSIDAudioMode +Boolean to enable USBSID-Pico PCB (v1.3) stereo audio mode. When enabled the audio of SID socket 1 +will be output over the left audio channel and the audio of SID socket 2 over the right channel +of USBSID-Pico's audio out. +Default is (@code{SidUSBSIDAudioMode=0}) for Mono, (@code{SidUSBSIDAudioMode=1}) for Stereo. + +@vindex SidUSBSIDDiffSize +@item SidUSBSIDDiffSize +Integer specifying the minimal difference (must be a number divisable by 8) in bytes to +use between the head and tail of the drivers ringbuffer, this allows for some audio +quality tuning on slower systems. +In most cases the default value of 64 bytes (also the size of a USB packet) is the +right setting for best audio quality. (@code{SidUSBSIDDiffSize=32-256}). + +@vindex SidUSBSIDBufferSize +@item SidUSBSIDBufferSize +Integer specifying the size in bytes to use as ringbuffer to store temporary data when sending +SID writes to USBSID-Pico (must be a number divisable by 8), this allows for some audio quality +tuning on slower systems. +In most cases the default value of 8192 bytes is the right setting for best audio quality. +(@code{SidUSBSIDBufferSize=512-16384}). + @end table @@ -12498,14 +12529,15 @@ Catweasel MKIII: 512/catweaselmkiii/catweasel3/catweasel/cwmkiii/cw3/cw, HardSID: 768/hardsid/hard/hs, ParSID Port 1: 1024/parsid/parsid1/par1/lpt1, -ParSID Port 2: 1280/parsid2/par2/lpt2 -ParSID Port 3: 1536/parsid3/par3/lpt3) +ParSID Port 2: 1280/parsid2/par2/lpt2, +ParSID Port 3: 1536/parsid3/par3/lpt3, +USBSID-Pico: 1792/usbsid/usbs/us) @findex -sidengine @item -sidengine <engine> Specify engine for the emulated SID chip (@code{SidEngine}). -(FastSID: 0, ReSID: 1, DTVSID: 2, HardSID: 3, ParSID Port 1: 4, ParSID Port 2: 5, ParSID Port 3: 6) +(FastSID: 0, ReSID: 1, DTVSID: 2, HardSID: 3, ParSID Port 1: 4, ParSID Port 2: 5, ParSID Port 3: 6, USBSID-Pico: 7) @findex -sidmodel @item -sidmodel <model> @@ -12558,6 +12590,35 @@ not downsampled - audio data is written to a file called resid.raw in the current working directory. +@findex -usreadmode +@item -usreadmode <0 or 1> +Enable USBSID-Pico read mode. When enabled, this mode allows for reading from SID + registers that provides a means to configure an FPGASID that is seated on USBSID-Pico. + This mode is not suited for regular audio use as it disables cycle exact writing & digiplay. + Default is (@code{SidUSBSIDReadMode=0}) for off, (@code{SidUSBSIDReadMode=1}) for on. + +@findex -usaudiomode +@item -usaudiomode <0 or 1> +Set USBSID-Pico PCB (v1.3) audio mode to Stereo or Mono. When enabled the audio of SID socket 1 + will be output over the left audio channel and the audio of SID socket 2 over the right channel + of USBSID-Pico's audio out. + Default is (@code{SidUSBSIDAudioMode=0}) for Mono, (@code{SidUSBSIDAudioMode=1}) for Stereo. + +@findex -usdiffsize +@item -usdiffsize <number divisable by 8> +Specifies the minimal difference in bytes to use between the head and tail of the + drivers ringbuffer, this allows for some audio quality tuning on slower systems. + In most cases the default value of 64 bytes (also the size of a USB packet) is the + right setting for best audio quality. + (@code{SidUSBSIDDiffSize=32-256}). + +@findex -usbuffsize +@item -usbuffsize <number divisable by 8> +Specifies the size in bytes to use as ringbuffer to store temporary data when sending + SID writes to USBSID-Pico, this allows for some audio quality tuning on slower systems. + In most cases the default value of 8192 bytes is the right setting for best audio quality. + (@code{SidUSBSIDBufferSize=512-16384}). + @end table @@ -37493,6 +37554,10 @@ @b{Bjoern Odendahl} Created the new VICE logo and volunteered to create new icons. +@item +@b{LouD} +Added USBSID-Pico hardware SID support. + @end itemize (We hope we have not forgotten anybody; if you think we have, Modified: trunk/vice/src/Makefile.am =================================================================== --- trunk/vice/src/Makefile.am 2025-09-13 11:58:55 UTC (rev 45757) +++ trunk/vice/src/Makefile.am 2025-09-13 23:30:47 UTC (rev 45758) @@ -268,6 +268,7 @@ uicmdline.h \ uicolor.h \ uimon.h \ + usbsid.h \ util.h \ version.h.in \ version.h \ @@ -569,6 +570,9 @@ if !USE_HEADLESSUI hotkeys_lib = $(top_builddir)/src/arch/shared/hotkeys/libhotkeys.a endif +if HAVE_USBSID +usbsiddrv_lib = $(top_builddir)/src/lib/libusbsiddrv/libusbsiddrv.a +endif hwsiddrv_lib = $(top_builddir)/src/arch/shared/hwsiddrv/libhwsiddrv.a hvsc_lib = $(top_builddir)/src/hvsc/libhvsc.a iecbus_lib = $(top_builddir)/src/iecbus/libiecbus.a @@ -630,6 +634,10 @@ driver_libs = $(joyport_lib) $(samplerdrv_lib) $(sounddrv_lib) $(mididrv_lib) $(socketdrv_lib) $(hwsiddrv_lib) $(gfxoutputdrv_lib) $(printerdrv_lib) $(diskimage_lib) $(fsdevice_lib) $(tape_lib) $(fileio_lib) $(serial_lib) $(core_lib) +if HAVE_USBSID +driver_libs += $(usbsiddrv_lib) +endif + if SUPPORT_X64 x64_bin = x64 else @@ -669,6 +677,10 @@ $(vsidstubs_lib) \ $(md5_lib) +if HAVE_USBSID +vsid_libs += $(usbsiddrv_lib) +endif + vsid_SOURCES = $(base_sources) $(midi_sources) vsid_LDADD = $(vsid_libs) $(emu_extlibs) @TFE_LIBS@ @NETPLAY_LIBS@ $(VSID_RES) @@ -1503,6 +1515,11 @@ $(hvsc_lib): @echo "making all in hvsc" @(cd hvsc && $(MAKE)) +if HAVE_USBSID +$(usbsiddrv_lib): + @echo "making all in lib/libusbsiddrv" + @(cd lib/libusbsiddrv && $(MAKE)) +endif $(hwsiddrv_lib): @echo "making all in arch/shared/hwsiddrv" @(cd arch/shared/hwsiddrv && $(MAKE)) Modified: trunk/vice/src/arch/gtk3/widgets/sidenginemodelwidget.c =================================================================== --- trunk/vice/src/arch/gtk3/widgets/sidenginemodelwidget.c 2025-09-13 11:58:55 UTC (rev 45757) +++ trunk/vice/src/arch/gtk3/widgets/sidenginemodelwidget.c 2025-09-13 23:30:47 UTC (rev 45758) @@ -122,7 +122,6 @@ list = sid_get_engine_model_list(); for (i = 0; list[i] != NULL; i++) { GtkWidget *radio; - radio = gtk_radio_button_new_with_label(group, list[i]->name); gtk_radio_button_join_group(GTK_RADIO_BUTTON(radio), GTK_RADIO_BUTTON(last)); Modified: trunk/vice/src/arch/gtk3/widgets/sidsoundwidget.c =================================================================== --- trunk/vice/src/arch/gtk3/widgets/sidsoundwidget.c 2025-09-13 11:58:55 UTC (rev 45757) +++ trunk/vice/src/arch/gtk3/widgets/sidsoundwidget.c 2025-09-13 23:30:47 UTC (rev 45758) @@ -39,6 +39,12 @@ * $VICERES Sid2AddressStart all * $VICERES Sid3AddressStart all * + * These are related to USBSID + * $VICERES SidUSBSIDReadMode all + * $VICERES SidUSBSIDAudioMode all + * $VICERES SidUSBSIDDiffSize all + * $VICERES SidUSBSIDBufferSize all + * * Until PSID files support more than three SIDs, these will be -vsid: * $VICERES Sid4AddressStart -vsid * $VICERES Sid5AddressStart -vsid @@ -133,6 +139,30 @@ }; #endif +#ifdef HAVE_USBSID +/** \brief Values for the "SidUSBSIDDiffSize" resource + */ +static const vice_gtk3_radiogroup_entry_t us_diffsizes_radio[] = { + { "32", 32 }, + { "64", 64 }, + { "128", 128 }, + { "256", 256 }, + { NULL, -1 } +}; + +/** \brief Values for the "SidUSBSIDBufferSize" resource + */ +static const vice_gtk3_radiogroup_entry_t us_buffsizes_radio[] = { + { "512", 512 }, + { "1024", 1024 }, + { "2048", 2048 }, + { "4092", 4092 }, + { "8192", 8192 }, + { "16384", 16384 }, + { NULL, -1 } +}; +#endif + /** \brief I/O addresses for extra SID's for the C64 */ static int sid_addr_list_c64[] = { /*N/A*/ 0xd420, 0xd440, 0xd460, 0xd480, 0xd4a0, 0xd4c0, 0xd4e0, @@ -168,6 +198,15 @@ static GtkWidget *resid_8580_grid; #endif +#ifdef HAVE_USBSID +/** \brief USBSID read mode / audio mode checkbox */ +static GtkWidget *us_switches; +/** \brief USBSID diffsizes radio buttons */ +static GtkWidget *us_diffsizes; +/** \brief USBSID buffsizes radio buttons */ +static GtkWidget *us_buffsizes; +#endif + /** \brief Number of extra SIDs widget */ static GtkWidget *num_sids_widget; @@ -274,6 +313,83 @@ } #endif +#ifdef HAVE_USBSID +/** \brief Create widget to control USBSID switches + * + * \return GtkGrid + */ +static GtkWidget *create_us_switches_widget(void) +{ + GtkWidget *grid; + GtkWidget *label; + GtkWidget *us_readmode; + GtkWidget *us_audiomode; + + grid = gtk_grid_new(); + gtk_grid_set_row_spacing(GTK_GRID(grid), 8); + + label = label_helper("<b>USBSID options</b>"); + us_readmode = vice_gtk3_resource_check_button_new("SidUSBSIDReadMode", + "Enable read mode"); + us_audiomode = vice_gtk3_resource_check_button_new("SidUSBSIDAudioMode", + "Enable stereo mode"); + + gtk_grid_attach(GTK_GRID(grid), label, 0, 0, 1, 1); + gtk_grid_attach(GTK_GRID(grid), us_readmode, 0, 1, 1, 1); + gtk_grid_attach(GTK_GRID(grid), us_audiomode, 0, 2, 1, 1); + gtk_widget_show_all(grid); + return grid; +} + +/** \brief Create widget to control USBSID buffer diff + * + * \return GtkGrid + */ +static GtkWidget *create_us_diffsizes_widget(void) +{ + GtkWidget *grid; + GtkWidget *label; + GtkWidget *group; + + grid = gtk_grid_new(); + gtk_grid_set_row_spacing(GTK_GRID(grid), 8); + + label = label_helper("<b>USBSID buffer diff</b>"); + group = vice_gtk3_resource_radiogroup_new("SidUSBSIDDiffSize", + us_diffsizes_radio, + GTK_ORIENTATION_VERTICAL); + + gtk_grid_attach(GTK_GRID(grid), label, 0, 0, 1, 1); + gtk_grid_attach(GTK_GRID(grid), group, 0, 1, 1, 1); + gtk_widget_show_all(grid); + return grid; +} + +/** \brief Create widget to control USBSID buffer size + * + * \return GtkGrid + */ +static GtkWidget *create_us_buffsizes_widget(void) +{ + GtkWidget *grid; + GtkWidget *label; + GtkWidget *group; + + grid = gtk_grid_new(); + gtk_grid_set_row_spacing(GTK_GRID(grid), 8); + + label = label_helper("<b>USBSID buffer size</b>"); + group = vice_gtk3_resource_radiogroup_new("SidUSBSIDBufferSize", + us_buffsizes_radio, + GTK_ORIENTATION_VERTICAL); + + gtk_grid_attach(GTK_GRID(grid), label, 0, 0, 1, 1); + gtk_grid_attach(GTK_GRID(grid), group, 0, 1, 1, 1); + gtk_widget_show_all(grid); + return grid; +} +#endif + /** \brief Create widget to set the number of emulated SID's * * \return GtkGrid @@ -551,6 +667,22 @@ } #endif +/* FIXME: HardSID options are missing */ + +#ifdef HAVE_USBSID + us_switches = create_us_switches_widget(); + us_diffsizes = create_us_diffsizes_widget(); + us_buffsizes = create_us_buffsizes_widget(); + + gtk_grid_attach(GTK_GRID(grid), us_switches, 0, row + 3, 1, 1); + gtk_grid_attach(GTK_GRID(grid), us_diffsizes, 1, row + 3, 1, 1); + gtk_grid_attach(GTK_GRID(grid), us_buffsizes, 2, row + 3, 1, 1); + + gtk_widget_set_sensitive(us_switches, current_engine == SID_ENGINE_USBSID); + gtk_widget_set_sensitive(us_diffsizes, current_engine == SID_ENGINE_USBSID); + gtk_widget_set_sensitive(us_buffsizes, current_engine == SID_ENGINE_USBSID); +#endif + if (machine_class != VICE_MACHINE_PLUS4 && machine_class != VICE_MACHINE_CBM5x0 && machine_class != VICE_MACHINE_CBM6x0) { Modified: trunk/vice/src/arch/sdl/menu_sid.c =================================================================== --- trunk/vice/src/arch/sdl/menu_sid.c 2025-09-13 11:58:55 UTC (rev 45757) +++ trunk/vice/src/arch/sdl/menu_sid.c 2025-09-13 23:30:47 UTC (rev 45758) @@ -169,6 +169,94 @@ #endif /* HAVE_RESID */ +#ifdef HAVE_USBSID +UI_MENU_DEFINE_TOGGLE(SidUSBSIDReadMode) +UI_MENU_DEFINE_TOGGLE(SidUSBSIDAudioMode) +UI_MENU_DEFINE_RADIO(SidUSBSIDDiffSize) +UI_MENU_DEFINE_RADIO(SidUSBSIDBufferSize) + +static const ui_menu_entry_t us_diffsize_menu[] = { + { .string = "32", + .type = MENU_ENTRY_RESOURCE_RADIO, + .callback = radio_SidUSBSIDDiffSize_callback, + .data = (ui_callback_data_t)32 + }, + { .string = "64", + .type = MENU_ENTRY_RESOURCE_RADIO, + .callback = radio_SidUSBSIDDiffSize_callback, + .data = (ui_callback_data_t)64 + }, + { .string = "128", + .type = MENU_ENTRY_RESOURCE_RADIO, + .callback = radio_SidUSBSIDDiffSize_callback, + .data = (ui_callback_data_t)128 + }, + { .string = "256", + .type = MENU_ENTRY_RESOURCE_RADIO, + .callback = radio_SidUSBSIDDiffSize_callback, + .data = (ui_callback_data_t)256 + }, + SDL_MENU_LIST_END +}; + +static const ui_menu_entry_t us_buffsize_menu[] = { + { .string = "512", + .type = MENU_ENTRY_RESOURCE_RADIO, + .callback = radio_SidUSBSIDBufferSize_callback, + .data = (ui_callback_data_t)512 + }, + { .string = "1024", + .type = MENU_ENTRY_RESOURCE_RADIO, + .callback = radio_SidUSBSIDBufferSize_callback, + .data = (ui_callback_data_t)1024 + }, + { .string = "2048", + .type = MENU_ENTRY_RESOURCE_RADIO, + .callback = radio_SidUSBSIDBufferSize_callback, + .data = (ui_callback_data_t)2048 + }, + { .string = "4096", + .type = MENU_ENTRY_RESOURCE_RADIO, + .callback = radio_SidUSBSIDBufferSize_callback, + .data = (ui_callback_data_t)4096 + }, + { .string = "8192", + .type = MENU_ENTRY_RESOURCE_RADIO, + .callback = radio_SidUSBSIDBufferSize_callback, + .data = (ui_callback_data_t)8192 + }, + { .string = "16384", + .type = MENU_ENTRY_RESOURCE_RADIO, + .callback = radio_SidUSBSIDBufferSize_callback, + .data = (ui_callback_data_t)16384 + }, + SDL_MENU_LIST_END +}; + +# define VICE_SDL_USBSID_OPTIONS \ + { .string = "USBSID enable stereo audio mode", \ + .type = MENU_ENTRY_RESOURCE_TOGGLE, \ + .callback = toggle_SidUSBSIDAudioMode_callback \ + }, \ + { .string = "USBSID enable read mode", \ + .type = MENU_ENTRY_RESOURCE_TOGGLE, \ + .callback = toggle_SidUSBSIDReadMode_callback \ + }, \ + { .string = "USBSID buffer size", \ + .type = MENU_ENTRY_SUBMENU, \ + .callback = submenu_radio_callback, \ + .data = (ui_callback_data_t)us_buffsize_menu \ + }, \ + { .string = "USBSID diff size", \ + .type = MENU_ENTRY_SUBMENU, \ + .callback = submenu_radio_callback, \ + .data = (ui_callback_data_t)us_diffsize_menu \ + }, \ + + +#endif /* HAVE_USBSID */ + + UI_MENU_DEFINE_TOGGLE(SidFilters) UI_MENU_DEFINE_RADIO(SidStereo) UI_MENU_DEFINE_RADIO(Sid2AddressStart) @@ -681,6 +769,9 @@ #ifdef HAVE_RESID VICE_SDL_RESID_OPTIONS #endif +#ifdef HAVE_USBSID + VICE_SDL_USBSID_OPTIONS +#endif SDL_MENU_LIST_END }; @@ -736,6 +827,9 @@ #ifdef HAVE_RESID VICE_SDL_RESID_OPTIONS #endif +#ifdef HAVE_USBSID + VICE_SDL_USBSID_OPTIONS +#endif SDL_MENU_LIST_END }; @@ -751,6 +845,9 @@ #ifdef HAVE_RESID VICE_SDL_RESID_OPTIONS #endif +#ifdef HAVE_USBSID + VICE_SDL_USBSID_OPTIONS +#endif SDL_MENU_LIST_END }; @@ -766,6 +863,9 @@ #ifdef HAVE_RESID VICE_SDL_RESID_OPTIONS #endif +#ifdef HAVE_USBSID + VICE_SDL_USBSID_OPTIONS +#endif SDL_MENU_LIST_END }; @@ -789,6 +889,9 @@ #ifdef HAVE_RESID VICE_SDL_RESID_OPTIONS #endif +#ifdef HAVE_USBSID + VICE_SDL_USBSID_OPTIONS +#endif SDL_MENU_ITEM_SEPARATOR, SDL_MENU_ITEM_TITLE("SID address"), { .string = "$9800", @@ -833,6 +936,9 @@ #ifdef HAVE_RESID VICE_SDL_RESID_OPTIONS #endif +#ifdef HAVE_USBSID + VICE_SDL_USBSID_OPTIONS +#endif SDL_MENU_ITEM_SEPARATOR, SDL_MENU_ITEM_TITLE("SID address"), { .string = "$8F00", @@ -879,6 +985,9 @@ #ifdef HAVE_RESID VICE_SDL_RESID_OPTIONS #endif +#ifdef HAVE_USBSID + VICE_SDL_USBSID_OPTIONS +#endif SDL_MENU_ITEM_SEPARATOR, SDL_MENU_ITEM_TITLE("SID address"), Modified: trunk/vice/src/arch/shared/hwsiddrv/Makefile.am =================================================================== --- trunk/vice/src/arch/shared/hwsiddrv/Makefile.am 2025-09-13 11:58:55 UTC (rev 45757) +++ trunk/vice/src/arch/shared/hwsiddrv/Makefile.am 2025-09-13 23:30:47 UTC (rev 45758) @@ -16,6 +16,12 @@ AM_LDFLAGS = @VICE_LDFLAGS@ +# TESTING +if HAVE_USBSID +AM_CPPFLAGS += -I$(top_srcdir)/src/lib/libusbsiddrv +AM_CXXFLAGS += -I$(top_srcdir)/src/lib/libusbsiddrv +AM_LDFLAGS += -I$(top_srcdir)/src/lib/libusbsiddrv +endif noinst_LIBRARIES = libhwsiddrv.a @@ -38,6 +44,11 @@ parsid-win32-drv.o \ ps-ieee1284.o endif HAVE_PARSID +if HAVE_USBSID +HWSIDDRIVERS += \ + usbsid-unixwin-drv.o \ + us-unixwin-device.o +endif HAVE_USBSID endif WINDOWS_COMPILE if BEOS_COMPILE @@ -64,6 +75,11 @@ ps-ieee1284.o \ ps-unix-file.o endif HAVE_PARSID +if HAVE_USBSID +HWSIDDRIVERS += \ + usbsid-unixwin-drv.o \ + us-unixwin-device.o +endif HAVE_USBSID endif UNIX_COMPILE @@ -80,7 +96,9 @@ parsid-unix-drv.c \ parsid-win32-drv.c \ ps-ieee1284.c \ - ps-unix-file.c + ps-unix-file.c \ + usbsid-unixwin-drv.c \ + us-unixwin-device.c EXTRA_DIST = \ cw-unix.h \ @@ -88,7 +106,8 @@ hs-unix.h \ hs-win32.h \ ps-unix.h \ - ps-win32.h + ps-win32.h \ + us-unixwin.h # Always built: # (needs to be declared empty to avoid `make` to try to build libhwsiddrv.o Added: trunk/vice/src/arch/shared/hwsiddrv/us-unixwin-device.c =================================================================== --- trunk/vice/src/arch/shared/hwsiddrv/us-unixwin-device.c (rev 0) +++ trunk/vice/src/arch/shared/hwsiddrv/us-unixwin-device.c 2025-09-13 23:30:47 UTC (rev 45758) @@ -0,0 +1,330 @@ +/* + * us-unixwin-device.c + * + * Written by + * LouDnl <vi...@ma...> + * + * Based on vice code written by + * Simon White <sid...@ya...> + * Marco van den Heuvel <bla...@ya...> + * + * This file is part of VICE, modified from the other hardware sid sources. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + * 02111-1307 USA. + * + */ + +#include "vice.h" + +#if defined(HAVE_USBSID) + +#include <fcntl.h> +#include <unistd.h> +#include <stdio.h> +#include <stdint.h> +#include <errno.h> +#include <stdlib.h> +#include <string.h> +#include <sys/time.h> /* TIMESPEC */ +#include <time.h> /* TIMESPEC */ + +#include "alarm.h" +#include "us-unixwin.h" +#include "usbsid.h" +#include "log.h" +#include "maincpu.h" +#include "machine.h" +#include "resources.h" +#include "sid-resources.h" +#include "types.h" + +#include "USBSIDInterface.h" + +static int rc = -1, sids_found = -1, no_sids = -1; +static int r_audiomode = -1, audiomode = -1; +static int r_readmode = -1, readmode = -1; +static int buffsize = -1, diffsize = -1; +static int r_buffsize = -1, r_diffsize = -1; +const int d_buffsize = 8192, d_diffsize = 64; +static uint8_t sid_registers[0x20 * US_MAXSID]; +static int usid_chipno = -1; + +static CLOCK usid_main_clk; +static CLOCK usid_alarm_clk; +static alarm_t *usid_alarm = NULL; +static long raster_rate; + +static log_t usbsid_log = LOG_DEFAULT; + +/* pre declarations */ +static void usbsid_alarm_handler(CLOCK offset, void *data); + +USBSIDitf usbsid; + +void us_device_reset(bool us_reset) +{ + if (sids_found > 0) { + raster_rate = getrasterrate_USBSID(usbsid); + usid_main_clk = maincpu_clk; + usid_alarm_clk = raster_rate; + alarm_set(usid_alarm, (usid_main_clk + raster_rate)); + if (us_reset) { + reset_USBSID(usbsid); + log_message(usbsid_log, "Reset sent"); + } + no_sids = -1; + log_message(usbsid_log, "Clocks reset"); + } + return; +} + +int us_device_open(void) +{ + usbsid_log = log_open("USBSID"); + + if (!sids_found) { + return -1; + } + + if (sids_found > 0) { + return sids_found; + } + + sids_found = 0; + + log_message(usbsid_log, "Detecting boards"); + + if (usbsid == NULL) { + usbsid = create_USBSID(); + if (usbsid) { + /* Gather settings from resources */ + resources_get_int("SidUSBSIDReadMode", &r_readmode); + resources_get_int("SidUSBSIDAudioMode", &r_audiomode); + resources_get_int("SidUSBSIDDiffSize", &r_readmode); + resources_get_int("SidUSBSIDBufferSize", &r_diffsize); + /* Apply settings to local variables */ + readmode = r_readmode; + audiomode = r_audiomode; + diffsize = r_diffsize; + buffsize = r_buffsize; + /* Update diff and buff size if needed */ + if (diffsize >= 16) { + setdiffsize_USBSID(usbsid, diffsize); + } + if (buffsize >= 256) { + setbuffsize_USBSID(usbsid, buffsize); + } + } + + if (readmode == 1) { + rc = init_USBSID(usbsid, false, false); /* threading and cycles disabled */ + if (rc >= 0) { + log_message(usbsid_log, "Starting in read mode"); + } + } else { /* (readmode == 0 || readmode == -1) */ + /* NOTICE: Digitunes only play with threaded cycles */ + rc = init_USBSID(usbsid, true, true); /* threading and cycles enabled */ + if (rc >= 0) { + log_message(usbsid_log, "Starting in normal mode"); + } + } + if (rc < 0) { + return rc; + } + } + + log_message(usbsid_log, "Set audio mode to %s", (audiomode == 1 ? "Stereo" : "Mono")); + setstereo_USBSID(usbsid, (audiomode == 1 ? audiomode : 0)); + + usid_alarm = alarm_new(maincpu_alarm_context, "usbsid", usbsid_alarm_handler, NULL); + sids_found = getnumsids_USBSID(usbsid); + no_sids = 0; + log_message(usbsid_log, "Alarm set, reset sids"); + us_device_reset(false); /* No reset on init! */ + log_message(usbsid_log, "Opened"); + + return rc; +} + +int us_device_close(void) +{ + log_message(usbsid_log, "Start device closing"); + if (usbsid) { + mute_USBSID(usbsid); + close_USBSID(usbsid); + } + + /* Clean up vars */ + alarm_destroy(usid_alarm); + usid_alarm = 0; + sids_found = -1; + no_sids = -1; + rc = -1; + usbsid = NULL; + log_message(usbsid_log, "Closed"); + return 0; +} + +int us_device_read(uint16_t addr, int chipno) +{ /* NOTICE: Disabled, unneeded */ + if (chipno < US_MAXSID) { + addr = ((addr & 0x1F) + (chipno * 0x20)); + if (readmode == 1) { + sid_registers[addr] = read_USBSID(usbsid, addr); + } + usid_chipno = chipno; + return sid_registers[addr]; + } + usid_chipno = -1; + return 0x0; +} + +CLOCK us_delay(void) +{ /* ISSUE: This should return an unsigned 64 bit integer but that makes vice stall indefinately on negative integers */ + if (maincpu_clk < usid_main_clk) { /* Sync reset */ + usid_main_clk = maincpu_clk; + return 0; + } + /* Without substracting 1 cycle this + * can cause a clicking noise in cycle exact tunes + * create audible skips in digitunes like Sky Buster */ + CLOCK cycles = maincpu_clk - usid_main_clk - 1; + while (cycles > 0xffff) { + cycles -= 0xffff; + } + usid_main_clk = maincpu_clk; + return cycles; +} + +void us_device_store(uint16_t addr, uint8_t val, int chipno) /* max chipno = 1 */ +{ + if (chipno < US_MAXSID) { /* remove 0x20 address limitation */ + addr = ((addr & 0x1F) + (chipno * 0x20)); + if (readmode == 0) { + CLOCK cycles = us_delay(); + writeringcycled_USBSID(usbsid, addr, val, (uint16_t)cycles); + } else if (readmode == 1) { + write_USBSID(usbsid, addr, val); + } + usid_chipno = chipno; + sid_registers[addr] = val; + return; + } + usid_chipno = -1; + return; +} + +void us_set_machine_parameter(long cycles_per_sec) +{ + setclockrate_USBSID(usbsid, cycles_per_sec, true); + raster_rate = getrasterrate_USBSID(usbsid); + log_message(usbsid_log, "Clockspeed set to: %ld and rasterrate set to: %ld", cycles_per_sec, raster_rate); + return; +} + +unsigned int us_device_available(void) +{ + log_message(usbsid_log, "%d SIDs available", sids_found); + return sids_found; +} + +void us_set_readmode(int val) +{ + resources_get_int("SidUSBSIDReadMode", &r_readmode); + if (readmode != val) { + log_message(usbsid_log, "Set read mode from %d to %d (resource: %d)", readmode, val, r_readmode); + readmode = val; + if (val == 0) { + enablethread_USBSID(usbsid); + } + if (val == 1) { + disablethread_USBSID(usbsid); + } + } + return; +} + +void us_set_audiomode(int val) +{ /* Gets set by x64sc from SID settings and by VSID at SID file change */ + resources_get_int("SidUSBSIDAudioMode", &r_audiomode); + log_message(usbsid_log, "Audio mode is '%s' (resource:%d val:%d)", (r_audiomode == 1 ? "Stereo" : "Mono"), r_audiomode, val); + audiomode = r_audiomode; + + setstereo_USBSID(usbsid, audiomode); +} + +void us_restart_ringbuffer(void) +{ /* Restarts the ringbuffer with a new value */ + if (buffsize != d_buffsize) { + log_message(usbsid_log, "Restarting ringbuffer with buffer size:%d & diff size:%d", buffsize, diffsize); + restartringbuffer_USBSID(usbsid); + } +} + +void us_set_buffsize(int val) +{ /* Set the ringbuffer size */ + resources_get_int("SidUSBSIDBufferSize", &r_buffsize); + buffsize = r_buffsize; + if (r_buffsize != d_buffsize) { + log_message(usbsid_log, "Setting ringbuffer size to: %d (val:%d default:%d)", buffsize, val, d_buffsize); + setbuffsize_USBSID(usbsid, buffsize); + us_restart_ringbuffer(); + } +} + +void us_set_diffsize(int val) +{ /* Set the ringbuffer head to tail difference size */ + resources_get_int("SidUSBSIDDiffSize", &r_diffsize); + diffsize = r_diffsize; + if (r_diffsize != d_diffsize) { + log_message(usbsid_log, "Setting ringbuffer diff size to: %d (val:%d default:%d)", diffsize, val, d_diffsize); + setdiffsize_USBSID(usbsid, diffsize); + } + +} + +static void usbsid_alarm_handler(CLOCK offset, void *data) +{ + CLOCK cycles = (usid_alarm_clk + offset) - usid_main_clk; + + if (cycles < raster_rate) { + usid_alarm_clk = usid_main_clk + raster_rate; + } else { + setflush_USBSID(usbsid); + usid_main_clk = maincpu_clk - offset; + usid_alarm_clk = usid_main_clk + raster_rate; + } + alarm_set(usid_alarm, usid_alarm_clk); + return; +} + +/* ---------------------------------------------------------------------*/ + +void us_device_state_read(int chipno, struct sid_us_snapshot_state_s *sid_state) +{ + sid_state->usid_main_clk = usid_main_clk; + sid_state->usid_alarm_clk = usid_alarm_clk; + sid_state->lastaccess_chipno = usid_chipno; +} + +void us_device_state_write(int chipno, struct sid_us_snapshot_state_s *sid_state) +{ + usid_main_clk = sid_state->usid_main_clk; + usid_alarm_clk = sid_state->usid_alarm_clk; + usid_chipno = sid_state->lastaccess_chipno; +} + +#endif /* HAVE_USBSID */ Added: trunk/vice/src/arch/shared/hwsiddrv/us-unixwin.h =================================================================== --- trunk/vice/src/arch/shared/hwsiddrv/us-unixwin.h (rev 0) +++ trunk/vice/src/arch/shared/hwsiddrv/us-unixwin.h 2025-09-13 23:30:47 UTC (rev 45758) @@ -0,0 +1,68 @@ +/* + * us-unixwin.h - Linux USBSID specific prototypes. + * + * Written by + * LouDnl <vi...@ma...> + * + * Based on hs-unix.h written by + * Marco van den Heuvel <bla...@ya...> + * + * This file is part of VICE, the Versatile Commodore Emulator. + * See README for copyright notice. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + * 02111-1307 USA. + * + */ + +#ifndef VICE_US_UNIXWIN_H +#define VICE_US_UNIXWIN_H + +#include "sid-snapshot.h" +#include "types.h" + +#define US_MAXSID 4 + +int us_device_open(void); + +int us_device_close(void); + +void us_device_reset(bool us_reset); + +int us_device_read(uint16_t addr, int chipno); + +CLOCK us_delay(void); + +void us_device_store(uint16_t addr, uint8_t val, int chipno); + +void us_set_machine_parameter(long cycles_per_sec); + +unsigned int us_device_available(void); + +void us_set_readmode(int val); + +void us_set_audiomode(int val); + +void us_restart_ringbuffer(void); + +void us_set_buffsize(int val); + +void us_set_diffsize(int val); + +void us_device_state_read(int chipno, struct sid_us_snapshot_state_s *sid_state); + +void us_device_state_write(int chipno, struct sid_us_snapshot_state_s *sid_state); + +#endif /* VICE_US_UNIXWIN_H */ Added: trunk/vice/src/arch/shared/hwsiddrv/usbsid-unixwin-drv.c =================================================================== --- trunk/vice/src/arch/shared/hwsiddrv/usbsid-unixwin-drv.c (rev 0) +++ trunk/vice/src/arch/shared/hwsiddrv/usbsid-unixwin-drv.c 2025-09-13 23:30:47 UTC (rev 45758) @@ -0,0 +1,151 @@ +/* + * usbsid-unixwin-drv.c + * + * Written by + * LouDnl <vi...@ma...> + * + * Based on hs-unix-linux.c written by + * Marco van den Heuvel <bla...@ya...> + * + * This file is part of VICE, the Versatile Commodore Emulator. + * See README for copyright notice. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + * 02111-1307 USA. + * + */ + +#include "vice.h" + +#ifdef HAVE_USBSID + +#include "usbsid.h" +#include "us-unixwin.h" +#include "types.h" + +static int use_us_device = 0; + +int usbsid_drv_open(void) +{ + int rc = 0; + if (!(rc = us_device_open())) { + use_us_device = 1; + return 0; + } + + return rc; +} + +int usbsid_drv_close(void) +{ + + if (use_us_device) { + use_us_device = 0; + us_device_close(); + } + + return 0; +} + +void usbsid_drv_reset(bool us_reset) +{ + if (use_us_device) { + us_device_reset(us_reset); + } +} + +int usbsid_drv_read(uint16_t addr, int chipno) +{ + if (use_us_device) { + return us_device_read(addr, chipno); + } + + return 0; +} + +void usbsid_drv_store(uint16_t addr, uint8_t val, int chipno) +{ + if (use_us_device) { + us_device_store(addr, val, chipno); + } +} + +void usbsid_drv_set_machine_parameter(long cycles_per_sec) +{ + if (use_us_device) { + us_set_machine_parameter(cycles_per_sec); + } +} + +int usbsid_drv_available(void) +{ + + if (use_us_device) { + return us_device_available(); + } + + return 0; +} + +void usbsid_drv_set_readmode(int val) +{ + if (use_us_device) { + us_set_readmode(val); + } +} + +void usbsid_drv_set_audiomode(int val) +{ + if (use_us_device) { + us_set_audiomode(val); + } +} + +void usbsid_drv_restart_ringbuffer(void) +{ + if (use_us_device) { + us_restart_ringbuffer(); + } +} + +void usbsid_drv_set_buffsize(int val) +{ + if (use_us_device) { + us_set_buffsize(val); + } +} + +void usbsid_drv_set_diffsize(int val) +{ + if (use_us_device) { + us_set_diffsize(val); + } +} + +void usbsid_drv_state_read(int chipno, struct sid_us_snapshot_state_s *sid_state) +{ + if (use_us_device) { + us_device_state_read(chipno, sid_state); + } +} + +void usbsid_drv_state_write(int chipno, struct sid_us_snapshot_state_s *sid_state) +{ + if (use_us_device) { + us_device_state_write(chipno, sid_state); + } +} + +#endif /* HAVE_USBSID */ Modified: trunk/vice/src/lib/Makefile.am =================================================================== --- trunk/vice/src/lib/Makefile.am 2025-09-13 11:58:55 UTC (rev 45757) +++ trunk/vice/src/lib/Makefile.am 2025-09-13 23:30:47 UTC (rev 45758) @@ -1,5 +1,9 @@ SUBDIRS = p64 linenoise-ng libzmbv md5 +if HAVE_USBSID +SUBDIRS += libusbsiddrv +endif + AM_CFLAGS = @VICE_CFLAGS@ AM_CXXFLAGS = @VICE_CXXFLAGS@ @@ -16,3 +20,9 @@ libzmbv: (cd libzmbv; $(MAKE)) + +.PHONY: libusbsiddrv +if HAVE_USBSID +libusbsiddrv: + (cd libusbsiddrv; $(MAKE)) +endif Added: trunk/vice/src/lib/libusbsiddrv/LICENSE =================================================================== --- trunk/vice/src/lib/libusbsiddrv/LICENSE (rev 0) +++ trunk/vice/src/lib/libusbsiddrv/LICENSE 2025-09-13 23:30:47 UTC (rev 45758) @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add informati... [truncated message content] |
From: <gp...@us...> - 2025-09-13 11:58:57
|
Revision: 45757 http://sourceforge.net/p/vice-emu/code/45757 Author: gpz Date: 2025-09-13 11:58:55 +0000 (Sat, 13 Sep 2025) Log Message: ----------- fix typo, patch by Dan Fandrich Modified Paths: -------------- trunk/vice/src/tools/petcat/petcat.c Modified: trunk/vice/src/tools/petcat/petcat.c =================================================================== --- trunk/vice/src/tools/petcat/petcat.c 2025-09-05 16:01:31 UTC (rev 45756) +++ trunk/vice/src/tools/petcat/petcat.c 2025-09-13 11:58:55 UTC (rev 45757) @@ -566,7 +566,7 @@ { B_DRAGO, 13, 0xD8, 0x0801, 0, 0xCC, dragobasickwcc, "drago", 0, 0, 0, "Basic v2.0 with Drago Basic v2.2 (C64)" }, { B_REU, 15, 0xDA, 0x0801, 0, 0xCC, reubasickwcc, "reu", 0, 0, 0, "Basic v2.0 with REU-Basic (C64)" }, { B_BASL, 51, 0xFE, 0x0801, 0, 0xCC, baslkwcc, "lightning", 0, 0, 0, "Basic v2.0 with Basic Lightning (C64)" }, - { B_71, 56, 0x39, 0x1c01, 2, 0, NULL, /* fix */ "71", 0, 1, 1, "Basic v7.0 with Basic v7.1 externsion (C128)" }, + { B_71, 56, 0x39, 0x1c01, 2, 0, NULL, /* fix */ "71", 0, 1, 1, "Basic v7.0 with Basic v7.1 extension (C128)" }, { B_MAGIC, 50, 0xFD, 0x0801, 0, 0xCC, magickwcc, "magic", 0, 0, 0, "Basic v2.0 with Magic Basic (C64)" }, { B_EASY, 51, 0xFE, 0x3001, 0, 0xCC, easykwcc, "easy", 0, 0, 0, "Basic v2.0 with Easy Basic (VIC20)" }, { B_BLARG, 11, 0xEA, 0x0801, 0, 0xE0, blargkwe0, "blarg", 0, 0, 0, "Basic v2.0 with Blarg (C64)" }, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gp...@us...> - 2025-09-05 16:01:37
|
Revision: 45756 http://sourceforge.net/p/vice-emu/code/45756 Author: gpz Date: 2025-09-05 16:01:31 +0000 (Fri, 05 Sep 2025) Log Message: ----------- some log stuff Modified Paths: -------------- trunk/vice/src/c128/c128rom.c trunk/vice/src/c64/cart/c64carthooks.c trunk/vice/src/c64/cart/sfx_soundexpander.c Modified: trunk/vice/src/c128/c128rom.c =================================================================== --- trunk/vice/src/c128/c128rom.c 2025-09-05 16:00:22 UTC (rev 45755) +++ trunk/vice/src/c128/c128rom.c 2025-09-05 16:01:31 UTC (rev 45756) @@ -752,8 +752,6 @@ int mem_load(void) { - const char *rom_name = NULL; - if (c128rom_log == LOG_DEFAULT) { c128rom_log = log_open("C128MEM"); } Modified: trunk/vice/src/c64/cart/c64carthooks.c =================================================================== --- trunk/vice/src/c64/cart/c64carthooks.c 2025-09-05 16:00:22 UTC (rev 45755) +++ trunk/vice/src/c64/cart/c64carthooks.c 2025-09-05 16:01:31 UTC (rev 45756) @@ -166,7 +166,7 @@ /* #define DEBUGCART */ #ifdef DEBUGCART -#define DBG(x) printf x +#define DBG(x) log_printf x #else #define DBG(x) #endif @@ -1409,7 +1409,7 @@ zippcode48_config_setup(rawcart); break; default: - DBG(("CART: no attach hook %d\n", type)); + DBG(("CART: no attach hook %d", type)); break; } } @@ -1444,7 +1444,7 @@ while (*list != 0) { if (*list != type) { if (cartridge_type_enabled(*list)) { - DBG(("CART: detach conflicting cart: %d (only one Slot 0 cart can be active)\n", *list)); + DBG(("CART: detach conflicting cart: %d (only one Slot 0 cart can be active)", *list)); cartridge_detach_image(*list); } } @@ -1458,7 +1458,7 @@ void cart_detach_conflicting(int type) { - DBG(("CART: detach conflicting for type: %d ...\n", type)); + DBG(("CART: detach conflicting for type: %d ...", type)); cart_detach_conflicts0(slot0conflicts, type); cart_detach_conflicts0(slot1conflicts, type); } @@ -1468,7 +1468,7 @@ */ int cartridge_enable(int type) { - DBG(("CART: enable type: %d\n", type)); + DBG(("CART: enable type: %d", type)); switch (type) { /* "Slot 0" */ case CARTRIDGE_IEEE488: @@ -1542,7 +1542,7 @@ #endif /* "Main Slot" */ default: - DBG(("CART: no enable hook %d\n", type)); + DBG(("CART: no enable hook %d", type)); break; } cart_detach_conflicting(type); @@ -1569,7 +1569,7 @@ fprintf(stderr, "%s:%d: %s() isn't implemented yet, continuing\n", __FILE__, __LINE__, __func__); */ - DBG(("CART: enable type: %d\n", type)); + DBG(("CART: enable type: %d", type)); switch (type) { /* "Slot 0" */ case CARTRIDGE_IEEE488: @@ -1643,7 +1643,7 @@ #endif /* "Main Slot" */ default: - DBG(("CART: no disable hook %d\n", type)); + DBG(("CART: no disable hook %d", type)); break; } #if 0 @@ -1666,7 +1666,7 @@ */ void cart_detach_all(void) { - DBG(("CART: detach all\n")); + DBG(("CART: detach all")); debugcart_detach(); /* "slot 0" */ tpi_detach(); @@ -1709,7 +1709,7 @@ */ void cart_detach(int type) { - DBG(("CART: cart_detach ID: %d\n", type)); + DBG(("CART: cart_detach ID: %d", type)); switch (type) { /* "Slot 0" */ @@ -2027,7 +2027,7 @@ zippcode48_detach(); break; default: - DBG(("CART: no detach hook ID: %d\n", type)); + DBG(("CART: no detach hook ID: %d", type)); break; } } @@ -2035,7 +2035,7 @@ /* called once by cartridge_init at machine init */ void cart_init(void) { - DBG(("CART: cart_init\n")); + DBG(("CART: cart_init")); /* "Slot 0" */ mmc64_init(); @@ -2344,7 +2344,7 @@ case CARTRIDGE_NONE: break; default: - DBG(("CART: no init hook ID: %d\n", mem_cartridge_type)); + DBG(("CART: no init hook ID: %d", mem_cartridge_type)); cart_config_changed_slotmain(CMODE_RAM, CMODE_RAM, CMODE_READ); break; } @@ -2650,7 +2650,7 @@ /* called by cart_nmi_alarm_triggered, after an alarm occured */ static void cart_freeze(int type) { - DBG(("CART: freeze (type:%d)\n", type)); + DBG(("CART: freeze (type:%d)", type)); switch (type) { /* "Slot 0" (no freezer carts) */ /* "Slot 1" */ @@ -3112,6 +3112,7 @@ void cartridge_sound_chip_init(void) { + DBG(("cartridge_sound_chip_init")); digimax_sound_chip_init(); sfx_soundsampler_sound_chip_init(); sfx_soundexpander_sound_chip_init(); @@ -3156,7 +3157,7 @@ */ void cartridge_mmu_translate(unsigned int addr, uint8_t **base, int *start, int *limit) { - /* DBG(("CARTHOOKS: cartridge_mmu_translate(%x)\n",addr)); */ + /* DBG(("CARTHOOKS: cartridge_mmu_translate(%x)",addr)); */ int res = CART_READ_THROUGH; #if 0 /* disable all the mmu translation stuff for testing */ @@ -3298,7 +3299,7 @@ while (e != NULL) { if (number_of_carts == C64CART_DUMP_MAX_CARTS) { - DBG(("CART snapshot save: active carts > max (%i)\n", number_of_carts)); + DBG(("CART snapshot save: active carts > max (%i)", number_of_carts)); return -1; } if (last_cart != (int)e->device->cartid) { @@ -3894,7 +3895,7 @@ default: /* If the cart cannot be saved, we obviously can't load it either. Returning an error at this point is better than failing at later. */ - DBG(("CART snapshot save: cart %i handler missing\n", cart_ids[i])); + DBG(("CART snapshot save: cart %i handler missing", cart_ids[i])); return -1; } } @@ -3946,7 +3947,7 @@ } if (number_of_carts > C64CART_DUMP_MAX_CARTS) { - DBG(("CART snapshot read: carts %i > max %i\n", number_of_carts, C64CART_DUMP_MAX_CARTS)); + DBG(("CART snapshot read: carts %i > max %i", number_of_carts, C64CART_DUMP_MAX_CARTS)); goto fail; } @@ -4517,7 +4518,7 @@ #endif default: - DBG(("CART snapshot read: cart %i handler missing\n", cart_ids[i])); + DBG(("CART snapshot read: cart %i handler missing", cart_ids[i])); goto fail2; } } Modified: trunk/vice/src/c64/cart/sfx_soundexpander.c =================================================================== --- trunk/vice/src/c64/cart/sfx_soundexpander.c 2025-09-05 16:00:22 UTC (rev 45755) +++ trunk/vice/src/c64/cart/sfx_soundexpander.c 2025-09-05 16:01:31 UTC (rev 45756) @@ -45,6 +45,14 @@ #include "sound.h" #include "uiapi.h" +/* #define DEBUG_SFX_SOUNDEXPANDER */ + +#ifdef DEBUG_SFX_SOUNDEXPANDER +#define DBG(x) log_printf x +#else +#define DBG(x) +#endif + /* Note: this cartridge has a passthrough port, which for some odd reason does connect all lines 1:1 straight through, EXCEPT for these: @@ -179,6 +187,7 @@ void sfx_soundexpander_sound_chip_init(void) { + DBG(("sfx_soundexpander_sound_chip_init")); sfx_soundexpander_sound_chip_offset = sound_chip_register(&sfx_soundexpander_sound_chip); } @@ -194,7 +203,8 @@ static int set_sfx_soundexpander_enabled(int value, void *param) { int val = value ? 1 : 0; - + DBG(("set_sfx_soundexpander_enabled chip_enabled:%d value:%d", + sfx_soundexpander_sound_chip.chip_enabled, value)); if (sfx_soundexpander_sound_chip.chip_enabled != val) { if (val) { if (export_add(&export_res_sound) < 0) { @@ -428,12 +438,13 @@ static int sfx_soundexpander_sound_machine_init(sound_t *psid, int speed, int cycles_per_sec) { + DBG(("sfx_soundexpander_sound_machine_init sfx_soundexpander_chip:%d", sfx_soundexpander_chip)); if (sfx_soundexpander_chip == 3812) { if (YM3812_chip != NULL) { ym3812_shutdown(YM3812_chip); } YM3812_chip = ym3812_init((UINT32)3579545, (UINT32)speed); - } else { + } else if (sfx_soundexpander_chip == 3526) { if (YM3526_chip != NULL) { ym3526_shutdown(YM3526_chip); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gp...@us...> - 2025-09-05 16:00:25
|
Revision: 45755 http://sourceforge.net/p/vice-emu/code/45755 Author: gpz Date: 2025-09-05 16:00:22 +0000 (Fri, 05 Sep 2025) Log Message: ----------- allocate buffer on first use Modified Paths: -------------- trunk/vice/src/arch/gtk3/widgets/settings_ramreset.c Modified: trunk/vice/src/arch/gtk3/widgets/settings_ramreset.c =================================================================== --- trunk/vice/src/arch/gtk3/widgets/settings_ramreset.c 2025-09-05 15:54:41 UTC (rev 45754) +++ trunk/vice/src/arch/gtk3/widgets/settings_ramreset.c 2025-09-05 16:00:22 UTC (rev 45755) @@ -47,6 +47,7 @@ #include "vice_gtk3.h" #include "ram.h" #include "resources.h" +#include "lib.h" #include "settings_ramreset.h" @@ -100,7 +101,7 @@ /** \brief Buffer used to print the raw text of the hexdump */ -static char printbuffer[PREVIEWTEXTBYTES]; +static char *printbuffer = NULL; /** \brief Handler for the 'value-changed' event of the widgets in this dialog @@ -116,6 +117,11 @@ GtkTextIter start; GtkTextIter end; + /* FIXME: right now we allocate the buffer once on first use and never + free/release it */ + if (printbuffer == NULL) { + printbuffer = lib_malloc(PREVIEWTEXTBYTES); + } ram_init_print_pattern(printbuffer, PREVIEWPATTERNBYTES, "\n"); buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(data)); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gp...@us...> - 2025-09-05 15:54:44
|
Revision: 45754 http://sourceforge.net/p/vice-emu/code/45754 Author: gpz Date: 2025-09-05 15:54:41 +0000 (Fri, 05 Sep 2025) Log Message: ----------- allocate some tables dynamically. there is (much) more room for stuff like this in this file Modified Paths: -------------- trunk/vice/src/core/fmopl.c Modified: trunk/vice/src/core/fmopl.c =================================================================== --- trunk/vice/src/core/fmopl.c 2025-09-05 15:52:49 UTC (rev 45753) +++ trunk/vice/src/core/fmopl.c 2025-09-05 15:54:41 UTC (rev 45754) @@ -325,13 +325,13 @@ * TL_RES_LEN - sinus resolution (X axis) */ #define TL_TAB_LEN (12 * 2 * TL_RES_LEN) -static signed int tl_tab[TL_TAB_LEN]; +static signed int *tl_tab = NULL; #define ENV_QUIET (TL_TAB_LEN >> 4) /* sin waveform table in 'decibel' scale */ /* four waveforms on OPL2 type chips */ -static unsigned int sin_tab[SIN_LEN * 4]; +static unsigned int *sin_tab = NULL; /* LFO Amplitude Modulation table (verified on real YM3812) 27 output levels (triangle waveform); 1 level takes one of: 192, 256 or 448 samples @@ -950,6 +950,15 @@ signed int n; double o, m; + if (tl_tab == NULL) { + tl_tab = lib_malloc(TL_TAB_LEN * sizeof(signed int)); + } + + if (sin_tab == NULL) { + sin_tab = lib_malloc(SIN_LEN * 4 * sizeof(unsigned int)); + } + + for (x = 0; x < TL_RES_LEN; x++) { m = (1 << 16) / pow(2, (x + 1) * (ENV_STEP / 4.0) / 8.0); m = floor(m); @@ -1031,6 +1040,15 @@ static void OPLCloseTable( void ) { + if (tl_tab) { + lib_free(tl_tab); + tl_tab = NULL; + } + + if (sin_tab) { + lib_free(sin_tab); + sin_tab = NULL; + } } static void OPL_initalize(FM_OPL *OPL) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gp...@us...> - 2025-09-05 15:52:51
|
Revision: 45753 http://sourceforge.net/p/vice-emu/code/45753 Author: gpz Date: 2025-09-05 15:52:49 +0000 (Fri, 05 Sep 2025) Log Message: ----------- allocate commandbuffer dynamically Modified Paths: -------------- trunk/vice/src/userport/userport_wic64.c Modified: trunk/vice/src/userport/userport_wic64.c =================================================================== --- trunk/vice/src/userport/userport_wic64.c 2025-09-05 11:48:16 UTC (rev 45752) +++ trunk/vice/src/userport/userport_wic64.c 2025-09-05 15:52:49 UTC (rev 45753) @@ -512,6 +512,7 @@ static size_t httpbufferptr = 0; static uint8_t *httpbuffer = NULL; static char *replybuffer = NULL; +static uint8_t *commandbuffer = NULL; #define COMMANDBUFFER_MAXLEN 0x100010 #define URL_MAXLEN 8192 @@ -560,6 +561,10 @@ debug_log(CONS_COL_NO, 2, "%s: encoded_helper allocated 0x%xkB", __FUNCTION__, COMMANDBUFFER_MAXLEN / 1024); + commandbuffer = lib_malloc(COMMANDBUFFER_MAXLEN); + debug_log(CONS_COL_NO, 2, "%s: commandbuffer allocated 0x%xkB", __FUNCTION__, + COMMANDBUFFER_MAXLEN / 1024); + curl_send_buf = lib_malloc(COMMANDBUFFER_MAXLEN); debug_log(CONS_COL_NO, 2, "%s: curl_send_buf allocated 0x%xkB", __FUNCTION__, COMMANDBUFFER_MAXLEN / 1014); @@ -582,6 +587,10 @@ lib_free(encoded_helper); encoded_helper = NULL; } + if (commandbuffer) { + lib_free(commandbuffer); + commandbuffer = NULL; + } if (curl_send_buf) { lib_free(curl_send_buf); curl_send_buf = NULL; @@ -1168,7 +1177,6 @@ static uint8_t input_state = 0, input_command = WIC64_CMD_NONE; static uint8_t wic64_inputmode = 1; static uint32_t input_length = 0, commandptr = 0; -static uint8_t commandbuffer[COMMANDBUFFER_MAXLEN]; static uint32_t replyptr = 0, reply_length = 0; static uint8_t reply_port_value = 0; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gp...@us...> - 2025-09-05 11:48:17
|
Revision: 45752 http://sourceforge.net/p/vice-emu/code/45752 Author: gpz Date: 2025-09-05 11:48:16 +0000 (Fri, 05 Sep 2025) Log Message: ----------- allocate buffer for tap file(s) dynamically Modified Paths: -------------- trunk/vice/src/datasette/datasette.c Modified: trunk/vice/src/datasette/datasette.c =================================================================== --- trunk/vice/src/datasette/datasette.c 2025-09-05 11:46:19 UTC (rev 45751) +++ trunk/vice/src/datasette/datasette.c 2025-09-05 11:48:16 UTC (rev 45752) @@ -71,7 +71,7 @@ static tap_t *current_image[TAPEPORT_MAX_PORTS]; /* Buffer for the TAP */ -static uint8_t tap_buffer[TAPEPORT_MAX_PORTS][TAP_BUFFER_LENGTH]; +static uint8_t *tap_buffer[TAPEPORT_MAX_PORTS]; /* Pointer and length of the tap-buffer */ static long next_tap[TAPEPORT_MAX_PORTS], last_tap[TAPEPORT_MAX_PORTS]; @@ -887,6 +887,10 @@ datasette_internal_reset(port); if (image != NULL) { + /* allocate buffer for the image */ + if (tap_buffer[port] == NULL) { + tap_buffer[port] = lib_malloc(TAP_BUFFER_LENGTH); + } /* We need the length of tape for realistic counter. */ current_image[port]->cycle_counter_total = 0; do { @@ -904,6 +908,13 @@ fullwave[port] = 0; ui_set_tape_status(port, current_image[port] ? 1 : 0); + + /* if image was removed, get rid of the buffer */ + if (image == NULL) { + if (tap_buffer[port] != NULL) { + lib_free(tap_buffer[port]); + } + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gp...@us...> - 2025-09-05 11:46:21
|
Revision: 45751 http://sourceforge.net/p/vice-emu/code/45751 Author: gpz Date: 2025-09-05 11:46:19 +0000 (Fri, 05 Sep 2025) Log Message: ----------- allocate ROM buffer dynamically Modified Paths: -------------- trunk/vice/src/c64/cart/magicvoice.c Modified: trunk/vice/src/c64/cart/magicvoice.c =================================================================== --- trunk/vice/src/c64/cart/magicvoice.c 2025-09-05 11:32:40 UTC (rev 45750) +++ trunk/vice/src/c64/cart/magicvoice.c 2025-09-05 11:46:19 UTC (rev 45751) @@ -129,7 +129,7 @@ static tpi_context_t *tpi_context = NULL; /* context for the TPI chip */ #define MV_ROM_SIZE 0x4000 -static uint8_t mv_rom[MV_ROM_SIZE]; +static uint8_t *mv_rom = NULL; static int mv_extgame = 0, mv_extexrom = 0; static int mv_game = 1, mv_exrom = 1; @@ -1109,8 +1109,15 @@ io_source_unregister(magicvoice_io2_list_item); magicvoice_io2_list_item = NULL; magicvoice_sound_chip.chip_enabled = 0; + if (mv_rom) { + lib_free(mv_rom); + mv_rom = NULL; + } DBG(("MV: set_enabled unregistered\n")); } else if (!magicvoice_sound_chip.chip_enabled && val) { + if (mv_rom == NULL) { + mv_rom = lib_malloc(MV_ROM_SIZE); + } if (param) { /* if the param is != NULL, then we should load the default image file */ if ((magicvoice_filename != NULL) && (*magicvoice_filename != 0)) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gp...@us...> - 2025-09-05 11:32:42
|
Revision: 45750 http://sourceforge.net/p/vice-emu/code/45750 Author: gpz Date: 2025-09-05 11:32:40 +0000 (Fri, 05 Sep 2025) Log Message: ----------- call missing shutdown function, some log cosmetics Modified Paths: -------------- trunk/vice/src/arch/sdl/archdep.c trunk/vice/src/arch/shared/sounddrv/soundsdl.c Modified: trunk/vice/src/arch/sdl/archdep.c =================================================================== --- trunk/vice/src/arch/sdl/archdep.c 2025-09-05 11:19:27 UTC (rev 45749) +++ trunk/vice/src/arch/sdl/archdep.c 2025-09-05 11:32:40 UTC (rev 45750) @@ -121,7 +121,6 @@ return archdep_init_extra(argc, argv); } - void archdep_shutdown(void) { /* free memory used by the exec path */ @@ -136,6 +135,8 @@ archdep_user_cache_path_free(); /* free memory used by the config files path */ archdep_user_config_path_free(); + /* free memory used by the state files path */ + archdep_user_state_path_free(); /* free memory used by the sysfile pathlist */ archdep_default_sysfile_pathlist_free(); Modified: trunk/vice/src/arch/shared/sounddrv/soundsdl.c =================================================================== --- trunk/vice/src/arch/shared/sounddrv/soundsdl.c 2025-09-05 11:19:27 UTC (rev 45749) +++ trunk/vice/src/arch/shared/sounddrv/soundsdl.c 2025-09-05 11:32:40 UTC (rev 45750) @@ -41,6 +41,8 @@ #include "log.h" #include "sound.h" +static log_t sdlaudio_log = LOG_DEFAULT; + static int16_t *sdl_buf = NULL; static SDL_AudioSpec sdl_spec; static volatile int sdl_inptr = 0; @@ -80,6 +82,19 @@ } } +#ifdef USE_SDL2UI +static void printdrivers(void) +{ + int i; + char names[256] = { 0 }; + for (i = 0; i < SDL_GetNumAudioDrivers(); i++) { + strcat(names, SDL_GetAudioDriver(i)); + strcat(names, " "); + } + log_message(sdlaudio_log, "Available drivers: %s", names); +} +#endif + static int sdl_init(const char *param, int *speed, int *fragsize, int *fragnr, int *channels) { @@ -86,13 +101,10 @@ SDL_AudioSpec spec; int nr; + sdlaudio_log = log_open("SDLAudio"); + #ifdef USE_SDL2UI - int i; - - log_message(LOG_DEFAULT, "SDLAudio: list of drivers:"); - for (i = 0; i < SDL_GetNumAudioDrivers(); i++) { - log_message(LOG_DEFAULT, "SDLAudio: %d: %s", i, SDL_GetAudioDriver(i)); - } + printdrivers(); #endif memset(&spec, 0, sizeof(spec)); @@ -118,7 +130,7 @@ * to get an idea of the whole mess */ if (SDL_OpenAudio(&spec, NULL)) { - log_message(LOG_DEFAULT, "SDLAudio: SDL_OpenAudio() failed: %s", + log_message(sdlaudio_log, "SDLAudio: SDL_OpenAudio() failed: %s", SDL_GetError()); return 1; } @@ -131,7 +143,7 @@ * $ SDL_AUDIODRIVER="directsound" x64sc.exe */ #ifdef USE_SDL2UI - log_message(LOG_DEFAULT, "SDLAudio: current driver: %s", + log_message(sdlaudio_log, "SDLAudio: current driver: %s", SDL_GetCurrentAudioDriver()); #endif @@ -138,10 +150,10 @@ if ((sdl_spec.format != AUDIO_S16 && sdl_spec.format != AUDIO_S16MSB) || sdl_spec.channels != *channels) { SDL_CloseAudio(); - log_message(LOG_DEFAULT, "SDLAudio: got invalid audio spec."); + log_warning(sdlaudio_log, "SDLAudio: got invalid audio spec."); return 1; } - log_message(LOG_DEFAULT, "SDLAudio: got proper audio spec."); + log_verbose(sdlaudio_log, "SDLAudio: got proper audio spec."); /* recalculate the number of fragments since the frag size might This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gp...@us...> - 2025-09-05 11:19:28
|
Revision: 45749 http://sourceforge.net/p/vice-emu/code/45749 Author: gpz Date: 2025-09-05 11:19:27 +0000 (Fri, 05 Sep 2025) Log Message: ----------- use log system instead of printf, some log cosmetics, add missing SaveResourcesOnExit Modified Paths: -------------- trunk/vice/src/arch/headless/ui.c Modified: trunk/vice/src/arch/headless/ui.c =================================================================== --- trunk/vice/src/arch/headless/ui.c 2025-09-05 11:17:14 UTC (rev 45748) +++ trunk/vice/src/arch/headless/ui.c 2025-09-05 11:19:27 UTC (rev 45749) @@ -139,7 +139,7 @@ */ void ui_init_with_args(int *argc, char **argv) { - printf("Initialising headless ui with args\n"); + log_verbose(LOG_DEFAULT, "Initialising headless ui with args"); } @@ -149,7 +149,7 @@ */ int ui_init(void) { - printf("Initialising headless ui\n"); + log_verbose(LOG_DEFAULT, "Initialising headless ui"); return 0; } @@ -165,7 +165,7 @@ */ int ui_init_finalize(void) { - /* printf("%s\n", __func__); */ + /* log_verbose(LOG_DEFAULT, "%s", __func__); */ return 0; } @@ -179,7 +179,7 @@ */ ui_jam_action_t ui_jam_dialog(const char *format, ...) { - /* printf("%s\n", __func__); */ + /* log_verbose(LOG_DEFAULT, "%s", __func__); */ va_list args; char *buffer; @@ -190,7 +190,7 @@ buffer = lib_mvsprintf(format, args); va_end(args); - printf("%s\n", buffer); + log_warning(LOG_DEFAULT, "%s", buffer); lib_free(buffer); @@ -198,7 +198,21 @@ return MACHINE_JAM_ACTION_QUIT; /* quit emulator */ } +static int save_resources_on_exit; +static int set_save_resources_on_exit(int val, void *param) +{ + save_resources_on_exit = val ? 1 : 0; + + return 0; +} + +static resource_int_t resources_int[] = { + { "SaveResourcesOnExit", 0, RES_EVENT_NO, NULL, + &save_resources_on_exit, set_save_resources_on_exit, NULL }, + RESOURCE_INT_LIST_END +}; + /** \brief Initialize resources related to the UI in general * * \return 0 on success, -1 on failure @@ -205,7 +219,10 @@ */ int ui_resources_init(void) { - /* printf("%s\n", __func__); */ + /* log_verbose(LOG_DEFAULT, "%s", __func__); */ + if (resources_register_int(resources_int) < 0) { + return -1; + } return 0; } @@ -215,7 +232,7 @@ */ void ui_resources_shutdown(void) { - /* printf("%s\n", __func__); */ + /* log_verbose(LOG_DEFAULT, "%s", __func__); */ } /** \brief Clean up memory used by the UI system itself @@ -222,7 +239,7 @@ */ void ui_shutdown(void) { - /* printf("%s\n", __func__); */ + /* log_verbose(LOG_DEFAULT, "%s", __func__); */ } @@ -230,7 +247,7 @@ */ void ui_dispatch_events(void) { - /* printf("%s\n", __func__); */ + /* log_verbose(LOG_DEFAULT, "%s", __func__); */ } /** \brief Display the "Do you want to extend the disk image to @@ -243,7 +260,7 @@ */ int ui_extend_image_dialog(void) { - /* printf("%s\n", __func__); */ + /* log_verbose(LOG_DEFAULT, "%s", __func__); */ /* FIXME: this dialog needs to be implemented. */ NOT_IMPLEMENTED(); @@ -257,7 +274,7 @@ */ void ui_error(const char *format, ...) { - /* printf("%s\n", __func__); */ + /* log_verbose(LOG_DEFAULT, "%s", __func__); */ char *buffer; va_list ap; @@ -266,7 +283,7 @@ buffer = lib_mvsprintf(format, ap); va_end(ap); - printf("VICE Error: %s\n", buffer); + log_error(LOG_DEFAULT, "VICE Error: %s", buffer); lib_free(buffer); } @@ -277,7 +294,7 @@ */ void ui_message(const char *format, ...) { - /* printf("%s\n", __func__); */ + /* log_verbose(LOG_DEFAULT, "%s", __func__); */ char *buffer; va_list ap; @@ -286,7 +303,7 @@ buffer = lib_mvsprintf(format, ap); va_end(ap); - printf("VICE Message: %s", buffer); + log_message(LOG_DEFAULT, "VICE Message: %s", buffer); lib_free(buffer); } @@ -293,7 +310,7 @@ bool ui_pause_loop_iteration(void) { - /* printf("%s\n", __func__); */ + /* log_verbose(LOG_DEFAULT, "%s", __func__); */ /* ui_dispatch_next_event(); g_usleep(10000); @@ -309,7 +326,7 @@ */ static void pause_trap(uint16_t addr, void *data) { - /* printf("%s\n", __func__); */ + /* log_verbose(LOG_DEFAULT, "%s", __func__); */ /* vsync_suspend_speed_eval(); sound_suspend(); @@ -325,7 +342,7 @@ */ int ui_pause_active(void) { - /* printf("%s\n", __func__); */ + /* log_verbose(LOG_DEFAULT, "%s", __func__); */ return is_paused; } @@ -335,7 +352,7 @@ */ void ui_pause_enable(void) { - /* printf("%s\n", __func__); */ + /* log_verbose(LOG_DEFAULT, "%s", __func__); */ if (!ui_pause_active()) { is_paused = 1; @@ -348,7 +365,7 @@ */ void ui_pause_disable(void) { - /* printf("%s\n", __func__); */ + /* log_verbose(LOG_DEFAULT, "%s", __func__); */ if (ui_pause_active()) { is_paused = 0; @@ -360,7 +377,7 @@ */ void ui_update_lightpen(void) { - /* printf("%s\n", __func__); */ + /* log_verbose(LOG_DEFAULT, "%s", __func__); */ } void arch_ui_activate(void) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |