Skip to content

Commit

Permalink
Updated checksum for HYP314_46_143_A500, cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
dirkwhoffmann committed Apr 20, 2023
1 parent 74cae2c commit 4b57265
Show file tree
Hide file tree
Showing 6 changed files with 24 additions and 25 deletions.
6 changes: 3 additions & 3 deletions Documentation/HowTo/NullModemCable.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Connecting Two Amigas

vAmiga supports two emulator instances to be connected with a null model cable, allowing the user to run multiplayer games. In this article we will walk through the necessary steps to connect two emulator instances running Battle Chess.
vAmiga supports two emulator instances to be connected with a null modem cable, allowing the user to run multiplayer games. In this article we will walk through the necessary steps to connect two emulator instances running Battle Chess.

First of all, launch vAmiga, open the configuration window and switch to the Peripherals tab. In this tab you can configure the serial interface:

![Peripherals Tab](images/battlechess1.png "Peripherals Tab")

Now open the serial port popup menu and select *Null Model Cable* from the options list. This will connect one side of a null modem cable to the serial port of your virtual Amiga. Internally, the null modem cable is emulated using socket connections, which means that the connected Amigas must agree on a common port number to communicate. By default, vAmiga uses port 8080, but you can choose a different port if you like.
Now open the serial port popup menu and select *Null Modem Cable* from the options list. This will connect one side of a null modem cable to the serial port of your virtual Amiga. Internally, the null modem cable is emulated using socket connections, which means that the connected Amigas must agree on a common port number to communicate. By default, vAmiga uses port 8080, but you can choose a different port if you like.

![Peripherals Tab](images/battlechess2.png "Peripherals Tab")

Expand All @@ -18,7 +18,7 @@ Now launch another instance of vAmiga and connect the null modem cable the same

After the null modem cable has been selected in the second emulator instance, the status icon has changed its shape, indicating that the connection has been established. If the icon looks different on your computer, please check if both emulator instances are listening to the same socket port.

Now it's time to load Battle Chess on both Amigas. The configuration of the null model cable is quite simple in this game: The the *Settings* menu let's you select the player type for each side of the board.
Now it's time to load Battle Chess on both Amigas. The configuration of the null modem cable is quite simple in this game: The the *Settings* menu let's you select the player type for each side of the board.

This is how I configured the first emulator instance. The Amiga controls the blue army, the connected computer controls the red army.

Expand Down
4 changes: 2 additions & 2 deletions Emulator/Components/Amiga.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -972,10 +972,10 @@ Amiga::_dump(Category category, std::ostream& os) const

os << tab("Machine type");
os << VideoFormatEnum::key(config.type) << std::endl;
os << tab("Warp boot");
os << dec(config.warpBoot) << " seconds" << std::endl;
os << tab("Warp mode");
os << WarpModeEnum::key(config.warpMode) << std::endl;
os << tab("Warp boot");
os << dec(config.warpBoot) << " seconds" << std::endl;
os << tab("Sync mode");
os << SyncModeEnum::key(config.syncMode);
if (config.syncMode == SYNC_FIXED_FPS) os << " (" << config.proposedFps << " fps)";
Expand Down
3 changes: 2 additions & 1 deletion Emulator/Media/RomFiles/RomFileTypes.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,8 @@ static const u32 CRC32_KICK31_40_068_A3000 = 0xEFB239CC;
static const u32 CRC32_KICK31_40_068_A4000 = 0xD6BAE334;
static const u32 CRC32_KICK31_40_070_A4000T = 0x75932C3A;

static const u32 CRC32_HYP314_46_143_A500 = 0xD52B52FD;
// static const u32 CRC32_HYP314_46_143_A500 = 0xD52B52FD;
static const u32 CRC32_HYP314_46_143_A500 = 0x568F8786;
static const u32 CRC32_HYP314_46_143_A1200 = 0xF17FA97F;
static const u32 CRC32_HYP314_46_143_A2000 = 0xC25939AC;
static const u32 CRC32_HYP314_46_143_A3000 = 0x50C3529C;
Expand Down
22 changes: 11 additions & 11 deletions Emulator/Misc/RetroShell/InterpreterCmds.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -247,16 +247,6 @@ Interpreter::initCommandShell(Command &root)
amiga.configure(OPT_SYNC_MODE, SYNC_FIXED_FPS);
});

root.add({"amiga", "init"}, { ConfigSchemeEnum::argList() },
"Initializes the Amiga with a predefined scheme",
[this](Arguments& argv, long value) {

auto scheme = parseEnum <ConfigSchemeEnum> (argv);

amiga.revertToFactorySettings();
amiga.configure(scheme);
});

root.add({"amiga", "power"}, { Arg::onoff },
"Switches the Amiga on or off",
[this](Arguments& argv, long value) {
Expand All @@ -268,7 +258,17 @@ Interpreter::initCommandShell(Command &root)
"Performs a hard reset",
[this](Arguments& argv, long value) {

amiga.reset(true);
amiga.hardReset();
});

root.add({"amiga", "init"}, { ConfigSchemeEnum::argList() },
"Initializes the Amiga with a predefined scheme",
[this](Arguments& argv, long value) {

auto scheme = parseEnum <ConfigSchemeEnum> (argv);

amiga.revertToFactorySettings();
amiga.configure(scheme);
});


Expand Down
4 changes: 1 addition & 3 deletions Emulator/Misc/RetroShell/RetroShell.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -582,10 +582,8 @@ RetroShell::dump(CoreObject &component, std::vector <Category> categories)
{ SUSPENDED

*this << '\n';
for(auto &category : categories) _dump(component, category);

for(auto &category : categories) {
_dump(component, category);
}
}
}

Expand Down
10 changes: 5 additions & 5 deletions Emulator/Misc/RetroShell/RetroShell.h
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,11 @@ class RetroShell : public SubComponent {
// Assigns an additional output stream
void setStream(std::ostream &os);

private:

// Marks the text storage as dirty
void needsDisplay();

// Clears the console window
void clear();

Expand All @@ -143,11 +148,6 @@ class RetroShell : public SubComponent {
// Prints a state summary (used by the debug shell)
void printState();

private:

// Marks the text storage as dirty
void needsDisplay();


//
// Managing user input
Expand Down

0 comments on commit 4b57265

Please sign in to comment.