djyt / cannonball Goto Github PK
View Code? Open in Web Editor NEWCannonball: An Enhanced OutRun Engine
Home Page: http://reassembler.blogspot.com
Cannonball: An Enhanced OutRun Engine
Home Page: http://reassembler.blogspot.com
Hello
I've compiled Cannonball version 0.3 for Linux Mint 14.04 64bit. I have noticed that the music runs a tiny bit too slow. I verified this by capturing the sound test output with ALSA and comparing the length of Magical Sound Shower with the wave output of the VGM version and with various CD releases.
Love what you have done with the game :-)
I love playing this on my CRT, but sadly 240p only makes it impossible when taking my SD card to try and play it on my LCD TV, since it does not support such a low resolution.
I tried the mentioned build instructions on Linux Mint and it returned an error due to a missing DirectX SDK
Hi there,
I've definitely got cannonball installed. It's suddenly disappeared from the ports list since I've scraped all the games on my system. This happened on another pi too... any ideas how to get it back please?
Thanks
Ian
This is the result after I "make" - gets all the way down to the linker and breaks
I have the latest boost and sdl installed. the cmake ran fine and I used the cmake file for macosx that is provided.
[ 98%] Building CXX object CMakeFiles/cannonball.dir/Users/jackfeschuk/Documents/github/cannonball/src/main/engine/audio/osoundint.cpp.o
[100%] Linking CXX executable cannonball
clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9 [-Wdeprecated]
Undefined symbols for architecture x86_64:
"_main", referenced from:
start in crt1.10.6.o
(maybe you meant: __ZN4OHud13draw_main_hudEv, _SDL_main )
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [cannonball] Error 1
make[1]: *** [CMakeFiles/cannonball.dir/all] Error 2
make: *** [all] Error 2
Hi, it seems you have fixed some bugs present in the original game. For preservation and gameplay purposes, it would be great to include some sort of "bug compatibility" mode (GNU options example: 'cannonball -b' or 'cannonball --bug') where you can experience the same bugs and glitches that you would see in the original arcade. There are some modern and fanmade ports of other games with the same exact goal, such as Chocolate Doom and Rogue Restoration Project (the only difference is that Doom or Rogue had their source code available after a few years, but if you have already reverse-engineered and documented the original ROM of OutRun that shouldn't be a problem at all), which make them great as a starting point for newer ports and forks.
Yes Chris, I am still in the need for the rumble to be implemented! :)
Cannonball could be the best outrun version out there (well, it just is!), but it is still missing one of the feature that made the cabinet memorable: RUMBLE!
I know the force feedback is supported, but... rumble?! My rumble equipped arcade cabinet NEEDS this feature (ah, no: that's me!).
I have found this awesome port for the Wii:
http://wiibrew.org/wiki/OutRun_(Cannonball_engine)
And it's really great to have a way to play this great engine of this great game on the Wii. I just tested the Classic Controller but I noticed it has some high retard when I press a button or the D-Pad. It needs a lot of time from when I press the brake button until the brake light of the car looks on and the car starts to brake. The same with all other buttons and the D-Pad. It works perfect to move the car with the analog stick.
Whether I open the program via Steam or via the App directly, no matter whether I launch it in compatibility mode or not (Tried Windows 8, Windows Vista, Windows 7, XP... no joy) this game refuses to load. It will load the black and white code window and then just disappear never to be seen again.
Anyone know how to make this work on a PC? XD
I download the cannonball-v03-w32.zip (http://www.massdestruction.co.uk/outrun/), and when I open it, it opens a command shell with follow error: "Error initalizing audio: No available audio device", and as result I have no sound in the application.
DXDIAG infos:
Time of this report: 11/7/2020, 18:00:29
Machine name: DESKTOP-RS8P7VJ
Machine Id: {7F0D933E-348D-4E01-93F4-70AC3B405CC0}
Operating System: Windows 10 Pro 64-bit (10.0, Build 19041) (19041.vb_release.191206-1406)
Language: Portuguese (Regional Setting: Portuguese)
System Manufacturer: Micro-Star International Co., Ltd.
System Model: MS-7A33
BIOS: 3.JS (type: UEFI)
Processor: AMD Ryzen 7 2700X Eight-Core Processor (16 CPUs), ~3.7GHz
Memory: 16384MB RAM
Available OS Memory: 16330MB RAM
Page File: 7281MB used, 10072MB available
Windows Dir: C:\WINDOWS
DirectX Version: DirectX 12
DX Setup Parameters: Not found
User DPI Setting: 96 DPI (100 percent)
System DPI Setting: 96 DPI (100 percent)
DWM DPI Scaling: Disabled
Miracast: Available, with HDCP
Microsoft Graphics Hybrid: Not Supported
DirectX Database Version: 1.0.8
DxDiag Version: 10.00.19041.0546 64bit Unicode
Display Tab 1: No problems found.
Sound Tab 1: No problems found.
Sound Tab 2: No problems found.
Input Tab: No problems found.
Direct3D: 0/4 (retail)
DirectDraw: 0/4 (retail)
DirectInput: 0/5 (retail)
DirectMusic: 0/5 (retail)
DirectPlay: 0/9 (retail)
DirectSound: 0/5 (retail)
DirectShow: 0/6 (retail)
Card name: NVIDIA GeForce GTX 1050 Ti
Manufacturer: NVIDIA
Chip type: GeForce GTX 1050 Ti
DAC type: Integrated RAMDAC
Device Type: Full Device (POST)
Device Key: Enum\PCI\VEN_10DE&DEV_1C82&SUBSYS_372A1458&REV_A1
Device Status: 0180200A [DN_DRIVER_LOADED|DN_STARTED|DN_DISABLEABLE|DN_NT_ENUMERATOR|DN_NT_DRIVER]
Device Problem Code: No Problem
Driver Problem Code: Unknown
Display Memory: 12182 MB
Dedicated Memory: 4018 MB
Shared Memory: 8164 MB
Current Mode: 1920 x 1080 (32 bit) (60Hz)
HDR Support: Not Supported
Display Topology: Internal
Display Color Space: DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709
Color Primaries: Red(0.644531,0.332031), Green(0.315430,0.619141), Blue(0.151367,0.065430), White Point(0.313477,0.329102)
Display Luminance: Min Luminance = 0.500000, Max Luminance = 270.000000, MaxFullFrameLuminance = 270.000000
Monitor Name: Generic PnP Monitor
Monitor Model: VG245
Monitor Id: AUS24A1
Native Mode: 1920 x 1080(p) (60.000Hz)
Output Type: HDMI
Monitor Capabilities: HDR Not Supported
Display Pixel Format: DISPLAYCONFIG_PIXELFORMAT_32BPP
Advanced Color: Not Supported
Driver Name: C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_8cf1665a41d3a3cf\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_8cf1665a41d3a3cf\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_8cf1665a41d3a3cf\nvldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_8cf1665a41d3a3cf\nvldumdx.dll
Driver File Version: 27.21.0014.5709 (English)
Driver Version: 27.21.14.5709
DDI Version: 12
Feature Levels: 12_1,12_0,11_1,11_0,10_1,10_0,9_3,9_2,9_1
Driver Model: WDDM 2.7
Hardware Scheduling: Supported:True Enabled:False
Graphics Preemption: Pixel
Compute Preemption: Dispatch
Miracast: Not Supported
Detachable GPU: No
Hybrid Graphics GPU: Not Supported
Power P-states: Not Supported
Virtualization: Paravirtualization
Block List: No Blocks
Catalog Attributes: Universal:False Declarative:False
Driver Attributes: Final Retail
Driver Date/Size: 22/10/2020 00:00:00, 1039376 bytes
WHQL Logo'd: n/a
WHQL Date Stamp: n/a
Device Identifier: {D7B71E3E-5FC2-11CF-A561-24171BC2D635}
Vendor ID: 0x10DE
Device ID: 0x1C82
SubSys ID: 0x372A1458
Revision ID: 0x00A1
Driver Strong Name: oem83.inf:0f066de3900e3bc1:Section094:27.21.14.5709:pci\ven_10de&dev_1c82
Rank Of Driver: 00D12001
Video Accel:
DXVA2 Modes: {86695F12-340E-4F04-9FD3-9253DD327460} DXVA2_ModeMPEG2_VLD {6F3EC719-3735-42CC-8063-65CC3CB36616} DXVA2_ModeVC1_D2010 DXVA2_ModeVC1_VLD {32FCFE3F-DE46-4A49-861B-AC71110649D5} DXVA2_ModeH264_VLD_Stereo_Progressive_NoFGT DXVA2_ModeH264_VLD_Stereo_NoFGT DXVA2_ModeH264_VLD_NoFGT DXVA2_ModeHEVC_VLD_Main DXVA2_ModeHEVC_VLD_Main10 {20BB8B0A-97AA-4571-8E99-64E60606C1A6} {15DF9B21-06C4-47F1-841E-A67C97D7F312} DXVA2_ModeMPEG4pt2_VLD_Simple DXVA2_ModeMPEG4pt2_VLD_AdvSimple_NoGMC {9947EC6F-689B-11DC-A320-0019DBBC4184} {33FCFE41-DE46-4A49-861B-AC71110649D5} DXVA2_ModeVP9_VLD_Profile0 DXVA2_ModeVP9_VLD_10bit_Profile2 {DDA19DC7-93B5-49F5-A9B3-2BDA28A2CE6E} {6AFFD11E-1D96-42B1-A215-93A31F09A53D} {914C84A3-4078-4FA9-984C-E2F262CB5C9C}
Deinterlace Caps: {6CB69578-7617-4637-91E5-1C02DB810285}: Format(In/Out)=(YUY2,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY DeinterlaceTech_PixelAdaptive
{F9F19DA5-3B09-4B2F-9D89-C64753E3EAAB}: Format(In/Out)=(YUY2,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY
{5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(YUY2,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY
{335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(YUY2,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY DeinterlaceTech_BOBVerticalStretch
{6CB69578-7617-4637-91E5-1C02DB810285}: Format(In/Out)=(UYVY,UYVY) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY DeinterlaceTech_PixelAdaptive
{F9F19DA5-3B09-4B2F-9D89-C64753E3EAAB}: Format(In/Out)=(UYVY,UYVY) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY
{5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(UYVY,UYVY) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY
{335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(UYVY,UYVY) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY DeinterlaceTech_BOBVerticalStretch
{6CB69578-7617-4637-91E5-1C02DB810285}: Format(In/Out)=(YV12,0x32315659) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY DeinterlaceTech_PixelAdaptive
{F9F19DA5-3B09-4B2F-9D89-C64753E3EAAB}: Format(In/Out)=(YV12,0x32315659) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY
{5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(YV12,0x32315659) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY
{335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(YV12,0x32315659) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY DeinterlaceTech_BOBVerticalStretch
{6CB69578-7617-4637-91E5-1C02DB810285}: Format(In/Out)=(NV12,0x3231564e) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY DeinterlaceTech_PixelAdaptive
{F9F19DA5-3B09-4B2F-9D89-C64753E3EAAB}: Format(In/Out)=(NV12,0x3231564e) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY
{5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(NV12,0x3231564e) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY
{335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(NV12,0x3231564e) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY DeinterlaceTech_BOBVerticalStretch
{6CB69578-7617-4637-91E5-1C02DB810285}: Format(In/Out)=(IMC1,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps=
{F9F19DA5-3B09-4B2F-9D89-C64753E3EAAB}: Format(In/Out)=(IMC1,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps=
{5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(IMC1,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps=
{335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(IMC1,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps=
{6CB69578-7617-4637-91E5-1C02DB810285}: Format(In/Out)=(IMC2,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps=
{F9F19DA5-3B09-4B2F-9D89-C64753E3EAAB}: Format(In/Out)=(IMC2,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps=
{5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(IMC2,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps=
{335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(IMC2,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps=
{6CB69578-7617-4637-91E5-1C02DB810285}: Format(In/Out)=(IMC3,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps=
{F9F19DA5-3B09-4B2F-9D89-C64753E3EAAB}: Format(In/Out)=(IMC3,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps=
{5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(IMC3,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps=
{335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(IMC3,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps=
{6CB69578-7617-4637-91E5-1C02DB810285}: Format(In/Out)=(IMC4,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps=
{F9F19DA5-3B09-4B2F-9D89-C64753E3EAAB}: Format(In/Out)=(IMC4,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps=
{5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(IMC4,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps=
{335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(IMC4,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps=
{6CB69578-7617-4637-91E5-1C02DB810285}: Format(In/Out)=(S340,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps=
{F9F19DA5-3B09-4B2F-9D89-C64753E3EAAB}: Format(In/Out)=(S340,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps=
{5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(S340,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps=
{335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(S340,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps=
{6CB69578-7617-4637-91E5-1C02DB810285}: Format(In/Out)=(S342,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps=
{F9F19DA5-3B09-4B2F-9D89-C64753E3EAAB}: Format(In/Out)=(S342,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps=
{5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(S342,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps=
{335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(S342,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps=
D3D9 Overlay: Supported
DXVA-HD: Supported
DDraw Status: Enabled
D3D Status: Enabled
AGP Status: Enabled
MPO MaxPlanes: 1
MPO Caps: Not Supported
MPO Stretch: Not Supported
MPO Media Hints: Not Supported
MPO Formats: Not Supported
PanelFitter Caps: Not Supported
PanelFitter Stretch: Not Supported
Description: Altifalantes (Realtek(R) Audio)
Default Sound Playback: Yes
Default Voice Playback: Yes
Hardware ID: HDAUDIO\FUNC_01&VEN_10EC&DEV_0892&SUBSYS_1462FA33&REV_1003
Manufacturer ID: N/A
Product ID: N/A
Type: N/A
Driver Name: RTKVHD64.sys
Driver Version: 6.0.8945.1 (English)
Driver Attributes: Final Retail
WHQL Logo'd: n/a
Date and Size: 30/04/2020 00:00:00, 7339104 bytes
Other Files:
Driver Provider: Realtek Semiconductor Corp.
HW Accel Level: Emulation Only
Cap Flags: 0x0
Min/Max Sample Rate: 0, 0
Static/Strm HW Mix Bufs: 0, 0
Static/Strm HW 3D Bufs: 0, 0
HW Memory: 0
Voice Management: No
EAX(tm) 2.0 Listen/Src: No, No
I3DL2(tm) Listen/Src: No, No
Sensaura(tm) ZoomFX(tm): No
Description: VG245 (NVIDIA High Definition Audio)
Default Sound Playback: No
Default Voice Playback: No
Hardware ID: HDAUDIO\FUNC_01&VEN_10DE&DEV_0080&SUBSYS_1458372A&REV_1001
Manufacturer ID: N/A
Product ID: N/A
Type: N/A
Driver Name: nvhda64v.sys
Driver Version: 1.3.38.35 (English)
Driver Attributes: Final Retail
WHQL Logo'd: n/a
Date and Size: 09/06/2020 00:00:00, 222112 bytes
Other Files:
Driver Provider: NVIDIA Corporation
HW Accel Level: Emulation Only
Cap Flags: 0x0
Min/Max Sample Rate: 0, 0
Static/Strm HW Mix Bufs: 0, 0
Static/Strm HW 3D Bufs: 0, 0
HW Memory: 0
Voice Management: No
EAX(tm) 2.0 Listen/Src: No, No
I3DL2(tm) Listen/Src: No, No
Sensaura(tm) ZoomFX(tm): No
Description: Microfone (Realtek(R) Audio)
Default Sound Capture: Yes
Default Voice Capture: Yes
Driver Name: RTKVHD64.sys
Driver Version: 6.0.8945.1 (English)
Driver Attributes: Final Retail
Date and Size: 30/04/2020 00:00:00, 7339104 bytes
Cap Flags: 0x0
Format Flags: 0x0
"I have found a bug in Cannonball with regards to the prototype level. I played a game with the prototype enabled, then disabled the level, but the prototype level was still present even though I had disabled it. Trying to select between World or Japan versions made no difference - the relevant protoype level for the version selected was still there. Only after exiting and restarting the game was the original level restored."
Hi
I was wondering if this will continue it's developnment. I know that the most bugs from the original arcade are fixed and there's a lot of improvement, but this has a lot of potencial. Maybe some telemetry output for motion simulator or haptic HID, an online ranking, ghost time attack? And it will sound crazy but try to recreate Turbo Outrun or OutRunners
Anyway, hope to see some update soon ๐
This error happens by launching the game from emulationstation with retropie 4.4 on rpi1:
runcommand,log
Parameters:
Executing: pushd /opt/retropie/ports/cannonball; /opt/retropie/ports/cannonball/
cannonball; popd
/opt/retropie/ports/cannonball ~/RetroPie/roms/ports
/opt/retropie/supplementary/runcommand/runcommand.sh: line 1006: 9719 Illegal i
nstruction /opt/retropie/ports/cannonball/cannonball
~/RetroPie/roms/ports
Hello Cannonball devs, nice project !
However, when i looked at the license, it wasn't pretty to say the least...
- Redistributions may not be sold, nor may they be used in a commercial
product or activity.
I honestly wonder why this restriction is necessary ? Sega would not allow bundling it with outrun anyway and this prevents anyone from making a libre clone. (like Freedoom)
As for the latter, well, it basically implies i can't use it on my computer, it was sold as a commercial product after all... which means that i can be on the receiving end of a lawsuit from you by simply using it. w_w
Please, switch to another license like the GPLv3, Apache or even the Expat license.
Thank you
additionally to its own folder, Cannonball should also check for /usr/share/games/outrun and /usr/local/share/games/outrun for the roms.
Hi,
Can the cannonball engine support other Super Scaler SEGA Arcade (AfterBurner, Thunderblade)?
Thanks.
The Mac binary is not up-to-date and crashes when you try to use Japan tracks. Are there tips on how to build mac binaries from the current source?
Cannonball can't compile in latest Ubuntu LTS due it requires CMake 3.18 and here is still version 3.16.3.
Sometimes the YM2151 music goes wonky on the mingw build.
The bug is not always reproducible, but is most commonly found when selecting Magical Sound Shower on the music menu.
The bug appears to be caused by playing a sample simultaneously on the PCM_FX7 channel. Swapping the GETREADY sample to PCM_FX5 cures the issue.
The bug cannot be reproduced with Visual C++. Strange...
I built Cannonball on Linux and I'm having some trouble getting multiple things to work due to unclear documentation. I'm new to all this so bear with me. I'm having trouble getting custom music to work and having issues with the patched samples. I downloaded the ROMs and I can't seem to get them to load. I put them in the same folder with the rest of the roms and for the custom music. I have the .wav file and I modified the config.xml document to add it in but it doesn't say where the .wav file should be. If someone could help clarify all this I would appreciate it.
Hi, thanks for that great engine!
I added a 120fps option in the libretro core for RetroArch:
https://github.com/libretro/cannonball/pull/6/files
I hope it's not too wrong and perhaps some parts could be used here to add that option.
Just wanted to let you know that.
The analog support appears to work only for joystick #1. My arcade cabinet has a joystick as ID 1 and a wheel as ID 2, and the wheel is just not seen at all.
Hi,
After building on Win32 x86, if I run the game and go straight into time trial mode, it crashes.
The crash is located in outs.cpp, line 206.
converted[2] = ostats.lap_ms[ms_lookup];
It occurs because lap_ms hasn't been setup yet. It's null. OStats::clear_stage_times() hasn't been called yet. But if I go into the game first (which calls the function) and then go back to time trail, it works.
Thanks,
djcc
1/ A configurable dead zone
2/ Split-axis support.
3/ Ability to toggle between analog/digital for each analog control.
4/ Menu support.
Thanks for your great core. I was wondering if you planned to support spinner (as a wheel) for arcade integration. I'm using a spintrack Spinner which is recognized as a 1 axes mouse with linux.
With the current code running on RPi4 with SDL2, I run in to the following after a variable period of time:
Thread 5 "SDLAudioP2" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xaf2ff360 (LWP 7777)]
0xb6fb9c5c in memcpy () from /usr/lib/arm-linux-gnueabihf/libarmmem-v7l.so
(gdb) Exception ignored in: <gdb.GdbOutputFile object at 0xb5e47b70>
Traceback (most recent call last):
File "/usr/share/gdb/python/gdb/__init__.py", line 43, in flush
def flush(self):
KeyboardInterrupt
Any assistance troubleshooting this would be greatly appreciated.
I tried to make the cannonball on raspbian (raspberry pi). It won't finish beacuse memcpy is not defined.
It can be solved by replacing hwtiles with std::hwtiles and addition of #include lib.
hello ?
How to make custom music work
I put custom .WAV in G: \ cannonball \ custom_music
How to edit config.xml to make it work in the game
Using the v.03 (Nov 2014) build on Windows 10 (x64) the following effects are occurring:
OpenGL: after level 2 (Gateway, Devil's Canyon) the music and screen update slows down.
Software Rendering: on any level the game can pause for up-to 2 seconds. A driver exception is thrown and logged in EventVwr.
Display driver igfx stopped responding and has successfully recovered.
This occurs at original frame rate, 30FPS and 60FPS. The average GPU processor time usage is only 4% so this is unexpected behaviour.
System info:
OS: Windows 10 build 10.0.18363.959 (x64)
Processor: Intel N4200 @ 1.1GHz (4 core)
Memory: 4Gb DDR3
HDD: 500Gb SSD
Machine: Acer Aspire E5 15
Display Driver: Intel(R) HD Graphics
Main Driver: igdumdim64.dll,igd10iumd64.dll,igd10iumd64.dll,igd12umd64.dll
Display Memory: 128Mb
The memory usage is not continually increasing. The OpenGL build resumes normal speed when the game ends (out of time) or goes back to attract mode.
The build instructions seem unclear to me. What generator should I use if I don't want to use an SDK and don't want to use DirectX?
And why does default.cmake use absolute paths?
It would be really nice if there was a way to make Cannonball use a CRT shader so it would look as similar as possible to the real arcade cabinet screen.
I'm running at 3840x2160 and although cannon ball works perfectly in a window, it's totally non functional for full screen mode. When I set it to full screen, it blows up 25% of the screen to full screen with the rest of the screen cut off at my monitor's borders. This makes it impossible to play the game full screen.
Hi,
I understand this support 16:9 but what about 21:9 at correct ratio?
If not is it complicated to implement?
Sorry if wrong section to ask ...
Great work!
Hello, it seems no matter which controller I plug in the car steer to the left randomly, in some straight lines it seems correct, then a few seconds later the left-steer is back again. It aims to the left as well using a DualShock3 gamepad but somehow with a gamepad I'm unable to create a deadzone in the configuration file (or maybe I have to input some specific command about adding a deadzone with said controller I have no clue). It doesn't seem to be a calibration issue as moving completely to the end of the axes doesn't seem to change anything. Very much like Cannonball if it wouldn't be of this annoying bug, thank you for your work on it.
Would you consider porting this to Libretro/RetroArch?
If unlimited time allowed and completion time is over 9:59, the minutes displays a single (non-numeric) character. Not really a big issue, but anyway :)
The "epr-10381a.132" got renamed to "epr-10381b.132" and the "epr-10381.132" (outrundx) no longer exists, due having the same hashes as "epr-10381b.132" which it's located in parent ROM.
Is it possible to run Cannonball in native resolution? I want to run this game in my arcade cabinet but with the same resolution as the original game (I'm using ArcadeVGA who allows that)
Thank you so much for Cannonball, I'm really enjoying it.
There's only one thing i'd love to change...
I have a PC-to-15KHz-Monitor setup and since this super small factor machine lacks a dedicated GPU, I'm stuck to so called "Super Resolution" at 2560x240 for the terminal and everything non-emulated under linux.
When I launch cannonball I have to select "fullscreen stretched" for the entire screen to get filled. Since the native res is 224 in height this causes some distortion.
A dream-come-true would be another option for stretching only horizontally but keeping the 224 pixel height.
Playing the game without cheat, normal difficulty. Bonus counter is shown wrongly.
Let's put it this way: 19 sec. left, counter showing 12.6 sec. and counting 12.6 millions.
hi! let me just start by saying that i love this game!
the problem is that the game always opens up at the desktop resolution.. i want to force the game to open at 320x224, and i dont know the way to do that in the config.xml file..
(im using a real arcade monitor, and before i open the game i always have to change the dektop res..)
Hi there,
Just wanted to let you know that I developed a cannonball fork which allows it to be used as a library, this is, it builds a standalone executable (just like before) and library file which is accessed via ExternalInterface.
Would this be interesting to add on the main repo?
Hi there,
we would like to seek your permission to include Cannonball as a core as free DLC for RetroArch on Steam.
The user would have to manually install this, it would be freely made available.
If there's anything you are unsure of or are hesitant about, don't hesitate to bring it to our attention. We will always go with whatever you decide.
When the game starts the accelerator is pegged all the time. I have to press it down for it to not be engaged. I have analog controls turned on and I have my gas and brake mapped correctly as axis 2 and 3. Most other apps require me to set axis 3 as inverted in order to work correctly, but cannonball expects axis 2 to be inverted. Brake (axis 3) works correctly, but I have to hold down accel (as axis 2) in order to coast.
Is there any way to invert an axis in cannonball settings?
Hi there!
Just added force feedback support for linux. Pull is requested. Please help me testing by checking it with your devices. You should enable and configure it in config.xml and it should automatically detect it. Only one device supported.
https://github.com/Ismas/cannonball/tree/linux_forcefeedback_support
When loading epr-10187.88, it checks for a file length of 0x10000 but it should be 0x08000 instead.
Hi
What are the possibilities of packaging Cannonball in a flatpak for delivery via flathub?
Thanks in advance
Nick
I've seen that some people also have had this issue, but I still can't seem to find an answer to it. With my controller plugged and analog enabled, the car will always be steering to the left a little bit, and accelerating to 68-69km/h. The game's completely awesome, but man, that makes it difficult to enjoy!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.