Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ColecoVision - Added "Xin1" and "MegaCart" mapper #1327

Merged
merged 14 commits into from
Dec 11, 2023

Conversation

Kalixtan
Copy link
Contributor

@Kalixtan Kalixtan commented Dec 6, 2023

Added "Xin1" mapper for the ColecoVision, this mapper supports:

  • 31-in-1 (v1.1) ( 2013 )
  • 63-in-1 (v1.0) ( 2013/0 1)
    Both carts are by "Buzz and ZX-81", and i tested all games for both multis and they all at least boot perfectly fine

And the "MegaCart" mapper, this mapper automaticly triggers for any rom over 32k that isnt known to be another mapper (like the "xin1" mapper).

it all should be well with all homebrew games that requite the MegaCart hardware.

If anyone knows of any other ColecoVision carts like these let me know and I'll try to add them.

Added K188in1 Mapper
Changed "msx.cpp" to "zemina" as lots of MSX ports dont use the mapper and its only used by ports by Zemina.
Added "Xin1" mapper for the ColecoVision, this mapper supports:
- 31-in-1 (v1.1) ( 2013 )
- 63-in-1 (v1.0) ( 2013/0 1)

Both carts are by "Buzz and ZX-81".
Added "Xin1" mapper for the ColecoVision, this mapper automaticly triggers for any rom over 32k that isnt known to be another mapper (like the "xin1" mapper i added a hour or two ago)

it all should be well with all homebrew games that requite the MegaCart hardware.
If anyone knows of any other ColecoVision carts like these let me know and I'll try to add them.
@Kalixtan Kalixtan changed the title ColecoVision - Added "Xin1" mapper ColecoVision - Added "Xin1" and "MegaCart" mapper Dec 6, 2023
Copy link
Member

@LukeUsher LukeUsher left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

serialization has changed, you need to update the SerializationVersion in ares/cv/system/serialization.cpp

Various formatting nits

}

auto write(n16 address, n8 data) -> void override {
return;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: indentation

auto unload() -> void override {}

auto read(n16 address) -> n8 override {
if (address >= 0x7FC0){
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: indentation, again
nit: hex constants should be lowercase

bank = address & (bankcount - 1);
}
if (address >= 0x4000){
return rom.read( (bank << 14) + (address - 0x4000) );
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: weird spacing around brackets

}

auto write(n16 address, n8 data) -> void override {
return;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: indentation

}

auto power() -> void override {
bankcount = rom.size() >> 14;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: indentation

auto unload() -> void override {}

auto read(n16 address) -> n8 override {
if (address >= 0x7fc0){
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: indentation

}

auto write(n16 address, n8 data) -> void override {
return;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: indentation

}

auto power() -> void override {
bankcount = rom.size() / 0x8000;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: indentation

@LukeUsher LukeUsher merged commit 20a3aac into ares-emulator:master Dec 11, 2023
0 of 8 checks passed
invertego pushed a commit to invertego/ares that referenced this pull request Dec 13, 2023
Added "Xin1" mapper for the ColecoVision, this mapper supports:
- 31-in-1 (v1.1) ( 2013 )
- 63-in-1 (v1.0) ( 2013/0 1)
Both carts are by "Buzz and ZX-81", and i tested all games for both
multis and they all at least boot perfectly fine


And the "MegaCart" mapper, this mapper automaticly triggers for any rom
over 32k that isnt known to be another mapper (like the "xin1" mapper).

it all should be well with all homebrew games that requite the MegaCart
hardware.


If anyone knows of any other ColecoVision carts like these let me know
and I'll try to add them.

---------

Co-authored-by: Luke Usher <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants