Jump to content
IGNORED

Internal MyIDE (from Atarimax)


Larry

Recommended Posts

I just tested BXE (without MyBIOS) and it works like it should.
Stock 64k 800XL.
So the cartridge image patched to work on the MyIDE+flash banking scheme, works.

Version 4.1 by the way.

 

Now, with MyBIOS loaded, it crashes.
Something to look into, later.

Perhaps because MyBIOS uses $C000-$FFFF ram, or illegal BIOS entry usage, no idea at the moment.

basic xe.png

Edited by mr-atari
  • Like 1
Link to comment
Share on other sites

1 hour ago, mr-atari said:

Now, with MyBIOS loaded, it crashes.
Something to look into, later.

Perhaps because MyBIOS uses $C000-$FFFF ram, or illegal BIOS entry usage, no idea at the moment.

 

Ah yes, I forgot, Basic XE switches back to the Atari BIOS, crashing the system.

But as stand alone cartridge it works ok.

It even works on a system with internal MyIDE ;-) (not using the external MyIDE).

Link to comment
Share on other sites

Tested and uploaded to the forum.

 

https://www.atarimax.com/flashcart/forum/viewtopic.php?p=13932#p13932

 

Larry:

"There is a small glitch in Action! where you have to go to the monitor twice to get it to work correctly.

The first time, it will show error 0, but it still works.  I'm pretty sure this small issue has always been there in these emulated versions.

Once you go the second time, it then functions perfectly.  I wouldn't give it a second thought."

Link to comment
Share on other sites

Long story short:

During loading of the MyBIOS, I do a sum of C000-C0F0 of the internal OS and store this value as offset in the freshly loaded MyBIOS CCE-routine.

Then during any cartridge check, MyBIOS sums BFF0-C000 and add this offset.

Thus reproducing the original bug of Atari.

So far so good, then for some unknown reason I do an extra ADC #00 to add the carry in the end.

Testing revealed that all sums of any original OS were 1 short.

So I basically removed this ADC #00 with NOP NOP.

Now, pressing Reset, does not kill MyBIOS, does not wipe memory and keeps IDE-access.

 

Also replaced the 8k ATB 1.57 with 1.58

 

https://www.atarimax.com/flashcart/forum/viewtopic.php?p=13933#p13933

 

Grtz,

Sijmen.

Larry-III-altered CCE with 158.png

Link to comment
Share on other sites

Short update, nah it's still not working correctly.

 

If the sum of BFF0-C000 is lower then a certain value it still cold-starts the machine.

Mac65/DDT does this.

So do not press RESET, use shift+control+tab then R instead.

 

In the meantime, I will try and implement the CCE-routine I apparently have re-written (again) for MyIDE-][.

With a remark that the previous routine didn't work....

 

Back later, give me 48 hours :-D

 

  • Like 1
Link to comment
Share on other sites

Ok, I have implemented the MyIDE-][ routine.

This only effects the MyBIOS loaded from flash.

 

It goes like this:

-During installation, look for the original Atari CCE-routine in C000-D000

-That starts with LDA #$00 TAX CLC ADC

-If found, copy this address into the MyBIOS CCE-routine.

-If not found, this code is unmodified.

 

MyBIOS CCE-routine:

Push code to stack.

Execute code from stack.

Code: Wait for VCOUNT=0, switch to original OS, JSR CCE, switch to MyBIOS, CMP CHKSUM/RTS

Where JSR CCE is the modified code.

If the original OS has no CCE, it is LDA CHKSUM, meaning this code always returns true when executed.

 

https://www.atarimax.com/flashcart/forum/viewtopic.php?p=13936#p13936

 

Grtz,

Sijmen

 

larry-2021-IV.png

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

3 hours ago, _The Doctor__ said:

now that the fix works with all the the other carts, will it now also work with BXE 4.2 or is that still an issue due to memory banking methods?

Yes, it will work, but you have to modify the atarimax-cartridge image.

Or any other cartridge in that respect.

 

If I remember correctly (it's been 15 years) there is a bank-ID stored on the lower 4k page (on $AFFF).

Original banks are called M091, this is the 4k sequence in the ROM, "Main 4k at $B000-$BFFF, bank 0 at $A000-AFFF, bank 9 at $A000-AFFF, bank 1 at $A000-AFFF"

(Using bit A3,A0 of the address if written to $D5xx, %0xx0,%0xx1,%1xx0,%1xx1)

Write to %1xx0 or $D508 switches the OSS off.

 

Change this ID to the value needed to switch the new cartridge.

To replace the 24k BASIC-XL these ID's are: $23,$24,$25

Switching the Atarimax cartridge off is $30.

 

Atarimax banks are 8k in size and not 4k+4k, so you have to create an ROM-file that is 3 banks of 8k=24k

With bank M as upper 4k and 0,9,1 as lower 4k. Sequence of these 4k segments are 0M9M1M

 

So far so good?

 

Basic-XL uses banks 3,4,5 in this MyIDE+1Mb cartridge image.

So you have to replace this 24k with your image.

 

The text Basic XL (OSS) can be found in the first 8k of the image.

Just change it to XE, there is no checksum

 

Enjoy your hacking.

 

 

 

Edited by mr-atari
  • Like 2
Link to comment
Share on other sites

For anyone who wan't to know, here is how I filled the Atarimax banks:

 

Note the OSS-cartridges of 24k can NOT be moved, due to the patched banking-scheme.

The other ROM's can be moved inside, but must be correctly pointed to in the menu.

 

Atarimax Menu is on bank 0 ($D520)

Altirra Basic 1.58 is on bank 1 ($D521)

Assembler /|\ is on bank 2 ($D522)
Basic XL (OSS) starts on bank 3 ($D523)
MyBIOS 4.8.0B starts on bank 6 ($D526)
MAC 65 (OSS) starts on bank 10 ($D52A)
Action! (OSS) starts on bank 13 ($D52D)

 

 

  • Like 4
Link to comment
Share on other sites

2 hours ago, mr-atari said:

For anyone who wan't to know, here is how I filled the Atarimax banks:

 

Note the OSS-cartridges of 24k can NOT be moved, due to the patched banking-scheme.

The other ROM's can be moved inside, but must be correctly pointed to in the menu.

 

Atarimax Menu is on bank 0 ($D520)

Altirra Basic 1.58 is on bank 1 ($D521)

Assembler /|\ is on bank 2 ($D522)
Basic XL (OSS) starts on bank 3 ($D523)
MyBIOS 4.8.0B starts on bank 6 ($D526)
MAC 65 (OSS) starts on bank 10 ($D52A)
Action! (OSS) starts on bank 13 ($D52D)

 

 

I haven't do the math, but is there still space for one 8k cart? Or can I safely replace Assembler Editor with another 8k cart? 

I prefer Synassembler over Assembler Editor. That's a stock 8k cart. 

Very nice stuff you present here @mr-atari. It's great to see the old stuff is still supported. 
As long as I'm asking (haha I feel like Piggelmee and the magic fish) ... is there any slight chance that a tiny bug in the image handling in this version of MyBIOS can be fixed?

There is still a problem in the density recognition when an image is transferred from SIO to MyIDE image. 

Link to comment
Share on other sites

2 hours ago, _The Doctor__ said:

If using MyDOS, you access all of the drives and it will get the density, then you save the DOS, next time up it has the Density for each saved as defaults.... is there another issue as in MyDOS doesn't detect the density at all on access?

I mean the images. Not partitions, not mydos. When you transfer a sio disk from let's say 1050 to an image slot it does not always recognize sd or ed. So not always all the sectors are copied.

Link to comment
Share on other sites

 Image slot density detection is flaky is what you are saying, I noticed on old flavors of it that selection of certain images would work sometime and other times not, same image, not changed a thing, but would miss a single bit here or there. missing sectors on load in so to speak.... eel curb for example load fine this time not the next or fail to load on cold boot another day and then load fine the next attempt...

perhaps something is just slightly borked for image slot i/o and density detection in general?

 

I will have to test if this is the case with the latest .0b version I suspect it would be working as he's got the cartridge issues and other fixes in it that were done since .08

 

further edit, you are testing and noticed it's still not quite right. I will try to verify... is it in all cases that copying a disk from a real sio drive to the MyIDE image slot can fail detection or just certain disks? Is this also with sio2pc cables or only with sio2pc cable etc... I ask in hopes to narrow down and make the issue easy for Mr. Atari to reproduce as well...

Edited by _The Doctor__
Link to comment
Share on other sites

Yes, that image-handling is on my to-do list, since 4.8.0B is out now.....

Compared to the latest MyIDE-][ version, pfff, I am missing a lot of functionality.

 

I was also thinking of adding 2 more densities, "small S" and 'small D" for disks with no boundary.

This is a work-around to store a 16mb DD disk or to use all sectors available to an image.

Now, setting S/D or M, limits the disk to 720 or 1040 sectors.

(I could add Q and small Q for quad density, if needed)

 

So from SIO to MyIDE the density is read wrong?

Hmmm, interesting, never found that bug.

Did you report that to me?

 

Room is limited on this MyIDE, so I have to see.

 

@Marius Yes, you can replace any standard 8k ROM with something else.

The label-text is found in the first 8k, a hex-editor will help you here.

 

Later!

Edited by mr-atari
Link to comment
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.
Note: Your post will require moderator approval before it will be visible.

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...