Idorobots / atari-xe-multicart

A multi-game cartridge for the Atari XE.
MIT License
10 stars 8 forks source link

Emulation support #36

Open LessNick opened 2 years ago

LessNick commented 2 years ago

Hello.

At my request, Beta version of Altirra now supports "xe-multicart".

I created two cartridges with 8k games and 16k games.

In the first case (8k) everything works fine. But the cartridge with 16k games could not be start. The emulator crashes or atari show self test. Unfortunately, Unfortunately, I'm only in the process of soldering a hardware cartridge so far and can't test rom image at the real atari.

So far, of course, this is still only a beta version, but it is already gratifying that you can test the assembly before flashing the chip.

Perhaps this is some kind of flaw in the emulator, or perhaps I have not assembled something correctly.

In any case, I wanted to inform you about this wonderful news. As soon as full-fledged work in the emulator is implemented, it will be possible to update the documentation.

Link to the post

https://atariage.com/forums/topic/327133-altirra-400-released/?do=findComment&comment=5021103

Idorobots commented 2 years ago

Hi,

This is as much a good news as it is surprising, since this project has been pretty inactive for the past few years. :) If I remember correctly, the 16k games need to be aligned a certain way in order to load correctly (essentially, both 8k halves have to occupy the right memory locations). That alignment is supposed to be done by the packing scripts provided in this repository, but I've got to admit that I haven't tested them thoroughly - I made some carts with the games I like the most and that seems to be working on both of my machines. Would you like to become a contributor to this repository? I currently don't have the time to maintain it, and it seems like the Atari community is actually using this thing. :)

LessNick commented 2 years ago

Well, at the moment I'm interested in this project. I ordered PCBs and plan to solder a few pieces. In any case, if there are any improvements or changes in the code, I will definitely send you :)

LessNick commented 2 years ago

I was able to find the pattern of the error.

If you arrange the blocks like this: 8k menu 8k first game 16k second game

For example, pac-man = 8k. zaxxon = 16k Everything works perfectly.

I think we need to rewrite a bit the logic of the collector in accordance with this idea.

By the way, another passing question, cartridges with a volume of more than 16k, for example 32k, is not really possible to combine at all?

Idorobots commented 2 years ago

Hey,

Hmm, yeah, I think the menu needs to be on one of the slots during boot so the other one cannot be taken by a 8k game, if the first game is 16k it skips that slot so it's all fine.

32k carts use a mapping scheme of their own as the Atari only has two cart slots 8k memory each. 8k games can go into either of the slots, while the 16k games occupy both of these. The bigger carts need some extra hardware to switch different parts of the cart in and out onto these two slots (much like the XE multicart does it). I don't think the scheme I chose is compatible with any existing cart designs (this project started on a weekend, so I didn't do much research). :) I think with some hardware modifications it should be possible to make it compatible with at least some cart types - AFAIR the XEGS cart for instance follows a similar bank switching scheme.