1 Ostatnio edytowany przez drac030 (2006-10-01 22:05:00)

Miało być 4.40, ale zdecydowaliśmy najpierw wypuścić wersję próbną, no i oto ona, SpartaDOS X 4.39RC, czyli Release Candidate ;)

http://trub.atari8.info/index.php3?stro … grade.html

Dostępne są trzy wersje: "zwykły" kartridż 128k, Maxflash 1 Mb i Maxflash 8 Mb.

Nowa Sparta ma usunięte parę błędów starej, są też nowe możliwości, o tym dokładnie jest napisane w pliku WHATSNEW.TXT oraz w dołączonym RTFM-ie (który istnieje w formie suplementu do karenowskiej instrukcji, a ta jest do ściągnięcia przez Atariki).

Jak już pewnie niektórzy wiedzą, SDX 4.39 ma zwiększoną liczbę obsługiwanych dysków (do 15) oraz obsługę dysków z sektorami 512-bajtowymi. Partycja może mieć teraz 32 MB, a maksymalna powierzchnia dysku do wykorzystania przez DOS zwiększa się z 9x16 MB (czyli 144 MB) do 15x32 MB (czyli 480 MB), a zatem ponad trzykrotnie.

Obsługa sektorów 512-bajtowych jest niezależna sprzętowo, a więc powinna działać z kazdą tego typu pamięcią masową, o ile drajwer jest napisany po ludzku. W chwili obecnej takie urządzenia to KMK/JŻ/IDEa i stacje TOMS (tzw. gęstość ST/IBM).

Jest też parę innych nowości, których nie będę tu wyliczał, bo miejsca mało a czas nagli ;)

Sensem istnienia SDX 4.39RC jest zapoznanie się z opinią userbazy ;) oraz wyłapanie ewentualnych usterek, nie zauważonych podczas produkcji. Opinie i raporty proszę pisać tutaj, to znaczy w tym wątku (po to zakładam nowy, mam nadzieję, że kierownictwo nie da mi po łbie za to).

Jeśli coś nie działa tak jak trzeba, proszę koniecznie najpierw poczytać dołączonego RTFM-a, a następnie dopiero napisać ładną epistołę, dołączając dokładną informację o konfigu, żeby można było niedobre zachowanie odtworzyć. To znaczy: konfig sprzętowy (głównie: typ kartridża, ilość pamięci w kompie, typ dysku, o ile chodzi o dysk itp.) oraz kopię pliku CONFIG.SYS i AUTOEXEC.BAT.

No to by chyba było na tyle. Aha, termin ukazania się v.4.40 zależeć będzie m.in. od zainteresowania publiki i ilości wolnego czasu u niektórych, ale sądzę, że nie ma się jej co spodziewać wcześniej niż za kilka miesięcy. Pewnie na wiosnę.

KMK
? HEX$(6670358)

2 Ostatnio edytowany przez AXE/SSG (2006-10-01 22:07:49)

jako wyraz zainteresowania sparafrazuje pewien film: "komu trzeba zrobic laske, zeby dostac kostke z wersja 4.40" :)

don't come after... please don't follow me along. when you read this, i'll be gone...

3 Ostatnio edytowany przez grzeniu (2006-10-01 22:10:13)

ulala, pięknie dziękujemy !

btw. jak wy na to znajdujecie czas ???

STYMulator JIL ST YM2149 mjuz:k @ gnu/linux
SIUP (SIo2Usb2Pc) - SIO2PC USB Edition
PIN ready logo
3M / InD: ... na kasetach były zabezpieczenia w postaci tzw. "mikropierdnięcie" ...

super , THX !!!

zrobilem wam banerek do strony :

http://bitman.free.fr/banx.jpg

World f**k Olympique Marseille & Legia Warszawa i Sochi 2014

5

Pytanie brzmi, co to jest IntSDX flash ?
Znaczy siem ja wiem co to jest, ale jakis schemacik by sie przydal. Bo jak juz mam grzebac w srodku komputera i przerabiac Sparte na nowa, to moze od razu bym wstawil flash dla wygody...

Bla bla bla bla, bla bla bla. Bla bla bla - bla - bla. Blabla bleee.

6

intSDX128 "flash"

Bitman: dzięki, baner już wcześniej Pin mi zrobił, ale jakoś do tej pory nie miałem okazji go zawiesić.

7 Ostatnio edytowany przez grzeniu (2006-10-02 15:02:58)

ale czad ! wymiękam :D:D:D no i będę musiał kupić nowego gala :-)

STYMulator JIL ST YM2149 mjuz:k @ gnu/linux
SIUP (SIo2Usb2Pc) - SIO2PC USB Edition
PIN ready logo
3M / InD: ... na kasetach były zabezpieczenia w postaci tzw. "mikropierdnięcie" ...

8

8 godzin pracy, 8godzin kodowania, 8 godzin snu. Proste nie :)

9

przez kilka tygodni :)

STYMulator JIL ST YM2149 mjuz:k @ gnu/linux
SIUP (SIo2Usb2Pc) - SIO2PC USB Edition
PIN ready logo
3M / InD: ... na kasetach były zabezpieczenia w postaci tzw. "mikropierdnięcie" ...

10

grzeniu: etam... uwierz w sile draca ;)

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

11

SDX 4.39RC1 is working fine in the 1MBIT AtariMax Cart. However I would like to fash the SDX into the Freezer XL 2005, which contains Cartridge Emulation. I can flash the original SDX ROM Image. Is any of the new SDX Images with identical layout as the original SDX Cart ROM?

Best regards

Carsten

Carsten Strotmann, ABBUC Programmers Group Wiki, http://www.strotmann.de/twiki/bin/view/APG/WebHome
Atari USB Project, http://www.microusb.org/

12

Well, none is truly identical because the original has 64k (8 banks) and the 4.39 is a 128k cartridge (16 banks), thus it needs a bit different hardware register scheme to switch the banks. The original occupies 16 addresses at the page $D5, the new 128k cartridge requires twice as much. If you can simulate that on the Freezer, then the intSDX128 will probably do.

Hardware guys correct me please, if I am wrong.

KMK
? HEX$(6670358)

13

If the Freezer XL 2005 uses the same rom images for SDX as the Atari800 emulator, the most appropriate would be the intSDX 128kB image. However, the bank-switching logic used for SDX should be extended by 1 bit, so that a write to the addresses $D5F0-$D5F7 could select the additional 8 banks (bits 0,1,2 and 4 form the actual bank number). I don't know if it can be done with the Freezer without modyfing the hardware.

Currently the following hardware is supported:
- Maxflash cartridge (1MB & 8MB);
- 128kb version of the intSDX - a redesigned SDX hw using a GAL chip;
- modified Atrax SDX cartridge - which is a SDX clone (with crossed address lines, thus "enciphered" rom).

14

Thanks for the replies. I have send the question to Matthias (HIAS) Reichl, the co-designer of the new Freezer Hardware. As the Freezer also supports AtariMax Emulation, it might be possible (however it is using another Flash Image layout, so I cannot directly use the AtariMax Flash Image in the Freezer).

Carsten

Carsten Strotmann, ABBUC Programmers Group Wiki, http://www.strotmann.de/twiki/bin/view/APG/WebHome
Atari USB Project, http://www.microusb.org/

15

I made a first attempt at patching the 1mbit flashcart version of SDX to the Turbo-Freezer. A first, quick test works fine, but there's at least a small bug when disabling the SDX and starting the builtin basic (with the CAR command) - this selects bank 16 of the Turbo-Freezer (most certainly a result of STA $D500,X or STA $D500,Y with X/Y=16).

You can download the patched file from http://www.horus.com/~hias/tmp/sdx439rc-freezer.zip. Just use the flash.com program of the Turbo-Freezer disk and program SDX.ROM into the flash ROM starting at bank 0. Then use the default CartEmu settings (8k ROM, bank 0) to start SDX.

The new SDX is really great! Even the DOS2.x code seems to have been fixed (when writing files to a DOS2.x disk the directory entry is marked as open for write, so the virtual drive function of AtariSIO now also works fully with SpartaDos!)

Just a small question: Could you add support for the Turbo-Freezer to your build system? It would be a little bit easier (for me :-) instead of reverse-engineering the ROM and patching the correct locations. The basic bank-select logic of the Turbo-Freezer CartEmu is really simple (and a little bit similar to the Atarimax flashcart):

Bank-Select base address is $D540 ($D540 = bank0, $D541 = bank1, ...). $D580 disables the cart, $D581 enables it. The latter is one of the important differences to the Atarimax Flashcart: accessing the bank select registers doesn't automatically turn on the cartridge, you have to do an additional "STA $D581" if the cart was disabled before. Another very important difference is that the Turbo-Freezer CartEmu doesn't set the RD5 line, so all code that sets GINTLK ($03FA) directly needs to be removed (the "LDA $D013 STA $03FA" code is fine, but a "LDA #$01 STA $03FA" crashes the computer).

so long,

Hias

16 Ostatnio edytowany przez trub (2006-11-03 21:47:06)

There are 6 contiguous bytes of value $10 in the MAXFLASH version of CAR.COM, which are used as indexes to turn the cartridge off.
For the Turbo-Freezer they should be probably replaced with $80.
We are going to include the Turbo-Freezer version in the nearest release. However, we are not able to do any testing, so you will have to do this for us :)

17 Ostatnio edytowany przez drac030 (2007-02-25 19:15:10)

Przypominamy o nadchodzącym terminie ukazania się wersji 4.40 (16.III.). Jeśli ktoś ma jakieś bugi do zaraportowania, to prosimy się zgłaszać, bo bugi niezauwazone po prostu zostaną niesfiksowane :)

KMK
? HEX$(6670358)

18

kurde - :) - i znów zapomniałem w jakiej kolejności mam gnaty poukładane w romie .... . na jednej kości mam sdx128, idebios, xlOS, dracOS, basic.. wyleciał missile command :) - /xegs :)

Kontakt: pin@usdk.pl

19

Hello.  I'm sorry if I posted in the wrong area, but I can't read Polish well.

What I want to do is, put SDX 4.39 on the Atarimax 1M + IDE.  The problem is, I need a driver in the SDX cart. for it so it can be booted and not need any OS-ROM changes.  OS in RAM is not an option, because I want to use TBASIC-XL. 

I know this would be a simple thing, to write a driver that checks for D1: on SIO, and if not found, boots from MyIDE.   

Would this be best put into SIO.SYS, or a new file CAR:MYIDE.SYS?

I know that MyIDE is not the best way to go, but it's all on a cart.  it's easily portable.  With the 128M flashdrive attached, it's a complete plug & play DOS & drive package.

Any and all help (in english) is HIGHLY appreciated!

Thanks!

-Kyle

kyle22(AT)operamail.com

20

First, some general remarks (can be useful for other readers)
Atari engineers created two brilliant solutions for external devices. One is SIO (serial) interface, the other is PBI (parallel) one.  Atari XL OS supports both types of devices without any patches, hacks etc. Handler routines can be automatically loaded into RAM from the devices and then attached to the operating system procedures.
There are many HDD interfaces using this two standards:
SIO (slow) ? SIO2IDE, SIO2SD, SIO2USB
PBI (very fast) ? Black Box, MIO, MSC, KMK/JŻ HDD interface (the latter is quite common here in Poland).
Both SIO and PBI HDDs can be used with SDX without problems.

About MyIDE (AFAIK)
MyIDE is a simple hardware, not conforming the two Atari standards. In fact, I would call it a ?signal converter?, rather than an interface. The computer should be supplied with tricky routines before it can access MyIDE HDD. They are included in a patched OS (MyIDE OS), which can be:
a.    permanently present by replacing the original OS chip,
b.    loaded into the RAM area under the OS and then switched on as a new OS.
With the first option you can probably use MyIDE with SDX 4.39, but only if you redirect a drive to ?OS? (with MAP command). The second option is not possible with SDX as well as with other software like Turbo Basic XL you mentioned.

To add MyIDE support to SDX, one should write a special handler including the MyIDE routines (I don?t know if their sources are freely available). The main routine has to check the DCB parameters and then perform a MyIDE HDD operation. If you supply me with such a code, I will prepare the appropriate driver and include it in the SDX ROM.

21

This is what I found for MyIDE.... It should be very similar to Bob Woolley's IDE interface.  All IDE devices are basically the same, it's just the interface that differs.  In the MyIDE cart, the IDE registers start at $D500. the cart-bank registers are at $D520.  It might be good to support $D500 (cart) or $D100 (internal).   Possibly a DEVICE MYIDE $D500 (or $D100) in CONFIG.SYS, or auto-detect.   Also, leave a little extra space in the ROM image for the cart burning people to edit the default CONFIG.SYS with a hex-editor (would resolve the 8M Atarimax CLOCK.SYS problem, and also allow users to default to PROMPT $L$P>)

  Here's info from the MyIDE page.

Mr Atari's IDE-hardware for ATARI-XL/XEcomputers.

Chapter 1, IDE-protocoll

Port / Addresses used in ATARI.
(port can be D1xx=internal interface or D5xx=external):
----------------------------------------------------------
HEX.   DEC.  : READ    : WRITE
$D100 (54528): data    : data
$D101 (54529): error** : precomp***
$D102 (54530): R/W;sector count     (sectors to r/w, 0=256 sectors)
$D103 (54531): R/W;sector number    (sector, 1 t/m max sec/cyl)
$D104 (54532): R/W;cylinder low     (0 t/m max)
$D105 (54533): R/W;cylinder high
$D106 (54534): R/W;Drive+Head       (master xxx0xxxx, slave xxx1xxxx)
$D107 (54535): Status* : Command

*)      Set                            :Cleared
Bit 7 : busy                           :drive-logic is ready.
Bit 6 : ready for command              :busy or error.
Bit 3 : ready for data (after command) :error (invalid sector/head/cylinder).
Bit 1 : error during/after operation   :data transfer succesfull.

**)
Read this register to clear bit 1 or set bit 3 in status-register.

***)
precomp is not used by modern harddrives.

How to read/write :
-------------------
1) Set requested drive+head (Master or Slave becomes now active)
2) Read $D101 to clear any error-status.
3) Check/wait if status bit7 is cleared and drive is ready for command.
4) Set requested sectornumber, cylinder and sector-count.
5) Write command in command-register.
READ)  command is $21
       wait for status bit3 to set (data is ready)
       Check bit 1 and 6 for error (corrupt data)
       Read 256 bytes of data outof the data-register
WRITE) Command is $31
       Wait for status bit3 to set (ready for data)
       Write 256 bytes of data into the data-register
       Wait for status bit7 to clear (busy) and set (ready)
       Check bit 1 and 6 for error (corrupt write)

Note:
A IDE-interface handles 16 bit-words, but because a Atari is 8 bit,
the upper part of the word are zero's. This means, that only half
the drive-capacity can be used by the Atari.
The interface kan handle drives upto 65535 cylinders (32 GByte).

(Edited 8-mrt-2002 By Mr. Atari. No warranty)

22

trub napisał/a:

If you supply me with such a code, I will prepare the appropriate driver and include it in the SDX ROM.

Zamiast zajmować się głupotami napisz lepiej czy s2i będzie działać ze SIO2SD, a jeśli nie to poproszę :)

Czy możecie wyjaśnić, Stirlitz, dlaczego wasz służbowy adres stirlitz@rsha.gov.de ma aliasa justas@gru.su?
Nie czytam PM. Proszę używać e-mail.

23

Kyle22 napisał/a:

Here's info from the MyIDE page.

That info is not sufficient (no detailed partition information etc.). In addition, I haven't got MyIDE interface, so I am not able to write the handler code myself. However, I can incorporate a tested DCB read/write code into SDX if someone sends me one.

Dely napisał/a:

Zamiast zajmować się głupotami napisz lepiej czy s2i będzie działać ze SIO2SD, a jeśli nie to poproszę

Hehe, chcę gościa spławić, mam nadzieję że tym razem pójdzie lepiej ;) Będę lutował SIO2SD niebawem - jak mi ruszy, to pewnie zajmę się driverem (o ile autor mi da protokół).

24

da ci na 100% tylko, tak jak Ci pisałem musisz poczekać parę dni, bo wolno odpisuje...

Ci, którzy przemawiają w imieniu Boga powinni pokazać listy uwierzytelniające. J. Tuwim

25

Here http://www.atarimax.com/flashcart/forum … .php?t=490 is the partition info.  Also, would this be useful?


I have asked Sijmen for the source code, and will post it here when I get it.  If I can figure out how to attach a file.  You may want to ask Sijmen about the project. 

Also, I received the Flash cart. + IDE today.  SDX 4.39 works fine on it when patched to bank at $D52x.  No access to IDE without driver for $D50x, but SDX works great.



TECHNICAL SECTION/DO THE MATH!:

This part is more in depth information on how MyIDE stores data and how it uses space on the IDE-device. Also you see how to calculate image and partition space.

Usage of IDE-space:
FDISK works with blocks of cylinders, not with sector (LBA) level. The minimum size of a partition (Image or Logical) being 1 cylinder. The numbers of cylinders used are always rounded up on the users-demand. Unused sectors at the end of a partition or image are ‘lost’ unless configured to be used with your DOS.

Our example: IDE-device with 16 heads, 32 sectors and images at 256:
This means 1 cylinder has 16*32 = 512 sectors.
An 1040 image-partition uses 3 cylinders (+496 unused sectors)
>3 x 512 = 1536 sectors, 1040 for the image and 496 unused.
An 720 sector logical partition uses 2 cylinders (+304 unused sectors)
>2 x 512 = 1024 sectors, 720 for the image and 304 unused.
An 65535 sector logical partition uses 128 cylinders (+1 unused sector).
>128 x 512 = 65536 sectors, 65535 for the partition and 1 unused.

Images must start at a 256 cylinder boundary due to MyIDE-standard. So IDE-devices with less then 256 cylinders have no image-space.

Lets assume you want to start image-space at cylinder 256, how many sectors do you have left for logical partitions?
In our example, you have 254 free cylinders x 16 x 32 = free sectors.
Calculates 130048 sectors. Enough for D1: with 720 and D2: with 65535 sectors. But to little for two 65535 sector partitions.





Limitations:
MyIDE is a 8bit signal interface to support today’s 16bit IDE-devices using only the lower 8 bit of the 16 bit word communication with the device. Therefore the usable capacity will be 50%. Also density support is based on the actual number of bytes used of a IDE-sector. IDE-sectors are 256 bytes and thus using only 128 bytes reduces the capacity by 50% again.
Current development has shown that CF-cards and IDE-modules can be switched to 8 bit mode. This makes is possible to use the whole capacity of the card/module. Unfortunately the sector-length increases to 512 bytes and thus does not improve the capacity for the current MyIDE-drivers.
One application that uses this 8 bit mode and thus the whole capacity of the CF-card or IDE-modules are the MyIDE-movies.

Format of partition-table / usage of cylinder 0:
FDISK used the following encryption to store the partition-information found on cylinder 0, head 0, sector 1. This first sector is divided into 9 groups of 8 bytes. The first group contains the physical size of the harddisk and how many partitions there are. The next 8 groups of 8 bytes are the drive-tables. The last 128 bytes are filled with zeros, to identify this drive as partitioned for MyIDE.

First 8 bytes:
Byte 0: Number of cylinders low-byte
Byte 1: Number of cylinders high-byte
Byte 2: Number of heads
Byte 3: Number of sectors Byte 4: Number of partitions
Byte 5: Drive-bits. Corresponding partition is present when bit=1
Byte 6: Start cylinder (high byte) of disk-images. (0=no images)
Byte 7: Number of cylinders used for 1 disk-image.

Next 8 groups of 8 bytes:
Byte 0: Logical drives number (#01-#08)
Byte 1: Starting cylinder low-byte
Byte 2: Starting cylinder high-byte
Byte 3: Ending cylinder low-byte
Byte 4: Ending cylinder high-byte
Byte 5: Density (0=128, 1=256 bytes/sector)
Byte 6: 1st group of 8 bytes: Option-byte, rest: reserved.
Byte 7: Reserved.

Note: The 4.x I/E MyIDE-OS loads only the first 32 bytes from the table.
So you can use only 3 partitions with this OS, disregarding all other partitions and locking out all Dx:-devices which are present in the drive-bits.

The Option-byte is a one-byte value. Decoded like this:
bit 7   Read only when set.
bit 4-6 Boot drive # when set. D1:-D8:
bit 3   Boot images when set.
bit 2   Skip Select when set.
bit 1   Disable IDE when set.
bit 0   Disable Onscreen Activity when set.


The rest of all the sectors of cylinder 0 are reserved.

The diskette version of the MyIDE-OS uses sectors 2-65 to store a copy of the MyIDE-OS for a fast second stage boot after a 3 sector bootdisk.
This is only for users that have NO MyIDE-OS installed or flashrom to boot the MyIDE-OS from.

Logical partitions:
The first logical partition start at Cylinder 1 and can continue on all cylinders until image-space or the end of the IDE-device is reached.

There is no encryption of data. All sectors are in sequence stored like this: Sectors first, then heads, then cylinders. Supported are 128 or 256 bytes on each sector.

FDISK will ensure that logical partitions do not overwrite Image partitions and visa versa.

Image partitions:
Starting at a multiplication of 256, consuming the rest of the IDE-device. Here image partitions are stored, each having a fixed size to support 720 or 1040 sector-images. Multiplication and size are displayed in the FDISK menu.

To calculate were a image starts:
>multiplication x 256 + (number-1) x size.
Using our example:
Image 0010 starts at: 1 x 256 + (10 – 1) X 3 = cylinder 283.

Each image has no encryption of data. All sectors are in sequence stored like this: Sectors first, then heads, then cylinders. Supported are 128 or 256 bytes on each sector.

On the last sector of each image space you find the name (byte 0-28) of the image and density (byte 30). density is encrypted like this: $AD=MD, $A4=DD, $B3=SD

For image 0010 in our example this is on cylinder 285, head 15, sector 32

KEY DEFINITIONS, MEMORY-USAGE, MyIDE-USAGE, IMAGE-USAGE.

Added keystrokes:
shift+control+tab : Re-boot Atari (except MyIDE-settings and Basic!)
                    3.5F hold OPTION to re-enter the bootmenu.
                    4.x I/E hold SELECT to coldstart MyIDE + Basic too.
shift+control+esc : Normal RESET. (saver to use then pressing 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 keystrokes are available when booted in image partition.
shift+control+# : Mount Image No #. #=number 1....9.
Example #=2 to access disk 2. Images must be insequence on the MyIDE.

3.5F MyIDE Configuration bytes (default on reload=all $00):
-CBFA = Image-density. 0=128 bytes/s 1= 256 bytes/sector.
-CBFB = HDPRES
-CBFC = BITS
-CBFD = OPTION-BYTE
-CBFE = IMAGE LOW-BYTE
-CBFF = IMAGE HIGH-BYTE

4.x I/E MyIDE Configuration bytes (default on reload=all $00):
-03F9 = Image-density. 0=128 bytes/s 1= 256 bytes/sector.
-03FB = HDPRES
-03FC = BITS
-03FD = OPTION-BYTE
-03FE = IMAGE LOW-BYTE
-03FF = IMAGE HIGH-BYTE

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

0001 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 keyboard, joystick left/right, NO function keys supported!
s    Density of image. changeable s->m->d->s (fire). Automaticly set
     when a image is saved. 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 for programmers.

Extended vector table.
E483 = JMP HDINIT
E486 = JMP HDWRI
E489 = JMP HDREA
E48C = JMP HDIMA

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 are 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 starting cylinder and density in the MyIDE-configuration bytes.  Then cold start you Atari with JMP E477. That's it.
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: load MyIDE-configuration bytes and partition-table.
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 for image-load 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).

Notes:
Remember that the IDE-settings are protected for resets.
So if you want to reload them use shift+control+R.