It is currently Thu Mar 28, 2024 3:30 am




 Page 5 of 7 [ 94 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7  Next
Author Message
 Post subject:
PostPosted: Sun Feb 12, 2006 3:38 pm 

Joined: Mon Jan 23, 2006 10:49 am
Posts: 187
Location: Salzburg, Austria
OK, I just had a quick look at the happyxl and ape_warp patches. For now, I only tested them with the 3.5F MyIDE OS:

HappyXL seems only to work if I disable MyIDE before accessing the happy 1050, otherwise it will only do slow transfers. Ape_warp seems to do something (I can see this in the SIO-log of AtariSIO), but my Happy 1050 doesn't respond to these command frames.

MyIDE seems to work with these patches, but so far I only tested it I can list the directory from MyDOS.

Actually, I expected worse results (eg MyIDE stopping working), but still none of the patches works perfectly. I'd suggest you wait until Sijmen has integrated the highspeed SIO code into his MyIDE OS.

so long,

Hias


Offline
 Profile  
 
 Post subject:
PostPosted: Sun Feb 12, 2006 6:13 pm 

Joined: Mon Jan 23, 2006 10:49 am
Posts: 187
Location: Salzburg, Austria
I managed to implement a workaround for the flashcart problem and built a flasher-ATR with the current 3.5F OS and MyPicoDos:

http://www.horus.com/~hias/tmp/mypdos-maxflash-060212.zip

Just press "3" in the boot-menu and you are in MyPicoDos :-)

Steve, I ran into a strange problem: When I boot this ATR (and also the current 3.5F OS ATR), the flash programmer always stops at bank 01 with "verify failed". If I then restart the program everything's fine and the flasher programs all 3 banks. I retried this some 5 times and it was always the same: the first run after booting the ATR fails at bank 01, the second try is OK. Maybe a bug in your flasher software?

I tried the MyIDE flashcart on 3 different 800XLs and also exchanged the flash chip. Then I adopted the flasher software that I wrote for my TurboFreezer so that it works with your flashcart. This software runs without problems, so I guess a hardware problem is quite unlikely.

so long,

Hias


Offline
 Profile  
 
 Post subject:
PostPosted: Sun Feb 12, 2006 9:22 pm 
ERROR AT LINE 0
User avatar

Joined: Tue Aug 05, 2003 9:55 am
Posts: 1042
Location: Cleveland, Ohio
Hias,

Thank you it does sound like a bug in the flash software. :(

On the MyIDE I looked at the exepmenu.a65 source and noticed I left in this code even when MyIDE is selected:

         lda #$ff   
#ENDIF            
#ENDIF
         sta portb       


Turning off the MyIDE OS is probably a bad idea for programs that need to access the hard drive. :D

Try removing that instruction and rebuilding the menu to see if it works. I'll try it here as soon as possible too.

Edit:

I did try this with the 3.5F bootrom and MyIDE OS now stays enabled after menu programs are loaded, but MyPicoDos displays a line of garbage on the first line and still tries to send commands via SIO.

I verified in Atari800 that when MPD is running that MyIDE OS is still enabled in ram. High speed SIO shows as off on the screen.

Steve


Offline
 Profile  
 
 Post subject:
PostPosted: Sun Feb 12, 2006 11:15 pm 
ERROR AT LINE 0
User avatar

Joined: Tue Aug 05, 2003 9:55 am
Posts: 1042
Location: Cleveland, Ohio
Ok I believe the exepacker menu should be working as expected.

I have added another ifdef so the OS does not get switched back to ROM when the -IDE define is used.

I also added a call to the MyIDE HDINIT routine after initialization if -IDE is used.

Now when MyPicoDos is loaded it can see and load programs from the MyIDE drives.

I am attaching the revised exepmenu.a65, if you guys could try it that would be great. :)

Steve

Edit:

I forgot to mention this is with the 3.5F boot rom. I will also attach the atr image.


There are images and/or files attached to this posting. You must be logged-in to view or download this content.


Offline
 Profile  
 
 Post subject:
PostPosted: Mon Feb 13, 2006 6:16 am 
User avatar

Joined: Sun Nov 02, 2003 8:15 am
Posts: 1549
Location: netherlands
Just a small remark.

I think we should follow the atari-standard.
-When the cartridge inplace does no diskboot, myide is not init too.

So please do not JMP HDINIT for no reason.
The user-software should do this OR a coldstart with the required settings to boot a disk.

This is wat I think should happen:
>MyIDE-menu loads OS.
-Selects bank 4 and coldstarts.
>Flash-menu (runs as a cartridge-INIT) loads EXE in RAM.
-Deselect the cartridge, update cartflag, update: allow boot and jumps to EXE-INIT
-EXE-INIT should set DOSVEC and give control back to the OS (RTS).
-Then the OS finishes it's job. I.E. do JMP HDINIT, set warmstart and gives control back to the EXE using DOSVEC.


That's all. Sorry but I have very little time, but I try some testing next Friday.


Offline
 Profile  
 
 Post subject:
PostPosted: Mon Feb 13, 2006 6:41 am 

Joined: Mon Dec 05, 2005 6:47 pm
Posts: 85
Hi there,

I've tested out the latest version of MyPDos with my internal MyIDE as well as with APE mirror, and it seems to work fine. :D

My biggest concern at the moment is finding a way to bypass or disable MyPDos in the event that I want to use MyDos for other DOS operations. I have tried holding SHIFT, with no success.

The only solution I can think of is to add a function in MyPDos to rename the MYPDIDE.AR0 to MYPDIDE.ARX. Ideas?

Thanks!


Offline
 Profile  
 
 Post subject:
PostPosted: Mon Feb 13, 2006 10:23 am 

Joined: Mon Jan 23, 2006 10:49 am
Posts: 187
Location: Salzburg, Austria
classics wrote:
Thank you it does sound like a bug in the flash software. :(

I did some more testing: The MyIDE flashcart works excellent on my main 800XL, but this time it took me 5 tries until the flash succeeded. It always stopped at bank 01 with "verify failed".

If you are interested, you can try my adapted version of my TurboFreezer flasher: http://www.horus.com/~hias/tmp/myide-flash-060213.zip

Boot the ATR with option pressed (so that the MyIDE cart is disabled), then start FLASH.COM from MyDOS. It should detect the AMD29F010 flash chip of the MyIDE cart. Now enter "1" (program flash rom), then starting bank "0", and "MYBOOT.ROM" as the filename. The flasher automatically erases the blocks before programming.

The zip-file also includes the source code of my flasher software (in subdir "src").

BTW: My flasher uses the toggle-bit (D6) algorithm and also checks D5 (time limit exceeded). In a very early version I used the /data polling (D7) algorithm but sometimes had troubles with it (could also be that I did something wrong).

so long,

Hias


Offline
 Profile  
 
 Post subject:
PostPosted: Mon Feb 13, 2006 10:48 am 

Joined: Mon Jan 23, 2006 10:49 am
Posts: 187
Location: Salzburg, Austria
mr-atari wrote:
I think we should follow the atari-standard.

ACK.

mr-atari wrote:
-When the cartridge inplace does no diskboot, myide is not init too.

IMO the implementation of the boot-sequence is not too clean: HDINIT is called after jumping through the cart-init vector ($BFFE).

The powerup-routine of the XL-OS looks (a little bit simplified) like this:
- first the CPU is initialized
- then the OS checks if a diagnostic cart is present (bit 7 of $BFFD set). If yes, it jumps through $BFFE
- now the OS does the rest of the initialization (hardware chips, handler tables, ...)
- just before opening the editor, it checks if a (non-diagnostic) cart is present and inits it (JMP ($BFFE)).
- then the OS opens the editor, boots from tape (if start is pressed), and tries to boot from disk, if the cart has bit 0 of $BFFD set.
- at last (after tape/disk boot), the OS checks whether it should also run the cart (JMP ($BFFA) if bit 4 of $BFFD is set). If no cart is present or if the cart should not be started, the OS does a JMP ($000A)

With a standard OS all of the system (except the editor screen) is initialized by the time the cartridge is initialized. This means, you can use the SIO routine to access disk drives etc.

IMO the MyIDE OS should also act like this. I.e.: accessing the harddisk should exactly work like accessing a standard disk drive.

IMHO we don't need support for diagnostic carts, but putting the HDINIT call before the cartridge-init would be a very good idea.

We can still argue whether HDINIT should only be called if bit 0 of $BFFD is set, but at the moment I don't see a reason why the MyIDE OS should do this. If one doesn't like to have harddisk support, he can always use the standard XL OS.

so long,

Hias


Offline
 Profile  
 
 Post subject:
PostPosted: Mon Feb 13, 2006 10:55 am 

Joined: Mon Jan 23, 2006 10:49 am
Posts: 187
Location: Salzburg, Austria
Crash wrote:
My biggest concern at the moment is finding a way to bypass or disable MyPDos in the event that I want to use MyDos for other DOS operations. I have tried holding SHIFT, with no success.

I removed the SHIFT-code, mainly because IMO this approach isn't clean and should be handled by other means.

Instead, use the batchfile enhancement (set it up as BFE.AR0) and create an autoexec.bat. You can then load all other programs/patches/... directly from the autoexec.bat - no need to mess around with various *.arx files. Have a look at the autoexec.bat on the ATR file. For example, you could use an autoexec.bat like this:

ECHO OFF
ECHO
ECHO  1 .. MyPicoDos
ECHO  2 .. HappyXL patch
ECHO  0 .. normal startup
ECHO
ASK FOR 012
IF ANSWER = 1
  LOAD D1:MYPDIDE.COM QUIT
ENDIF
IF ANSWER = 2
  LOAD D1:HAPPYXL.COM QUIT
ENDIF
EXIT

so long,

Hias


Offline
 Profile  
 
 Post subject:
PostPosted: Mon Feb 13, 2006 10:37 pm 

Joined: Mon Dec 05, 2005 6:47 pm
Posts: 85
A-Ha! That's why I couldn't get SHIFT to work ;)

The BFE works nicely though. Thanks for making that batch file!


Offline
 Profile  
 
 Post subject:
PostPosted: Tue Feb 14, 2006 5:31 am 

Joined: Mon Jan 23, 2006 10:49 am
Posts: 187
Location: Salzburg, Austria
Crash wrote:
A-Ha! That's why I couldn't get SHIFT to work ;)

Sorry, I forgot to mention this...

BTW: Being bored of the slow standard SIO transfer rate I wrote a highspeed SIO patch that should work better with MyIDE than the HappyXL patch. Have a look at the "MyIDE and Ape Warp speed" thread :-)

so long,

Hias


Offline
 Profile  
 
 Post subject:
PostPosted: Tue Feb 14, 2006 6:34 am 

Joined: Mon Dec 05, 2005 6:47 pm
Posts: 85
Well I think that about wraps it up for MyPicoDos ;) Are you planning on incorporating your new High Speed code into MyPD, removing that option, or making them work together? As I mentioned in the other thread, that patch works nicely with MyPD.

Any other plans? A rainbow Fuji title bar? Dancing girls? ;)

Thanks very much for all of your hard work!


Offline
 Profile  
 
 Post subject:
PostPosted: Tue Feb 14, 2006 7:53 am 

Joined: Mon Jan 23, 2006 10:49 am
Posts: 187
Location: Salzburg, Austria
Crash wrote:
Are you planning on incorporating your new High Speed code into MyPD, removing that option, or making them work together?

No, I'll keep MyPicoDos at its current state. The highspeed patch has the drawback that it requires the RAM under the OS ROM which decreases compatibility with several programs. OTOH MyPicoDos and its builtin highspeed SIO routine work fine even with the old Atari 800 OS. So I guess, with respect to compatibility, an additional keypress ("H") is a quite good compromise.

Quote:
Any other plans? A rainbow Fuji title bar? Dancing girls? ;)

Well, let's see :-)

so long,

Hias


Offline
 Profile  
 
 Post subject:
PostPosted: Tue Feb 14, 2006 2:22 pm 

Joined: Mon Dec 05, 2005 6:47 pm
Posts: 85
Is there any way to make the built-in high speed option in MyPD compatible with MyIDE?

Thanks!


Offline
 Profile  
 
 Post subject:
PostPosted: Wed Feb 15, 2006 7:46 am 

Joined: Mon Jan 23, 2006 10:49 am
Posts: 187
Location: Salzburg, Austria
Crash wrote:
Is there any way to make the built-in high speed option in MyPD compatible with MyIDE?


Not in the same way as my hisio patch. It would be necessary to reliably detect every version of the MyIDE OS and then also know the memory locations of the various configuration bytes plus their exact purpose. This means a lot of work and also will never be 100% reliable: memory locations might change in future versions of MyIDE OS and there's also a chance that the code could identify some alternative OS as a MyIDE OS. This again means that there must be another option in MyPicoDos to override the autodetect code (something like highspeed SIO off/auto/on). IMO MyPicoDos has already too many configuration settings, adding yet another one would confuse users even more.

So: disabling the builtin highspeed SIO will allow accessing MyIDE partitions and SIO drives in standard speed, enabling it will allow accessing real SIO drives in highspeed.

so long,

Hias


Offline
 Profile  
 
Display posts from previous:  Sort by  
 Page 5 of 7 [ 94 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7  Next


Who is online

Users browsing this forum: No registered users and 44 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  

cron