Skip to content

Commit

Permalink
release 2.11.1
Browse files Browse the repository at this point in the history
  • Loading branch information
DirtBagXon committed Aug 5, 2023
1 parent 329b748 commit fb981e2
Show file tree
Hide file tree
Showing 52 changed files with 882 additions and 750 deletions.
13 changes: 6 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ The following additional, and reimplemented, arguments have been added to Hypseu
-grabmouse [ Capture mouse in SDL window ]
-ignore_aspect_ratio [ Ignore MPEG aspect ratio header [01B3] ]
-keymapfile <flight.ini> [ Specify an alternate hypinput.ini file ]
-nolinear_scale [ Disable bilinear scaling ]
-linear_scale [ Enable linear filtering when scaling ]
-novsync [ Disable VSYNC presentation on Renderer [crt] ]
-original_overlay [ Enable daphne style overlays (lair,ace,lair2) ]
-scalefactor <50-100> [ Scale video display area [50-100]% ]
Expand All @@ -213,22 +213,21 @@ The following additional, and reimplemented, arguments have been added to Hypseu
-scorebezel [ Bezel layer software scoreboard ]
-scorepanel [ Enable software scoreboard in lair/ace/tq ]
-scorepanel_position <x y> [ Adjust position of software_scorepanel ]
-shiftx <-100 to 100> [ Shift x-axis on video window [%] ]
-shifty <-100 to 100> [ Shift y-axis on video window [%] ]
-tiphat [ Invert joystick SDL_HAT_UP and SDL_HAT_DOWN ]
-usbscoreboard <args> [ Enable USB serial support for scoreboard: ]
[ Arguments: (i)mplementation, (p)ort, (b)aud ]
-vertical_stretch <1-24> [ Overlay stretch implemented for (cliff) only ]
-vertical_screen [ Reorient calculations in logical fullscreen ]
-vertical_stretch <1-24> [ Overlay stretch (cliff/gtg only) ]

-8bit_overlay [ Restore original 8bit Singe overlays ]
-blend_sprites [ Restore BLENDMODE outline on Singe sprites ]
-bootsilent [ Mute sound during initVLDP() if possible ]
-bootsilent [ Mute sound during initVLDP() - if possible ]
-js_range <1-20> [ Adjust Singe joystick sensitivity: [def:5] ]
-manymouse [ Enable ABS mouse input [lightguns] [gungames] ]
-nocrosshair [ Request game does not display crosshairs ]
-retropath [ Singe data path rewrites [.daphne] ]
-set_overlay <size> [ Enforce overlay size (full, half, oversize) ]
[ (full): Set to full video resolution [Singe2] ]
[ (half): Set to half video resolution [Singe2] ]
[ (oversize): Use with HD gungame video sources ]
-sinden <1-10> <color> [ Enable software border for lightguns ]
[ Color: (w)hite, (r)ed, (g)reen, (b)lue or (x) ]

Expand Down
7 changes: 5 additions & 2 deletions doc/bezels.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ Arguments related to bezels
-bezel <lair.png> [ Specify a png bezel in 'bezels' sub-folder ]

-scalefactor <50-100> [ Scale video image [50-100]% ]
-scale_shiftx <-100 - 100> [ Position scaled video window - horizontally ]
-scale_shifty <-100 - 100> [ Position scaled video window - vertically ]
-shiftx <-100 to 100> [ Position video window - horizontally ]
-shifty <-100 to 100> [ Position video window - vertically ]


Built-in bezels relating to 'lair/ace/tq'
Expand All @@ -16,6 +16,7 @@ Built-in bezels relating to 'lair/ace/tq'
-annunbezel_alpha <1-2> [ Built-in bezel: alpha transparency ]
-annunbezel_scale <1-25> [ Built-in bezel: scale option ]
-annunbezel_position <x y> [ Built-in bezel: position options ]
-annunlamps [ Built-in bezel: staggered: lamps only [conv] ]
-scorebezel [ Built-in bezel: ace/lair/tq scoreboard ]
-scorebezel_alpha <1-2> [ Built-in bezel: alpha transparency ]
-scorebezel_scale <1-25> [ Built-in bezel: scale option ]
Expand Down Expand Up @@ -48,4 +49,6 @@ Built-in overrides
- bezels/offcaptain.bmp
- bezels/offcadet.bmp

- bezels/shoot.bmp


Binary file added pics/shoot.bmp
Binary file not shown.
20 changes: 12 additions & 8 deletions scripts/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ while [[ $# -gt 0 ]]; do
GAMEPAD="-gamepad"
shift
;;
-nolinear)
NEAREST="-nolinear_scale"
-linear)
LINEAR="-linear_scale"
shift
;;
-nolog)
Expand Down Expand Up @@ -74,7 +74,7 @@ set -- "${POSITIONAL[@]}"
if [ -z "$1" ] ; then
echo "Specify a game to try: " | STDERR
echo
echo -e "$0 [-fullscreen] [-blanking] [-gamepad] [-nolinear] [-prototype] [-scanlines] [-scoreboard] <gamename>" | STDERR
echo -e "$0 [-fullscreen] [-blanking] [-gamepad] [-linear] [-prototype] [-scanlines] [-scoreboard] <gamename>" | STDERR

for game in ace astron badlands badlandp bega blazer cliff cliffalt cliffalt2 cobra cobraab cobraconv cobram3 dle21 esh eshalt eshalt2 galaxy galaxyp gpworld gtg interstellar lair lair2 mach3 roadblaster sae sdq sdqshort sdqshortalt tq tq_alt tq_swear uvt; do
if ls $HYPSEUS_SHARE/vldp*/$game >/dev/null 2>&1; then
Expand Down Expand Up @@ -113,9 +113,13 @@ case "$1" in
VLDP_DIR="vldp"
KEYINPUT="-keymapfile flightkey.ini"
;;
badlands|badlandp)
badlands)
VLDP_DIR="vldp"
BANKS="-bank 1 10000001 -bank 0 00000000"
BANKS="-blank_searches -blank_skips -min_seek_delay 600"
;;
badlandp)
VLDP_DIR="vldp"
BANKS="-spritelite -preset 1"
;;
bega)
VLDP_DIR="vldp"
Expand Down Expand Up @@ -152,9 +156,9 @@ case "$1" in
FASTBOOT="-fastboot"

if [ "$PROTOTYPE" ]; then
BANKS="-bank 1 10110111 -bank 0 11011001"
BANKS="-bank 1 10110111 -bank 0 11011000"
else
BANKS="-bank 1 00110111 -bank 0 11011001"
BANKS="-bank 1 00110111 -bank 0 11011000"
fi
;;
esh|eshalt|eshalt2)
Expand Down Expand Up @@ -227,7 +231,7 @@ $HYPSEUS_BIN $1 vldp \
$FASTBOOT \
$FULLSCREEN \
$GAMEPAD \
$NEAREST \
$LINEAR \
$BLANK \
$OVERLAY \
$LOG \
Expand Down
20 changes: 4 additions & 16 deletions scripts/singe.sh
Original file line number Diff line number Diff line change
Expand Up @@ -38,26 +38,14 @@ while [[ $# -gt 0 ]]; do
GAMEPAD="-gamepad"
shift
;;
-nolinear)
NEAREST="-nolinear_scale"
-linear)
LINEAR="-linear_scale"
shift
;;
-nolog)
LOG="-nolog"
shift
;;
-fulloverlay)
OVERLAY="-set_overlay full"
shift
;;
-halfoverlay)
OVERLAY="-set_overlay half"
shift
;;
-oversize)
OVERLAY="-set_overlay oversize -manymouse"
shift
;;
-scale)
SCALE="-scalefactor 50"
shift
Expand All @@ -79,7 +67,7 @@ set -- "${POSITIONAL[@]}"
if [ -z $1 ] ; then
echo "Specify a game to try: " | STDERR
echo
echo "$0 [-fullscreen] [-8bit] [-blanking] [-blend] [-nolinear] [-gamepad] [-oversize] [-fulloverlay] [-halfoverlay] [-scanlines] [-scale] <gamename>" | STDERR
echo "$0 [-fullscreen] [-8bit] [-blanking] [-blend] [-linear] [-gamepad] [-scanlines] [-scale] <gamename>" | STDERR
echo

echo "Games available: "
Expand Down Expand Up @@ -107,7 +95,7 @@ $HYPSEUS_BIN singe vldp \
-homedir $HYPSEUS_SHARE \
-datadir $HYPSEUS_SHARE \
$FULLSCREEN \
$NEAREST \
$LINEAR \
$BLANK \
$BLEND \
$GAMEPAD \
Expand Down
Binary file added sound/gp_count.wav
Binary file not shown.
Binary file added sound/gp_crash.wav
Binary file not shown.
Binary file added sound/gp_engine1.wav
Binary file not shown.
Binary file added sound/gp_engine2.wav
Binary file not shown.
Binary file added sound/gp_roar.wav
Binary file not shown.
Binary file added sound/gp_signal.wav
Binary file not shown.
Binary file added sound/gp_tires.wav
Binary file not shown.
2 changes: 0 additions & 2 deletions src/3rdparty/retropie/RETROPIE.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,6 @@ Lightguns will require the ``-manymouse`` argument passed to Singe to enable abs

See discussion here: [Discussions](https://github.com/DirtBagXon/hypseus-singe/discussions/)

Using Gun Game HD video content (_above 720x480_) will require the ``-set_overlay oversize`` argument.

## Compilation

* For compilation the following packages are required:
Expand Down
2 changes: 1 addition & 1 deletion src/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.0)

set(PKG_VERSION "v2.10.4")
set(PKG_VERSION "v2.11.1")

project(hypseus)

Expand Down
4 changes: 2 additions & 2 deletions src/HyperseusManifest.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<manifest>
<version>
<major>2</major>
<minor>10</minor>
<build>4</build>
<minor>11</minor>
<build>1</build>
</version>
</manifest>
76 changes: 49 additions & 27 deletions src/game/badlands.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -75,18 +75,21 @@ badlands::badlands()
firq_on = false;
irq_on = false;
nmi_on = false;
transparent = true;
yuv_on = false;

m_num_sounds = 1;
m_sound_name[S_BL_SHOT] = "bl_shot.wav";

m_sprite_lite = false;
shoot_led = false;
shoot_led_overlay = false;
shoot_led_numlock = false;
char_base = 0x4000;
charx_offset = 6;
chary_offset = 2;

banks[2] = 0x7D;

// this must be static
const static struct rom_def badlands_roms[] =
{// main 6809 program
Expand Down Expand Up @@ -114,6 +117,9 @@ badlandp::badlandp()
// needed for this version
m_game_type = GAME_BADLANDP;

banks[1] = 0xDF;
banks[2] = 0xFF;

// this must be static
const static struct rom_def badlandp_roms[] =
{// main 6809 program
Expand Down Expand Up @@ -154,9 +160,13 @@ void badlands::do_nmi()
{
mc6809_nmi = 1;
}
#ifdef LINUX
if (!transparent && video::get_yuv_overlay_ready()) video::set_yuv_video_blank(true);
#endif

if (!yuv_on)
if (video::get_yuv_overlay_ready()) {
video::set_video_blank(true);
yuv_on = true;
}

blit(); // the NMI runs at the same period as the monitor vsync
}

Expand Down Expand Up @@ -219,12 +229,13 @@ void badlands::cpu_mem_write(Uint16 addr, Uint8 value)

// DSP On
else if (addr == 0x1003) {
if (value) {
palette::set_transparency(0, false);
transparent = false;
} else {
palette::set_transparency(0, true);
transparent = true;

if (yuv_on) {
if (value) {
video::set_video_blank(true);
} else {
video::set_video_blank(false);
}
}
}

Expand Down Expand Up @@ -294,7 +305,7 @@ void badlands::cpu_mem_write(Uint16 addr, Uint8 value)
}

else {
LOGW << fmt("Write to %x with %x", addr, value);
LOGD << fmt("Write to %x with %x", addr, value);
}

m_cpumem[addr] = value;
Expand Down Expand Up @@ -325,7 +336,7 @@ Uint8 badlandp::cpu_mem_read(Uint16 addr)
// ROM
else if (addr >= 0xc000) {
} else {
LOGW << fmt("Read from %x", addr);
LOGD << fmt("Read from %x", addr);
}

return result;
Expand All @@ -349,12 +360,13 @@ void badlandp::cpu_mem_write(Uint16 addr, Uint8 value)
}
// display disable
else if (addr == 0x0803) {
if (value) {
palette::set_transparency(0, false); // disable laserdisc video
transparent = false;
} else {
palette::set_transparency(0, true); // enable laserdisc video
transparent = true;

if (yuv_on) {
if (value) {
video::set_video_blank(true);
} else {
video::set_video_blank(false);
}
}
}
// ?
Expand Down Expand Up @@ -426,6 +438,9 @@ void badlands::palette_calculate()

palette::set_color(i, temp_color);
}

if (m_sprite_lite)
palette::set_transparency(3, true);
}

// updates badlands's video
Expand Down Expand Up @@ -454,13 +469,8 @@ void badlands::repaint()
}
}

if (shoot_led) {
const char *t = "SHOOT!";
Uint8 x = 24;

if (get_use_old_overlay()) x = 20;
video::draw_string(t, x, 220, m_video_overlay[m_active_video_overlay]);
}
if (shoot_led)
video::draw_shoot(294, 215, m_video_overlay[m_active_video_overlay]);
}

// this gets called when the user presses a key or moves the joystick
Expand Down Expand Up @@ -491,7 +501,7 @@ void badlands::input_enable(Uint8 move, Sint8 mouseID)
case SWITCH_TEST:
break;
default:
LOGW << "bug in move enable";
LOGD << "bug in move enable";
break;
}
}
Expand Down Expand Up @@ -526,7 +536,7 @@ void badlands::input_disable(Uint8 move, Sint8 mouseID)
// during boot
break;
default:
LOGW << "bug in move enable";
LOGD << "bug in move disable";
break;
}
}
Expand Down Expand Up @@ -556,6 +566,7 @@ void badlands::reset()
{
cpu::reset();
ldv1000::reset();
yuv_on = false;
}

void badlands::set_preset(int preset)
Expand Down Expand Up @@ -596,3 +607,14 @@ void badlands::update_shoot_led(Uint8 value)
}
}
}

bool badlandp::handle_cmdline_arg(const char *arg)
{
bool bRes = false;

if (strcasecmp(arg, "-spritelite") == 0) {
m_sprite_lite = bRes = true;
}

return bRes;
}
4 changes: 3 additions & 1 deletion src/game/badlands.h
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,8 @@ class badlands : public game
bool firq_on;
bool irq_on;
bool nmi_on;
bool transparent;
bool yuv_on;
bool m_sprite_lite;
Uint8 character[0x2000];
Uint8 color_prom[0x20];
Uint8 banks[3]; // badlands's banks
Expand All @@ -79,4 +80,5 @@ class badlandp : public badlands
badlandp();
Uint8 cpu_mem_read(Uint16 addr); // memory read routine
void cpu_mem_write(Uint16 addr, Uint8 value); // memory write routine
bool handle_cmdline_arg(const char *arg);
};
Loading

0 comments on commit fb981e2

Please sign in to comment.