Jump to content
Wilheim

Alternate Reality: The Dungeon Atarimax cartridge.

Recommended Posts

10 hours ago, Faicuai said:

v8 is working on Incognito and XL/XE OS loads!!! 


The problem experienced on v7 has been mitigated.

 

(NOTES:

 

  1. v7 has code that directly manipulates TRIG3 ($D013) and GINTLK ($03FA) at rom-file offset 0218h, and then at 0230h.
  2. What is interesting is that v8 DOES have 0218h code present, but 0230h has been removed... 
  3. If, in the future, it is absolutely necessary to manipulate / equate values read from $D013 into $03FA, and we want to make sure things run on Incognito/800, Antic-DMA has to be shut down first, prior to any GINTLK ($03FA) writing. 
  4. The above is due to a significant bug on Incognito (on XL/XE mode), in which reads from $D013 produce a range of floating-bus data if ANTIC is on, and $D0 if Antic is OFF, all of which are DIFFERENT than official XL/XE OS values for this register (O or 1). It is an incompatibility.

 

Cheers!

I'd double check your explanation and wording (cross I's dot T's have someone look at & correct) and send to candle cc fjc privately so a fix can be done. this something the two could actually handle as the process is now better understood. With this ironed out maybe it will make things easier to find and square off another issue as well.

Edited by _The Doctor__

Share this post


Link to post
Share on other sites
4 hours ago, Wilheim said:

Great! Glad to know it's been fixed.

 

The GINTLK writing is still present, this time at 0236h on the V8 rom. I think that the problem was because I wrote GINTLK right after turning off the cartridge without disabling NMIs, so to save some bytes at the $480 RAM zone. The LDA and STA instructions just takes 6 cpu cycles, so I thought that it won't be a problem, because I tested time after time in stock XL/XE computers. But looks like that in your Incognito configuration, the VBI just begins in the middle of this 6 cycles. That's what I guessed.

 

To solve it, I decided then to turn off the NMIs, then turn the cartridge off, write TRIG3 to GINTLK, and enabling NMIs again. It takes 10 additional bytes, but I think it's worth to do that way.

 

Just as an anecdote, let me tell you that the Dungeon skips the OS VB interrupt, so there's no need to update GINTLK during the game.

 

I think that another way to prevent the hang up is by making a VB inmediate interrupt that takes TRIG3 and write it into GINTLK. That way, when the OS VBI begins, it will always have the same value every frame. I did this in the cartridge dumper I recently published.

 

Just to let you know, the GINTLK writing is used on two ocassions: the first one is when it exits to boot the disk or cassette, and the second one when it starts the init routine at $480 right after the credits title.

 

@Faicuai, by the way, could you try to dump the cartridge content with that dumper? I want to see if it's possible with Incognito.

 

On the other hand, I would like if someone can test a City character transfer, specially one who is at a Dungeon entrance. I want to check that everything is working fine. I tested with newly created characters, but I'm not sure if it keeps the inventory, money, battle gear, etc.

 

Cheers!

this bit of information showing the gymnastics, cycle and byte eating, would be good info as well... not only to help them understand, but to help or patch / fix other properly written software to get around the incompatibility and problems by the current incognito in use.

Share this post


Link to post
Share on other sites

Well, I think the game is working ok in your configurations. If there’s a bug in the game, please let me know, specially if you can finish the game.

I’m wondering if the time on the first credits screen is ok. Or do you think I could make it to take more time?

Share this post


Link to post
Share on other sites
3 minutes ago, Wilheim said:

I’m wondering if the time on the first credits screen is ok. Or do you think I could make it to take more time?

You should make it longer. There's no reason not to provide time for looking over the credits screen. You could even require a joystick or keyboard button press to proceed past it. I never minded doing that for intro screens, as long as there weren't like 7 of them. Haha...

 

 

  • Like 3
  • Thanks 1

Share this post


Link to post
Share on other sites

Awesome! Will have to try this over the weekend. Would love to see The City turned into a cart as well.  I know somebody here started working on it years ago,  but never quite got it working.... It would load up and let you start playing,  but after a few minutes it would crash,  I believe when it went to load certain types of creature encounters.  Anyway,  great to see the Dungeon finally converted to cart. 

 

Share this post


Link to post
Share on other sites
2 hours ago, eegad said:

Awesome! Will have to try this over the weekend. Would love to see The City turned into a cart as well.  I know somebody here started working on it years ago,  but never quite got it working.... It would load up and let you start playing,  but after a few minutes it would crash,  I believe when it went to load certain types of creature encounters.  Anyway,  great to see the Dungeon finally converted to cart. 

It'd be even nicer to have them both on one 8 Mbit cart.

 

Edited by MrFish
  • Like 2

Share this post


Link to post
Share on other sites
7 hours ago, eegad said:

Awesome! Will have to try this over the weekend. Would love to see The City turned into a cart as well.  I know somebody here started working on it years ago,  but never quite got it working.... It would load up and let you start playing,  but after a few minutes it would crash,  I believe when it went to load certain types of creature encounters.  Anyway,  great to see the Dungeon finally converted to cart. 

 

Phillip Price seems to be one of those special kind of genius. I wouldn't hold my breath on someone cracking what he did properly. 

Share this post


Link to post
Share on other sites
6 hours ago, MrFish said:

It'd be even nicer to have them both on one 8 Mbit cart.

 

Unfortunately, due to the flash architecture, it’s possible to put only the Dungeon on this cartridge. There are about 128 kbytes available only.

  • Like 1

Share this post


Link to post
Share on other sites
45 minutes ago, Wilheim said:

Unfortunately, due to the flash architecture, it’s possible to put only the Dungeon on this cartridge. There are about 128 kbytes available only.

I forgot these games were so big. Atarimax needs to make a new format that supports 16 Mbits, or more. ;)

 

Share this post


Link to post
Share on other sites
2 hours ago, MrFish said:

I forgot these games were so big. Atarimax needs to make a new format that supports 16 Mbits, or more. ;)

 

Theorically, it is possible to squeeze the Dungeon+ character disk into a 4 Mbit cartridge (512 Kbytes). The problem is that the flash cartridge uses 64Kbytes sectors to be erased. That forced me to use an entire 64K for the header of the disk and the 4 save states. That occupies a total of 320 Kbytes, considering that the character data uses only 5 kbytes aprox, so it could only take 20 kbytes to store the entire character disk.

Share this post


Link to post
Share on other sites

New V9 version!

 

Added feature:

   - Put a waiting routine of 3 seconds during the credit screen. An exclamation point appears when the loading of the intro is completed, so you can skip the wait by pressing a key, consol key or joystick button.

 

It's stored in my GitHub repository: https://github.com/Wilheim1977/ARDungeonCartridge

 

Hope you like it!

Alternate Reality - The Dungeon v9.bin

Edited by Wilheim
  • Like 4

Share this post


Link to post
Share on other sites

Next best thing would be a monolithic ATR version that supports turbo SIO and IDE types that use their own SIOV.

 

For what it's worth, when I attempted to crack Dungeon there is an override where it can be forced to assume a lower RAM system (even 48K ? )

From memory you got it by holding a console key at a certain time during early load.

  • Like 1

Share this post


Link to post
Share on other sites
1 hour ago, Rybags said:

Next best thing would be a monolithic ATR version that supports turbo SIO and IDE types that use their own SIOV.

 

For what it's worth, when I attempted to crack Dungeon there is an override where it can be forced to assume a lower RAM system (even 48K ? )

From memory you got it by holding a console key at a certain time during early load.

I think it shouldn’t be that difficult. You should back the SIO registers up from page 0, 2 and three, by then make a standard SIO call. I think some place on the $2000-$23ff address zone would be an alternative.
 

About the override, that’s right, by pressing select. What I did on this cartridge is forcing to detect 48k ram, so the upper ram is available to put a new cartridge loader routine

  • Like 1

Share this post


Link to post
Share on other sites

Well, today I programmed this small utility for the Dungeon cartridge. It's a transfer utility from disk to cartridge or vice versa. I think it would be useful to backup your character into a floppy disk or putting your old characters into the cartridge.

 

To load it, just put the cartridge and the ATR image on D1:, boot the computer with OPTION pressed and it will boot the Mydos disk. Then you load the file ARCHAR.XEX.

 

How to use it? Press SELECT to define the operation (Disk to cartridge or cartridge to disk) and START to begin the process.

 

The program checks if the source (disk or cartridge) has a character disk. Otherwise, it will display an error message.

 

The source code is on my GitHub repository:

 

 https://github.com/Wilheim1977/ARDungeonCartridge

 

Hope you like it. Cheers!!

 

DiskARTransfer.atr ArCharExample.atr

  • Like 7
  • Thanks 1

Share this post


Link to post
Share on other sites

I noticed that during the Initializing screen, when the game normally enumerates the disk drives it detects, it doesn't show 128K as I'm used to seeing when playing on hardware with 128k or more.  Is that normal or is there something I need to do to make the game see my extra RAM when playing off the Cart?  Or is that not possible for some reason on the Cartridge version?

Thanks for the conversion!  I've been playing it for hours now, and it's so nice to not need to flip disks!  Even on an emulator it was annoying.  Now I'm thinking of strats for speedrunning the game.  :)

Share this post


Link to post
Share on other sites

@Phlod I think this was covered earlier in the thread but as the game is accessing code & data from cartridge banks there is little/no gain from utilising the extended RAM. Effectively, in the original that is used as a disk cache along with some of the memory under the OS. As Wilheim forces the game to think there is just the 48K RAM, this permits the routines to handle the replacement ROM & virtual disk access code to use the RAM above 48K.

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

Bumping this thread.

 

Just checking if the conversion is working ok. Have anyone found a bug on it?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...