Atarimax Product Discussion Forums

INTERNAL MyIDE: BIOS 4.3 (all-XL, XE, XEGS) UPDATE 29jul2010
Page 1 of 1

Author:  mr-atari [ Wed Jan 18, 2006 12:50 pm ]
Post subject:  INTERNAL MyIDE: BIOS 4.3 (all-XL, XE, XEGS) UPDATE 29jul2010

Please read the manuals found here: ... .php?t=490

Final 4.3I/E-OS with build-in Fdisk2.
(E=External MyIDE, I=Internal MyIDE)

Replacement BIOS for inside your Atari!
(NOT for flashing your MyIDE+1Mbflash cartridge)
XL/XE uses 16k Eprom [27c128].
600XL uses 16k Eprom [27c128] (use the modded OS for this 16k machine!).
XEGS uses 32k Eprom [27c256].
1200XL (set jumpers from ROM to EPROM) uses two 8k Eproms [27c64]

To reflash your internal-kit, use the flashmaker and the myide.rom file.
It's a small PC-programm that creates a EXE that re-flashes your internal MyIDE-BIOS ...
The created EXE file can be loaded with APE from your mirror-drive.
It will not load from a ATR that has DOS on it.

If you can not burn EPROM's or get them burned, I do it for you.
You get it at flatrate (no profits) for 15 euro including postage worldwide.
Drop me a email on my homepage: or here at the forum.

Highlights of the 4.3I-OS, 4.3E-OS (Addition to the 3.1 Manual):
-"Build-in FDISK v2"
-"Improved compatibility (new powerup/reset routine)"
-"reset-topics (new keystrokes)"
-"Brand new image loading routine (new layout, easy to use)"
-"DD support for images"
-"Removed copy-bug between partitions!"
-"Logical drive limitation to 3 drives"
-"400/800-software support"
-"Downwards compatible with other MyIDE-partitions"
-"OS-Identification Byte"
-"Inverted OPTION-key for BASIC"

What is new?
-type "BYE" to access FDISK (or run at address: E471)
-Extended vector table.
-Coldstarting the OS keeps MyIDE-setting save.
-Fully compatible with 'standard' XL/XE-software.
-RESET-topics. Added keystrokes for reset.
-Hold OPTION during COLDSTART to enable BASIC.
-Hold SELECT during any reset to completely restart. (MyIDE-setting and Basic).
-Boot up drive Dx: activated (set with fdisk)
-Start image-loading activated (set with fdisk)
-Patched NMI-routine for 400/800-software.

Added keystrokes:
shift+control+tab : Re-boot Atari (except MyIDE-settings and Basic!)
shift+control+esc : Normal RESET.
shift+control+R : Clear and (try to) reload Configuration bytes.
shift+control+D : Disable Hard Disk
shift+control+E : Enable Hard Disk
shift+control+P : Protect (read only) Hard Disk
shift+control+U : Unprotect (read and write) Hard Disk
shift+control+A : Toggle On-screen Activity (Colors in border)
These additional keystrokes are available when booted from an ATR in the image partition.
shift+control+# : Mount Image No #. #=number 1....9. Example #=2 to access disk 2. Images must be insequence on the MyIDE.

Configuration bytes (default on reload=all $00):
-03F9 = Image-density. 0=128 bytes/s 1= 256 bytes/sector.
-03FC = BITS

"Brand new image loading routine"
Hold START during bootup/reset. Remember to dis/enable BASIC.
A screen like this will appear.

0001<CBN>name_29_characters S

4-digit hex-number (joystick up/down left/right, fire=boot)
< copy from image to floppy (press fire)
C erase name (press fire)
B boot (press fire)
N save name (press fire)
> copy from floppy to image (press fire), enter name first
"name_29_characters" (keyboard, joystick left/right, NO function keys supported!)
s Density of image. changeable s->m->d->s (fire) Only change this if you need to!
To confirm changes in density, then do N 'save name'
Please be patient while copying DD disks to images. The first 3 sectors take long to read!

Information to make MyIDE-routines more 'open source' for programmers.

Extended vector table.

OS-Identification Byte
Located at: $C005
bit-7:1=ram-OS, 0-rom-OS
bit-6:1=ext, 0=int MyIDE
bit-5:1=MyIDE-OS, 0=other OS
bit-0...4=serial number

How to transfer data bypassing the SIO-routines:
Set buffer address at $32/$33
Set length at $308 ($00=256 bytes). Except WRITE: this is always 256 bytes.
Set $D103 (4.3I) or $D503 (4.3E) =sector ID ($01....max)
Set $D104 (4.3I) or $D504 (4.3E) =cylinder LOW
Set $D105 (4.3I) or $D505 (4.3E) =cylinder HIGH
Set $D106 (4.3I) or $D506 (4.3E) =head ID ($A0....$Amax, lower 4 bits)
JSR $E486 for write (OPTION-BYTE is checked. Minus = write protection)
JSR $E489 for read
BMI if an errors occurs

How to start an image (with your software):
Just set the cylinder in 03FE, 03FF (lo/hi) and density in 03F9 (SD=default).
Then cold start you Atari with JMP E477. That's it.
Otherwise, just hold START and press RESET. (Image-mode must be set to active with FDISK)

Some things to know about the HDINIT-routine:
1-If HD is disabled or no detection: No init, just RTS (preserve last loaded settings).
2-If not loaded and HD is present: erase 03F9, 3FB-03FF and set according loaded partition-info.
3-If loaded, skip detection (preserve settings)

Some things to know about the HDIMA-routine:
1-Check if START was pressed and images are active (fdisk): do select image, set OPTION-BYTE and cold start (boot).
2-Check 03FE/03FF for image-load (ORA<>0) then set D1: as this image. set OPTION-BYTE, RTS
3-Check if in power up and if 'start image-load' is active (OPTION-BYTE): do select image, set OPTION-BYTE and cold start (boot).

Remember that the IDE-settings are protected for resets. So if you want to reload them use shift+control+R
Holding SELECT + any kind of reset will coldstart and reload IDE-settings.
This is also when entered image loading. After re-boot the HD is still write protected, the image selected and onscreen activity disabled.


Author:  mr-atari [ Thu Jul 29, 2010 4:24 am ]
Post subject:  Re: EPROM-file: 4.3I, 4.3E for 1200XL, XL, XE and XEGS

FIX 29-july-2010

Replaced fdisk with the later fdisk v2.
For improved detection and some bug fixes.



Author:  mr-atari [ Sat Jul 31, 2010 3:39 am ]
Post subject:  Re: ROM-file: 4.3I, 4.3E for 1200XL, XL, XE, XEGS *NEW 29jul2010

Here are 2 modded files that do a memory count and work in any XL/XE atari.
600xl will detect 16k and work, 800xl will detect 64k and work.
Any usable memory size between 1-48k will be detected correctly.


MyIDE 43i3 and 43e3 attached, for standard XL/XE (not XEGS, not 1200XL)

Page 1 of 1 All times are UTC - 5 hours
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group