Skip to content
This repository was archived by the owner on Sep 24, 2025. It is now read-only.

Commit 63c8525

Browse files
authored
Merge pull request #3 from VICE-Team/main
Pull in changes from repo
2 parents a7a0259 + e63d4a6 commit 63c8525

31 files changed

+813
-209
lines changed

.github/workflows/build-main-on-push.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -550,4 +550,4 @@ jobs:
550550
IRC_PASS: ${{ secrets.IRC_PASS }}
551551
shell: bash
552552
run: |
553-
./vice/build/github-actions/irc-message.sh "tried to build $(echo "${{ github.ref }}" | sed 's,.*/,,') but it failed :( $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID"
553+
./vice/build/github-actions/irc-message.sh "tried to build $(echo "${{ github.ref }}" | sed 's,.*/,,') but it failed :( See $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID"

.github/workflows/check-make-dist.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -126,8 +126,7 @@ jobs:
126126
if: ${{ failure() }}
127127
shell: bash
128128
run: |
129-
./vice/build/github-actions/irc-message.sh "make dist => make failed for ${{ matrix.source.name }} => ${{ matrix.target.name }}"
130-
129+
./vice/build/github-actions/irc-message.sh "make dist => make failed for ${{ matrix.source.name }} => ${{ matrix.target.name }}. See $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID"
131130
132131
diff_dists:
133132
name: Check dist tarballs for content differences
@@ -155,4 +154,4 @@ jobs:
155154
if: ${{ failure() }}
156155
shell: bash
157156
run: |
158-
./vice/build/github-actions/irc-message.sh "Dist tarballs do not match. See log of 'Weekly Check Dist' github action."
157+
./vice/build/github-actions/irc-message.sh "Dist tarballs do not match. See $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID"

.github/workflows/run-doxygen.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,4 @@ jobs:
3737
if: ${{ failure() }}
3838
shell: bash
3939
run: |
40-
./vice/build/github-actions/irc-message.sh "Running Doxygen failed."
40+
./vice/build/github-actions/irc-message.sh "Running Doxygen failed. See $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID"

vice/configure.ac

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -471,7 +471,6 @@ HAVE_SYS_AUDIOIO_H_SUPPORT="no "
471471
HAVE_SYS_AUDIO_H_SUPPORT="no "
472472
HAVE_ZLIB_SUPPORT="no "
473473
LINUX_JOYSTICK_SUPPORT="no "
474-
MAC_JOYSTICK_SUPPORT="no "
475474
USE_ALSA_SUPPORT="no "
476475
USE_COREAUDIO_SUPPORT="no "
477476
USE_DMEDIA_SUPPORT="no "
@@ -2170,9 +2169,7 @@ if test x"$is_unix_macosx" = "xyes" -a x"$enable_sdl1ui" != "xyes" -a x"$enable_
21702169
[IOHIDManagerCreate(NULL,0)],
21712170
[AC_MSG_RESULT(yes);
21722171
JOY_LIBS="-framework IOKit -framework CoreServices";
2173-
MAC_JOYSTICK_SUPPORT="yes";
21742172
HAS_HIDMGR_SUPPORT="yes";
2175-
AC_DEFINE(MAC_JOYSTICK,,[Enable Mac Joystick support.])
21762173
JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS joystick_osx.o";
21772174
],
21782175
[AC_MSG_RESULT(no);

vice/doc/vice.texi

Lines changed: 113 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1442,7 +1442,8 @@ and after doing so revert all settings to what they were before autostarting.
14421442
If you want to allow the started program to access the host file system, you will
14431443
have to enable "virtual device traps". If you want the autostart logic to disable
14441444
true drive emulation temporarily to speed up the autostart, then enable "handle
1445-
TDE at autostart.
1445+
TDE at autostart (this is required if true drive emulation would be enabled
1446+
otherwise - as is the default).
14461447

14471448
@xref{Disk and tape images}. for more information about images and
14481449
autostart.
@@ -3431,7 +3432,7 @@ use the ``Autostart'' button in the file selector window after selecting
34313432
a proper disk or tape image file.
34323433

34333434
If true drive emulation is turned on, and the @dfn{Handle TDE at Autostart}
3434-
setting is enabled, true drive emulation will be turned off before running
3435+
setting is enabled, true drive emulation will be turned off before loading
34353436
the program and then turned on again after it has been
34363437
loaded. This way, you get the maximum possible speed while loading the
34373438
file, but you do not lose compatibility once the program itself is
@@ -3603,7 +3604,7 @@ reset settings to default first.}
36033604
@item
36043605
To speed up loading .prg files, enable
36053606
Options->Host->Autostart->Autostart PRG Settings->Autostart mode->Inject into RAM
3606-
(@code{AutostartPrgMode} = 0)
3607+
(@code{AutostartPrgMode} = 1)
36073608

36083609
@item
36093610
To speed up loading .d64 files,
@@ -3786,7 +3787,8 @@ Boolean, if true put a colon after the load command when autostarting
37863787
@item AutostartHandleTrueDriveEmulation
37873788
Boolean, if true handle (enable/disable) True Drive Emulation on autostart
37883789
(all emulators except vsid). This is disabled by default to ensure maximum
3789-
compatibility.
3790+
compatibility. It @emph{must} be enabled, if true drive emulation is enabled, and
3791+
@code{AutostartPrgMode} is 0.
37903792

37913793
@vindex AutostartWarp
37923794
@item AutostartWarp
@@ -3798,6 +3800,8 @@ Boolean, if true temporarily enable warp mode when autostarting
37983800
Integer specifying the autostart mode for prg files
37993801
(all emulators except vsid).
38003802
(0: virtual filesystem, 1: inject to RAM, 2: copy to D64)
3803+
Note that @code{AutostartHandleTrueDriveEmulation} must be enabled, if true drive
3804+
emulation is enabled.
38013805

38023806
@vindex AutostartDelayRandom
38033807
@item AutostartDelayRandom
@@ -9759,6 +9763,8 @@ MACH 5
97599763
@item
97609764
Magic Desk
97619765
@item
9766+
Magic Desk 16
9767+
@item
97629768
Magic Formel
97639769
@item
97649770
MAX Basic
@@ -10196,12 +10202,19 @@ The following cartridge types are valid:
1019610202
83: BMP Data Turbo
1019710203
@item
1019810204
84: Profi-DOS
10205+
@item
10206+
85: Magic Desk 16
1019910207
@end itemize
1020010208

1020110209
@vindex CartridgeFile
1020210210
@item CartridgeFile
1020310211
String specifying the filename of the image for the cartridge emulated in the "main" slot.
1020410212

10213+
@vindex Comal80Revision
10214+
@item Comal80Revision
10215+
Integer specifying the Comal 80 hardware revision.
10216+
(0: Grey, 1: Commodore/Black)
10217+
1020510218
@vindex DQBB
1020610219
@item DQBB
1020710220
Boolean specifying whether the Double Quick Brown Box should be emulated or not.
@@ -10719,6 +10732,12 @@ Attach raw 8KiB Capture cartridge image.
1071910732
@item -cartcomal <name>
1072010733
Attach raw 64KiB Comal 80 cartridge image.
1072110734

10735+
@findex -comal80rev
10736+
@item -comal80rev <Revision>
10737+
Set the Comal 80 hardware revision
10738+
(@code{Comal80Revision}).
10739+
(0: Grey, 1: Commodore/Black)
10740+
1072210741
@findex -cartdep256
1072310742
@item -cartdep256 <name>
1072410743
Attach raw Dela EP256 cartridge image.
@@ -11156,6 +11175,10 @@ Attach raw 8KiB MACH 5 cartridge image.
1115611175
@item -cartmd <name>
1115711176
Attach raw 32/64/128KiB Magic Desk cartridge image.
1115811177

11178+
@findex -cartmd16
11179+
@item -cartmd16 <name>
11180+
Attach raw up to 2048KiB Magic Desk 16K cartridge image.
11181+
1115911182
@findex -cartmf
1116011183
@item -cartmf <name>
1116111184
Attach raw Magic Formel cartridge image.
@@ -23778,6 +23801,8 @@ Lt. Kernal Host Adaptor .crt file
2377823801
MACH 5 .crt file
2377923802
@item md
2378023803
Magic Desk .crt file
23804+
@item md16
23805+
Magic Desk 16 .crt file
2378123806
@item mf
2378223807
Magic Formel .crt file
2378323808
@item max
@@ -31375,10 +31400,9 @@ E0C0: 4D 46 37 8D 00 DF 60 8D 01 DF 60 8D 02 DF 60 8D MF7...`...`...`.
3137531400
@end example
3137631401

3137731402
ROM memory is organized in 8KiB ($2000) banks located at $8000-$9FFF.
31378-
Bank switching is done by writing to address $DE00+X, where X is the
31403+
Bank switching is done by accessing address $DE00+X, where X is the
3137931404
bank number (STA $DE00,X). For instance, to read from bank 3, address
31380-
$DE03 is written to. Reading from anywhere in the I/O-1 range will
31381-
disable the cart.
31405+
$DE03 is read from, or written to.
3138231406

3138331407
The CRT file contains a string of CHIP blocks, each block with a start
3138431408
address of $8000, length $2000 and the bank number in the bank field.
@@ -31670,18 +31694,52 @@ C080: 7B C8 7E C8 C3 C2 CD 38 30 43 4F 4D 41 4C 80 93 @{.~....80COMAL..
3167031694
banks of ROM memory and the cart has 1 (write-only) bank control register which
3167131695
is located at $DE00 and mirrored throughout the $DE00-$DEFF range.
3167231696

31697+
Two variants of this Cartridge existed:
31698+
31699+
1. Grey Cartridge (Comal Users Group, USA)
31700+
Produced around 1984-1985, likely with UniComal Denmarks approval.
31701+
Approx. 2,000 units distributed (according to COMAL Today).
31702+
31703+
@itemize @bullet
31704+
@item 4 sockets populated with 16 KB EPROMs (27128)
31705+
@item NO additional socket, but it was possible to piggyback a fifth EPROM via
31706+
minor hardware mod
31707+
@end itemize
31708+
31709+
@example
31710+
bit meaning
31711+
--- -------
31712+
7 -
31713+
6 GAME
31714+
5 EXROM
31715+
4 -
31716+
3 -
31717+
2 -
31718+
0-1 selects EPROM (16k bank)
31719+
@end example
31720+
31721+
2. Black Cartridge (Official Commodore Release)
31722+
Used internationally and with a different hardware configuration.
31723+
31724+
@itemize @bullet
31725+
@item Two fixed 32 KB ROMs (Commodore) and one socket for a 32 KB (or with
31726+
hardware modification 64 KB ) EPROM
31727+
@end itemize
31728+
3167331729
@example
3167431730
bit meaning
3167531731
--- -------
31676-
7 exrom?
31677-
6 game?
31678-
5 unknown function (used by the software to disable the cartridge)
31679-
4 unused?
31680-
3 unused?
31681-
2 unknown function (used by the software however)
31682-
0-1 selects bank
31732+
7 -
31733+
6 GAME + EXROM
31734+
5 -
31735+
4 -
31736+
3 -
31737+
2 switches to the optional third socket (additional 2x16k)
31738+
0-1 selects EPROM+bank (4x16k bank)
3168331739
@end example
3168431740

31741+
If the Cartridge Hardware Subtype/Revision (Offset 0x1A in the CRT Header) is 1,
31742+
then VICE emulates the older "Grey" cartridge variant.
3168531743

3168631744
@c @node FIXME
3168731745
@subsubsection 22 - Structured Basic
@@ -34921,6 +34979,47 @@ E0C0: 2C CA 91 AD 0A 03 AE 0B 03 8D B8 02 8E B9 02 A9 ,...............
3492134979

3492234980
Any access (read or write) to IO2 ($dfxx) will disable the cartridge again.
3492334981

34982+
@c @node FIXME
34983+
@subsubsection 85 - Magic Desk 16
34984+
34985+
@multitable @columnfractions .3 .7
34986+
@item Size
34987+
@tab 32KiB, 64KiB ... up to 2048KiB sizes (4 to 128 banks of 16KiB each)
34988+
@item EXROM
34989+
@tab active (lo) (0)
34990+
@item GAME
34991+
@tab active (hi) (0)
34992+
@item Startup mode
34993+
@tab 16KiB Game
34994+
@item Load address
34995+
@tab (banks 0-127) - $8000-BFFF
34996+
@end multitable
34997+
34998+
@example
34999+
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ASCII
35000+
----------------------------------------------- ----------------
35001+
000000: 43 36 34 20 43 41 52 54 52 49 44 47 45 20 20 20 C64 CARTRIDGE
35002+
000010: 00 00 00 40 01 00 00 55 00 00 00 00 00 00 00 00 [email protected]........
35003+
000020: 4d 61 67 69 63 20 44 65 73 6b 20 31 36 4b 00 00 Magic Desk 16K..
35004+
000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
35005+
000040: 43 48 49 50 00 00 40 10 00 00 00 00 80 00 40 00 CHIP..@.......@.
35006+
000050: 09 80 09 80 c3 c2 cd 38 30 78 a2 ff 9a d8 a9 08 .......80x......
35007+
..
35008+
200820: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
35009+
200830: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
35010+
35011+
@end example
35012+
35013+
Very similar to the classic "Magic Desk" cartridge, except that it uses
35014+
16KiB banks instead and operates in "16k Game" mode.
35015+
35016+
Bank switching is done by writing the bank number to $DE00.
35017+
Bit 7 is cleared for selecting one of the ROM banks. If bit
35018+
7 is set ($DE00 = $80), the GAME/EXROM lines are disabled, turning on
35019+
RAM at $8000-B9FFF instead of ROM.
35020+
35021+
used by "SNK vs CAPCOM - Stronger Edition"
35022+
3492435023
@c @node FIXME
3492535024
@subsection C128 Cartridge Specifics
3492635025

vice/src/arch/gtk3/joystickdrv/joystick_osx.c

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -324,11 +324,11 @@ static void osx_joystick_read(int joyport, void* priv) {
324324
&e,
325325
&value, 1) >= 0) {
326326
if (value < e.min_pvalue*3/4 + e.max_pvalue/4) {
327-
joy_axis_event(joyport, e.ordinal, JOY_AXIS_NEGATIVE);
327+
// joy_axis_event(joyport, e.ordinal, JOY_AXIS_NEGATIVE);
328328
} else if (value > e.min_pvalue/4 + e.max_pvalue*3/4) {
329-
joy_axis_event(joyport, e.ordinal, JOY_AXIS_POSITIVE);
329+
// joy_axis_event(joyport, e.ordinal, JOY_AXIS_POSITIVE);
330330
} else {
331-
joy_axis_event(joyport, e.ordinal, JOY_AXIS_MIDDLE);
331+
// joy_axis_event(joyport, e.ordinal, JOY_AXIS_MIDDLE);
332332
}
333333
}
334334
break;
@@ -356,13 +356,13 @@ static void osx_joystick_read(int joyport, void* priv) {
356356
}
357357

358358
if (value >= 0 && value <= MAX_HAT_MAP_INDEX) {
359-
joy_hat_event(joyport, e.ordinal, hat_map[value]);
359+
// joy_hat_event(joyport, e.ordinal, hat_map[value]);
360360
}
361361
}
362362
}
363363
} else if (e.usage_page == kHIDPage_Button) {
364364
if (joy_hidlib_get_value(device, &e, &value, 0) >= 0) {
365-
joy_button_event(joyport, e.ordinal, value);
365+
// joy_button_event(joyport, e.ordinal, value);
366366
}
367367
}
368368
}
@@ -377,8 +377,8 @@ static void osx_joystick_close(void *priv) {
377377
}
378378

379379
static joystick_driver_t osx_joystick_driver = {
380-
.poll = osx_joystick_read,
381-
.close = osx_joystick_close
380+
// .poll = osx_joystick_read,
381+
// .close = osx_joystick_close
382382
};
383383

384384
static CFDictionaryRef CreateHIDDeviceMatchDictionary(const int page, const int usage)
@@ -405,7 +405,7 @@ static CFDictionaryRef CreateHIDDeviceMatchDictionary(const int page, const int
405405

406406
/* ----- API ----- */
407407

408-
void joy_hidlib_init(void)
408+
void joystick_arch_init(void)
409409
{
410410
if ( !mgr ) {
411411
/* create the manager */
@@ -478,14 +478,14 @@ void joy_hidlib_init(void)
478478
d->product_id = (int)product_id;
479479
d->product_name = product_name;
480480
joy_hidlib_enumerate_elements(d, &axes, &buttons, &hats);
481-
register_joystick_driver(&osx_joystick_driver, product_name, d, axes, buttons, hats);
481+
// register_joystick_driver(&osx_joystick_driver, product_name, d, axes, buttons, hats);
482482
}
483483
}
484484
lib_free(all_devices);
485485
CFRelease( device_set );
486486
}
487487

488-
void joy_hidlib_exit(void)
488+
void joystick_arch_shutdown(void)
489489
{
490490
if(mgr) {
491491
IOHIDManagerClose( mgr, 0 );

vice/src/arch/gtk3/widgets/base/resourcespinbutton.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -933,14 +933,14 @@ GtkWidget *vice_gtk3_resource_spin_custom_new(const gchar *resource_name,
933933
"destroy",
934934
G_CALLBACK(on_custom_spin_destroy),
935935
(gpointer)state);
936-
g_signal_connect_unlocked(G_OBJECT(spin),
937-
"output",
938-
G_CALLBACK(on_custom_spin_output),
939-
(gpointer)state);
940-
g_signal_connect_unlocked(G_OBJECT(spin),
941-
"input",
942-
G_CALLBACK(on_custom_spin_input),
943-
(gpointer)state);
936+
g_signal_connect(G_OBJECT(spin),
937+
"output",
938+
G_CALLBACK(on_custom_spin_output),
939+
(gpointer)state);
940+
g_signal_connect(G_OBJECT(spin),
941+
"input",
942+
G_CALLBACK(on_custom_spin_input),
943+
(gpointer)state);
944944
g_signal_connect(G_OBJECT(spin),
945945
"value-changed",
946946
G_CALLBACK(on_custom_spin_value_changed),

0 commit comments

Comments
 (0)