Skip to content

Commit

Permalink
Added VSCode configs, added list of supported arcade games, better se…
Browse files Browse the repository at this point in the history
…lection of machine, fixed pause on old consoles.
FluBBaOfWard committed Oct 16, 2021
1 parent 77d4e59 commit 49c2f29
Showing 11 changed files with 332 additions and 122 deletions.
83 changes: 83 additions & 0 deletions .vscode/c_cpp_properties.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
{
"configurations": [
{
"name": "Mac",
"includePath": [
"/usr/local/include",
"${workspaceFolder}",
"${workspaceFolder}/include",
"${workspaceFolder}/build",
"/opt/devkitPro/libnds/include",
"/opt/devkitPro/devkitARM/arm-none-eabi/include",
"/opt/devkitPro/devkitARM/lib/gcc/arm-none-eabi/10.2.0/include"
],
"defines": [],
"intelliSenseMode": "clang-x64",
"browse": {
"path": [
"/usr/local/include",
"${workspaceFolder}",
"${workspaceFolder}/include",
"/opt/devkitPro/libnds/include",
"/opt/devkitPro/devkitARM/arm-none-eabi/include",
"/opt/devkitPro/devkitARM/lib/gcc/arm-none-eabi/10.2.0/include"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
},
"macFrameworkPath": [
"/System/Library/Frameworks",
"/Library/Frameworks"
]
},
{
"name": "Linux",
"includePath": [
"/usr/include",
"/usr/local/include",
"${workspaceFolder}/include"
],
"defines": [],
"intelliSenseMode": "clang-x64",
"browse": {
"path": [
"/usr/include",
"/usr/local/include",
"${workspaceFolder}/include"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
}
},
{
"name": "Win32",
"includePath": [
"${workspaceFolder}",
"${workspaceFolder}/include",
"C:/devkitPro/devkitARM/arm-none-eabi/include",
"C:/devkitPro/devkitARM/lib/gcc/arm-none-eabi/10.2.0/include"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE",
"ARM7",
"WIN32"
],
"intelliSenseMode": "msvc-x64",
"browse": {
"path": [
"${workspaceFolder}",
"${workspaceFolder}/include",
"C:/devkitPro/devkitARM/arm-none-eabi/include",
"C:/devkitPro/devkitARM/lib/gcc/arm-none-eabi/10.2.0/include"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
},
"cStandard": "c11",
"cppStandard": "c++17"
}
],
"version": 4
}
41 changes: 41 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "2.0.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"preLaunchTask": "gdb-debug",
"postDebugTask": "stop emulation",
"serverLaunchTimeout": 10000,
"stopAtEntry": true,
"program": "${workspaceFolder}/${workspaceFolderBasename}.elf",
"MIMode": "gdb",
"externalConsole": true,
"cwd": "${workspaceFolder}",
"targetArchitecture": "arm",
"miDebuggerServerAddress": "localhost:2345",
"windows": {
"miDebuggerPath": "C:/devkitPro/devkitARM/bin/arm-none-eabi-gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"ignoreFailures": true,
"text": "file ${workspaceFolder}/${workspaceFolderBasename}.elf -enable-pretty-printing"
}]
},
"osx":{
"miDebuggerPath": "/opt/devkitPro/devkitARM/bin/arm-none-eabi-gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"ignoreFailures": true,
"text": "file ${workspaceFolder}/${workspaceFolderBasename}.elf -enable-pretty-printing"
}]
},
}
]
}
82 changes: 82 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "stop emulation",
"type": "shell",
"windows": {
"command": "taskkill /im mGBA.exe /F"
},
"osx": {
"command": "killall mGBA"
}
},
{
"label": "make debug",
"type": "process",
"command": "make",
"args": [
"DEBUG=1"
],
"problemMatcher": []
},
{
"label": "make release",
"type": "process",
"command": "make",
"args": [
"DEBUG=0"
],
"problemMatcher": [],
"group": {
"kind": "build",
"isDefault": true
}
},
{
"label": "clean",
"type": "shell",
"command": "make clean"
},
{
"label": "gdb-debug",
"type": "shell",
"dependsOn": [
"make debug"
],
"isBackground": false,
"windows": {
"command": "C:/mGBA/mGBA.exe -g ${workspaceFolder}/${workspaceFolderBasename}.nds;sleep 5;echo debuggerReady"
},
"osx": {
"command": "/Applications/desmume.app/Contents/MacOS/desmume",
"args": [
"-g",
"${workspaceFolder}/${workspaceFolderBasename}.nds"
]
},
"presentation": {
"clear": true,
"reveal": "always",
"panel": "new"
},
"command": "debuggerReady",
"problemMatcher": {
"background": {
"activeOnStart": true,
"beginsPattern": "^.*debuggerReady.*$",
"endsPattern": "^.*debuggerReady.*$"
}
}
},
{
"label": "run",
"type": "shell",
"isBackground": true,
"command": "C:/NO$GBADebugger/NO$GBA.exe ${workspaceFolder}/${workspaceFolderBasename}.elf",
"problemMatcher": []
}
]
}
8 changes: 8 additions & 0 deletions History.txt
Original file line number Diff line number Diff line change
@@ -2,6 +2,14 @@ S8DS revision history
-=-=-=-=-=-=-=-=-=-=-=-


V1.1.4 - 2021-10-16 (FluBBa)
Reverted a GG_IO optimization.
Fixed TV noise graphics after Power off.
Fixed file extension checking.
Fixed menu glitch if loading game directly.
Fixed pause on older Sega machines.
Better selection of machines.

V1.1.3 - 2021-10-12 (FluBBa)
Fixed crash at startup.
Added ui to enable/disable YM2413.
31 changes: 26 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# S8DS V1.1.3
# S8DS V1.1.4

This is a SEGA 8Bit emulator for the NDS, it support the following systems:

@@ -121,10 +121,29 @@ better 3D effect, I have only tested with red/cyan glasses.
### About:
Some dumb info...

Sleep: Put the NDS into sleepmode.
START+SELECT wakes up from sleep mode (activated from this menu or from
5/10/30 minutes of inactivity). !!! Doesn't work !!!

## Arcade roms
After Burner MT - mt_aftrb.zip
Alien Syndrom MT - mt_asyn.zip
Astro Warrior MT - mt_astro.zip
Fantasy Zone MT - mt_fz.zip
Great Football MT - mt_gfoot.zip
Great Golf MT - mt_ggolf.zip
Great Soccer MT - mt_gsocr.zip
Out Run MT - mt_orun.zip
Parlour Games MT - mt_parlg.zip
Shinobi MT - mt_shnbi.zip

Champion Boxing SG-AC - chboxing.zip
Champion Wrestling SG-AC - chwrestl.zip (encrypted)
Doki Doki Penguin SG-AC - dokidoki.zip

Astro Flash System-E - astrofl.zip (encrypted)
Fantasy Zone 2 System-E - fantzn2.zip (encrypted)
Hang On Jr System-E - hangonjr.zip
Opa Opa System-E - opaopa.zip (encrypted)
Riddle Of Pythagoras System-E - ridleofp.zip
Tetris System-E - tetrisse.zip
Transformer System-E - transfrm.zip


## Credits:
@@ -137,5 +156,7 @@ Omar Cornut (http://www.smspower.org/) for help with various SMS stuff.
The crew at PocketHeaven for their support.

Fredrik Olsson

Twitter @TheRealFluBBa

http://www.github.com/FluBBaOfWard
2 changes: 1 addition & 1 deletion source/Cart.s
Original file line number Diff line number Diff line change
@@ -15,7 +15,7 @@
.global g_cartFlags
.global g_machine
.global g_machineSet
// .global g_config
.global g_config
.global g_configSet
.global g_region
.global gArcadeGameSet
4 changes: 2 additions & 2 deletions source/Gfx.s
Original file line number Diff line number Diff line change
@@ -67,7 +67,7 @@
.align 2

antSeed:
.long 0x8000
.long 0x800000
;@----------------------------------------------------------------------------
antWars:
.type antWars STT_FUNC
@@ -109,7 +109,7 @@ antLoop0:
mov r2,#8
antLoop1:
movs r3,r3,lsr#1
eorcs r3,r3,#0x90000
eorcs r3,r3,#0xE10000
mov r4,r4,lsl#4
orrcs r4,r4,#0xF
subs r2,r2,#1
192 changes: 80 additions & 112 deletions source/Gui.c

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion source/Shared
Submodule Shared updated 3 files
+1 −1 AsmExtra.s
+41 −23 EmuMenu.c
+9 −1 EmuMenu.h
2 changes: 1 addition & 1 deletion source/cpu.s
Original file line number Diff line number Diff line change
@@ -46,9 +46,9 @@ runStart:
movpl r1,#224-SCREEN_HEIGHT
@ strb r1,[r2]

ldr z80optbl,=Z80OpTable
bl refreshEMUjoypads ;@ Z=1 if communication ok

ldr z80optbl,=Z80OpTable
add r0,z80optbl,#z80Regs
ldmia r0,{z80f-z80pc,z80sp} ;@ Restore Z80 state

7 changes: 7 additions & 0 deletions source/io.s
Original file line number Diff line number Diff line change
@@ -457,6 +457,10 @@ refreshSMSJoypads:
cmp r1,#HW_SYSE
cmpne r1,#HW_SGAC
beq noPause
ldr r0,=g_config
ldrb r0,[r0]
tst r0,#0x20
biceq r4,r4,#0x04 ;@ Remove Reset if disabled
ldr r0,=g_emuFlags
ldrb r0,[r0]
tst r0,#GG_MODE
@@ -900,6 +904,9 @@ Low0_IO_R: ;@ GG start button & country, 0x00
and r0,r0,#0x04 ;@ NDS X
mov r0,r0,lsl#5
orr r0,r0,r1,lsl#5
ldrb r1,joy0State
tst r1,#0x80
orrne r0,r0,#0x80
;@ orr r0,r0,#0x40 ;@ JAP/EXPORT
;@ orr r0,r0,#0x20 ;@ NTSC/PAL
eor r0,r0,#0xC0

0 comments on commit 49c2f29

Please sign in to comment.