mirror of
https://github.com/wavemotion-dave/A7800DS.git
synced 2025-04-02 10:42:14 -04:00
Compare commits
4 commits
Author | SHA1 | Date | |
---|---|---|---|
|
d57a21997a | ||
|
849c18eb2b | ||
|
c1d61673a7 | ||
|
ec31048360 |
6 changed files with 16 additions and 29 deletions
BIN
A7800DS.nds
BIN
A7800DS.nds
Binary file not shown.
19
README.md
19
README.md
|
@ -23,7 +23,7 @@ Features :
|
||||||
All popular bank-switching schemes are supported including an extra 16K of RAM at 4000h.
|
All popular bank-switching schemes are supported including an extra 16K of RAM at 4000h.
|
||||||
Pokey support at 4000h, 800h and 450h - change this in Configuration if it's not auto-detected.
|
Pokey support at 4000h, 800h and 450h - change this in Configuration if it's not auto-detected.
|
||||||
|
|
||||||
The new Banksets scheme is fully supported - this new banking/memory handling is designed
|
The Banksets scheme is fully supported - this new banking/memory handling is designed
|
||||||
for homebrew authors to provide increased ROM density and improved packing and access of
|
for homebrew authors to provide increased ROM density and improved packing and access of
|
||||||
graphics data vs code. This allows for games that would have been difficult or impossible
|
graphics data vs code. This allows for games that would have been difficult or impossible
|
||||||
without the scheme. See http://7800.8bitdev.org/index.php/Bankset_Bankswitching for more details.
|
without the scheme. See http://7800.8bitdev.org/index.php/Bankset_Bankswitching for more details.
|
||||||
|
@ -31,6 +31,9 @@ Features :
|
||||||
Add highscore.rom for 7800 High Score saving. This can be in /roms/bios, /data/bios
|
Add highscore.rom for 7800 High Score saving. This can be in /roms/bios, /data/bios
|
||||||
or in the same directory as the emulator. It's worth the effort to track down the highscore.rom file!
|
or in the same directory as the emulator. It's worth the effort to track down the highscore.rom file!
|
||||||
|
|
||||||
|
If you want to use a real Atari 7800 BIOS, find yourself the 4K version and place it
|
||||||
|
into the same directory as mentioned in the paragraph above.
|
||||||
|
|
||||||
Copyright :
|
Copyright :
|
||||||
----------
|
----------
|
||||||
A7800DS is Copyright 2021-2025 by Dave Bernazzani (wavemotion-dave).
|
A7800DS is Copyright 2021-2025 by Dave Bernazzani (wavemotion-dave).
|
||||||
|
@ -108,11 +111,10 @@ Controls :
|
||||||
that utilize it. This allows all of the DS buttons to map into the game - exactly
|
that utilize it. This allows all of the DS buttons to map into the game - exactly
|
||||||
as labeled (D-Pad plus ABXY, Left Shoulder, Right Shoulder and Start, Select).
|
as labeled (D-Pad plus ABXY, Left Shoulder, Right Shoulder and Start, Select).
|
||||||
|
|
||||||
High Score Saving works if you have highscore.rom (exact name and case) in your
|
High Score Saving works if you have highscore.rom (exact name) in your
|
||||||
roms directory where you load your games... also, you MUST press the HSC button
|
roms directory where you load your games... The .hsc backing file will be written
|
||||||
if you want to snap the Saved Scores out to the flash card. It's not something
|
automatically as the game runs. Only games programmed to use the highscore cart
|
||||||
I want to do as the game runs... so you must do it... the high scores will also
|
will save scores.
|
||||||
auto-save if you quit the emulator or select a new game.
|
|
||||||
|
|
||||||
Configuration :
|
Configuration :
|
||||||
----------
|
----------
|
||||||
|
@ -136,8 +138,6 @@ The following schemes are supported:
|
||||||
Frame Skipping can be OFF (show all frames), Moderate (Show 3/4 frames) or Agressive (only show 1/2 frames). The latter is
|
Frame Skipping can be OFF (show all frames), Moderate (Show 3/4 frames) or Agressive (only show 1/2 frames). The latter is
|
||||||
only really needed for the DS-Lite/Phat where the faster DSi CPU isn't available.
|
only really needed for the DS-Lite/Phat where the faster DSi CPU isn't available.
|
||||||
|
|
||||||
Don't touch the DMA Cycle Adjustment unless you understand it... and most people don't - sometimes including the developer :)
|
|
||||||
|
|
||||||
Press START to save off your configuration - if you made changes you should re-load the game to ensure all settings are applied.
|
Press START to save off your configuration - if you made changes you should re-load the game to ensure all settings are applied.
|
||||||
|
|
||||||
Of Mice, Men and Screen Resolutions :
|
Of Mice, Men and Screen Resolutions :
|
||||||
|
@ -172,7 +172,8 @@ this while you are playing - usually when you lose a life you can tap the X butt
|
||||||
more useable scanlines for actual gameplay. Think of this like you're at the arcade and you have to glance up to see your
|
more useable scanlines for actual gameplay. Think of this like you're at the arcade and you have to glance up to see your
|
||||||
score when focused on the field of play. It takes a little getting used to but this mechanism really helps map the more complicated
|
score when focused on the field of play. It takes a little getting used to but this mechanism really helps map the more complicated
|
||||||
game graphics onto the small sceren. Of course youc an always scale the screen down to it's totally visible - but there will be
|
game graphics onto the small sceren. Of course youc an always scale the screen down to it's totally visible - but there will be
|
||||||
some loss of scanline information. Experiment and determine what works best for you.
|
some loss of scanline information. Experiment and determine what works best for you. Many of the popular games already have
|
||||||
|
the screen set to perfectly pan up/down to bring in the score/status while leaving the playfield as close to 1:1 as possible.
|
||||||
|
|
||||||
And remember - once you get your screen settings the way you want, be sure to go into the GEAR icon and hit START to save out
|
And remember - once you get your screen settings the way you want, be sure to go into the GEAR icon and hit START to save out
|
||||||
your current configuration (which includes your screen offset/scaling tweaks on a per-game basis).
|
your current configuration (which includes your screen offset/scaling tweaks on a per-game basis).
|
||||||
|
|
|
@ -34,9 +34,9 @@
|
||||||
// ---------------------------
|
// ---------------------------
|
||||||
// Config handling...
|
// Config handling...
|
||||||
// ---------------------------
|
// ---------------------------
|
||||||
#define CONFIG_VER 0x000A
|
#define CONFIG_VER 0x000B
|
||||||
|
|
||||||
#define MAX_CONFIGS 700
|
#define MAX_CONFIGS 640
|
||||||
|
|
||||||
struct AllConfig_t
|
struct AllConfig_t
|
||||||
{
|
{
|
||||||
|
|
|
@ -43,6 +43,8 @@ typedef struct {
|
||||||
s16 xScale;
|
s16 xScale;
|
||||||
s16 yScale;
|
s16 yScale;
|
||||||
u8 frameSkip;
|
u8 frameSkip;
|
||||||
|
u8 spare0;
|
||||||
|
u8 spare1;
|
||||||
u8 hasHeader;
|
u8 hasHeader;
|
||||||
u8 palette;
|
u8 palette;
|
||||||
u8 xJiggle;
|
u8 xJiggle;
|
||||||
|
@ -53,6 +55,8 @@ typedef struct {
|
||||||
u8 spare3;
|
u8 spare3;
|
||||||
u8 spare4;
|
u8 spare4;
|
||||||
u8 spare5;
|
u8 spare5;
|
||||||
|
u8 spare6;
|
||||||
|
u8 spare7;
|
||||||
} Database_Entry;
|
} Database_Entry;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -978,22 +978,6 @@ uint sally_ExecuteNMI( ) {
|
||||||
return 7;
|
return 7;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
// Execute IRQ
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
uint sally_ExecuteIRQ( ) {
|
|
||||||
if(!(sally_p & _fI)) {
|
|
||||||
sally_Push(sally_pc.b.h);
|
|
||||||
sally_Push(sally_pc.b.l);
|
|
||||||
sally_p &= ~_fB;
|
|
||||||
sally_Push(sally_p);
|
|
||||||
sally_p |= _fI;
|
|
||||||
sally_pc.b.l = memory_ram[SALLY_IRQ.L];
|
|
||||||
sally_pc.b.h = memory_ram[SALLY_IRQ.H];
|
|
||||||
}
|
|
||||||
return 7;
|
|
||||||
}
|
|
||||||
|
|
||||||
extern uint prosystem_cycles;
|
extern uint prosystem_cycles;
|
||||||
|
|
||||||
ITCM_CODE void sally_Execute(unsigned int cycles )
|
ITCM_CODE void sally_Execute(unsigned int cycles )
|
||||||
|
|
|
@ -46,7 +46,6 @@ extern void sally_Reset( );
|
||||||
extern uint sally_ExecuteInstruction( );
|
extern uint sally_ExecuteInstruction( );
|
||||||
extern uint sally_ExecuteRES( );
|
extern uint sally_ExecuteRES( );
|
||||||
extern uint sally_ExecuteNMI( );
|
extern uint sally_ExecuteNMI( );
|
||||||
extern uint sally_ExecuteIRQ( );
|
|
||||||
extern byte sally_a;
|
extern byte sally_a;
|
||||||
extern byte sally_x;
|
extern byte sally_x;
|
||||||
extern byte sally_y;
|
extern byte sally_y;
|
||||||
|
@ -55,6 +54,5 @@ extern uint sally_s;
|
||||||
extern bool wsync_happened;
|
extern bool wsync_happened;
|
||||||
|
|
||||||
extern void sally_Execute(unsigned int cycles );
|
extern void sally_Execute(unsigned int cycles );
|
||||||
extern void sally_Execute_Fast(unsigned int cycles );
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Reference in a new issue