Announcement

Collapse

Forum Rules and Etiquette

Our mission ...

This forum is part of our mission to promote the preservation of vintage computers through education and outreach. (In real life we also run events and have a museum.) We encourage you to join us, participate, share your knowledge, and enjoy.

This forum has been around in this format for over 15 years. These rules and guidelines help us maintain a healthy and active community, and we moderate the forum to keep things on track. Please familiarize yourself with these rules and guidelines.


Rule 1: Remain civil and respectful

There are several hundred people who actively participate here. People come from all different backgrounds and will have different ways of seeing things. You will not agree with everything you read here. Back-and-forth discussions are fine but do not cross the line into rude or disrespectful behavior.

Conduct yourself as you would at any other place where people come together in person to discuss their hobby. If you wouldn't say something to somebody in person, then you probably should not be writing it here.

This should be obvious but, just in case: profanity, threats, slurs against any group (sexual, racial, gender, etc.) will not be tolerated.


Rule 2: Stay close to the original topic being discussed
  • If you are starting a new thread choose a reasonable sub-forum to start your thread. (If you choose incorrectly don't worry, we can fix that.)
  • If you are responding to a thread, stay on topic - the original poster was trying to achieve something. You can always start a new thread instead of potentially "hijacking" an existing thread.



Rule 3: Contribute something meaningful

To put things in engineering terms, we value a high signal to noise ratio. Coming here should not be a waste of time.
  • This is not a chat room. If you are taking less than 30 seconds to make a post then you are probably doing something wrong. A post should be on topic, clear, and contribute something meaningful to the discussion. If people read your posts and feel that their time as been wasted, they will stop reading your posts. Worse yet, they will stop visiting and we'll lose their experience and contributions.
  • Do not bump threads.
  • Do not "necro-post" unless you are following up to a specific person on a specific thread. And even then, that person may have moved on. Just start a new thread for your related topic.
  • Use the Private Message system for posts that are targeted at a specific person.


Rule 4: "PM Sent!" messages (or, how to use the Private Message system)

This forum has a private message feature that we want people to use for messages that are not of general interest to other members.

In short, if you are going to reply to a thread and that reply is targeted to a specific individual and not of interest to anybody else (either now or in the future) then send a private message instead.

Here are some obvious examples of when you should not reply to a thread and use the PM system instead:
  • "PM Sent!": Do not tell the rest of us that you sent a PM ... the forum software will tell the other person that they have a PM waiting.
  • "How much is shipping to ....": This is a very specific and directed question that is not of interest to anybody else.


Why do we have this policy? Sending a "PM Sent!" type message basically wastes everybody else's time by making them having to scroll past a post in a thread that looks to be updated, when the update is not meaningful. And the person you are sending the PM to will be notified by the forum software that they have a message waiting for them. Look up at the top near the right edge where it says 'Notifications' ... if you have a PM waiting, it will tell you there.

Rule 5: Copyright and other legal issues

We are here to discuss vintage computing, so discussing software, books, and other intellectual property that is on-topic is fine. We don't want people using these forums to discuss or enable copyright violations or other things that are against the law; whether you agree with the law or not is irrelevant. Do not use our resources for something that is legally or morally questionable.

Our discussions here generally fall under "fair use." Telling people how to pirate a software title is an example of something that is not allowable here.


Reporting problematic posts

If you see spam, a wildly off-topic post, or something abusive or illegal please report the thread by clicking on the "Report Post" icon. (It looks like an exclamation point in a triangle and it is available under every post.) This send a notification to all of the moderators, so somebody will see it and deal with it.

If you are unsure you may consider sending a private message to a moderator instead.


New user moderation

New users are directly moderated so that we can weed spammers out early. This means that for your first 10 posts you will have some delay before they are seen. We understand this can be disruptive to the flow of conversation and we try to keep up with our new user moderation duties to avoid undue inconvenience. Please do not make duplicate posts, extra posts to bump your post count, or ask the moderators to expedite this process; 10 moderated posts will go by quickly.

New users also have a smaller personal message inbox limit and are rate limited when sending PMs to other users.


Other suggestions
  • Use Google, books, or other definitive sources. There is a lot of information out there.
  • Don't make people guess at what you are trying to say; we are not mind readers. Be clear and concise.
  • Spelling and grammar are not rated, but they do make a post easier to read.
See more
See less

XTIDE Universal BIOS

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Originally posted by aitotat View Post
    So you've tried with Full operating mode disabled and enabled?
    Have you tried different boot loader types (to disable boot menu)? If not, try other boot loaders with Full Operating mode enabled and be sure to use AT build.
    Yes, I had tried many possible combinations, including those elements.

    I have just now retried various combinations and seen the same result.
    I list those combinations below.

    ------------------------------------------------------------------------------

    The XTIDE card has the AT version of 1.1.5 loaded.

    Minimum hardware configuration: motherboard / CGA card / floppy controller / XTIDE card / PSU / keyboard / battery

    With the AMI BIOS in place, the XTIDE card works as expected.
    That verifies that I haven't introduced a second problem (e.g. bad cable).
    When I then swap the AMI BIOS for the first revision IBM one - problem appears as expected.

    I then experiment with the XTIDE BIOS configuration as follows:

    * Full=yes - Menu - interrupts off - block transfers on
    * Full=yes - Menu - interrupts off - block transfers off

    * Full=yes - Menu - interrupt=3 - block transfers on (for this test, jumper on XTIDE card added for IRQ3)
    * Full=yes - Menu - interrupt=3 - block transfers off (for this test, jumper on XTIDE card added for IRQ3)

    * Full=yes - 'A then C' - interrupts off - block transfers on

    * Full=yes - System - interrupts off - block transfers on (if no boot floppy present, this boots to BASIC)

    * Full=no - Menu - interrupts off - block transfers on

    None of the combinations work.

    ------------------------------------------------------------------------------

    SOMETHING POSSIBLY RELEVANT

    I'd noticed this before, and have just verified it.

    Whenever the EEPROM is flashed, the message "EEPROM was written successfully. Press any key to reboot." appears.
    With the first revision IBM BIOS on the motherboard, pressing any key results in the screen going blank, but nothing more - no restart.

    With the first revision IBM BIOS on the motherboard, GSETUP can successfully restart the 5170.

    If I then upgrade the motherboard BIOS to the second revision one, XTIDECFG can then restart the 5170.
    A bug in the first revision IBM BIOS for the 5170 ?

    Comment


      Originally posted by modem7 View Post
      None of the combinations work.
      No idea whats wrong. Does any part of the boot menu appear when it is enabled?
      Can you try one more time with XT build? Enable Full operating mode and use A then C boot loader. Be sure to connect both master and slave drive. No need to try other settings if those won't work.


      A bug in the first revision IBM BIOS for the 5170 ?
      Reset is very simple:
      Code:
      .RebootComputer:
      	mov	al, 0FEh			; System reset (AT+ keyboard controller)
      	out	64h, al			; Reset computer (AT+)
      	nop
      	jmp	WORD 0F000h:0FFF0h	; XT reset
      It first tries to reset using keyboard controller (AT and later systems only). If system did not reset, then there is a jump to BIOS initialization (only way to reset XT systems). Jumping to BIOS initialization is not reliable reset on later systems so the hardware might be in a state that the BIOS do not expect. That would mean the keyboard controller reset had failed. Anyone know how GSETUP does the reset?

      Comment


        Originally posted by aitotat View Post
        Does any part of the boot menu appear when it is enabled?
        No. With the menu enabled in 1.1.5, I see:

        IDE Master at 0300: xxxxx
        IDE Slave at 0300: xxxxxx

        The cursor sits on the line directly underneath those two lines (at leftmost position).

        Originally posted by aitotat View Post
        Can you try one more time with XT build? Enable Full operating mode and use A then C boot loader. Be sure to connect both master and slave drive. No need to try other settings if those won't work.
        I've just now tried all that. No change in symptoms. Both drives are identified on screen with cursor sitting underneath.
        If I then put in the AMI BIOS, the 5170 proceeds past that point to then boot from C:

        Originally posted by aitotat View Post
        It first tries to reset using keyboard controller (AT and later systems only). If system did not reset, then there is a jump to BIOS initialization (only way to reset XT systems). Jumping to BIOS initialization is not reliable reset on later systems so the hardware might be in a state that the BIOS do not expect.
        With the first IBM BIOS in place, I ran DEBUG to execute the AT reset code (mov al,fe / out 64,al). The 5170 reset.
        I then started XTIDECFG them immediately exited XTIDECFG. Running the AT reset code reset the 5170.
        I did various actions in XTIDECFG. The failure to reset only happened when XTIDECFG attempted its reset after EEPROM flashing.

        Originally posted by aitotat View Post
        That would mean the keyboard controller reset had failed
        Or was taking longer than normal to happen.

        Comment


          Originally posted by aitotat View Post
          Reset is very simple:
          Code:
          .RebootComputer:
          	mov	al, 0FEh			; System reset (AT+ keyboard controller)
          	out	64h, al			; Reset computer (AT+)
          	nop
          	jmp	WORD 0F000h:0FFF0h	; XT reset
          Just to be on the safer side, it would maybe be better to use JMP WORD 0FFFFh:0000h; as this would better resemble the actual register status when the computer starts?
          Current systems owned by me:
          Vintage:IBM PC/XT submodel 087 ( 1983 ), [Kon]tiki-100 rev. C (1983), Compaq Portable I ( 1984 ), IBM PC/XT submodel 078 ( 1985 ), IBM PC/XT286 ( ~1986 ), 3x Nintendo Entertainement Systems ( 1987 ).
          Obsolete:Commodore A500 ( ~1990 ), IBM PS/2 model 70/386 type 8570-161 ( 1991 ), Atari Lynx II ( ~1992 ), Generic Intel 486SX PC ( ~1993 ), AT/T Globalyst Pentium w/FDIV bug MB ( 1994 ), Compaq 486DX4 laptop ( ~1995 ).

          Comment


            Originally posted by per View Post
            it would maybe be better to use JMP WORD 0FFFFh:0000h; as this would better resemble the actual register status when the computer starts?
            True. I must have read 286 datasheet since CS:IP initial state is F000:FFF0h on a 286 but iAPX 86,88 User's Manual says FFFF:0000h for 8086/8088.

            I'll change the reset code to this:
            Code:
            ;--------------------------------------------------------------------
            ; .RebootComputer
            ;	Parameters:
            ; 		Nothing
            ;	Returns:
            ;		Nothing, function never returns
            ;	Corrupts registers:
            ;		Doesn't matter
            ;--------------------------------------------------------------------
            .RebootComputer:
            .ResetAT:
            	mov	al, 0FEh	; System reset (AT+ keyboard controller)
            	out	64h, al		; Reset computer (AT+)
            	mov	ax, 10
            	call	Delay_MicrosecondsFromAX
            .ResetXT:
            	xor	ax, ax
            	push	ax
            	popf			; Clear FLAGS (disables interrupt)
            	mov	ds, ax
            	mov	es, ax
            	mov	ss, ax
            	jmp	WORD 0FFFFh:0h	; XT reset

            Comment


              Originally posted by aitotat View Post
              It has been a while since last release. I've been rewriting library functions (menu system etc). It took 3-4 weeks to write them for the first time and 6 months to rewrite them. I was hoping to save maybe 1 kB but the new libraries actually requires more space than the old one. Once again I made a big mistake by rewriting code that already works.
              I think I found a way to save a few bytes in this file but I guess it is part of the old libraries? In any case I've attached the changed file.
              Looking for a cache card for the "ICL ErgoPRO C4/66d V"

              Comment


                Originally posted by Krille View Post
                I guess it is part of the old libraries?
                Yes but only the new xtidecfg.com uses new libraries at the moment. Thanks for the optimizations, they are now in the SVN.

                Comment


                  It seems to be getting a little better for me. With 114 it would cause my xt to freeze and display junk, but 115 bios version, I'm practically where modem7 is, it'll detect the drives, but either will restart the system, or just "hang". Unfortunatly I have no other bios for my board, pio 10mhz. I tried the interrupt thing too, it set it at 15.

                  Comment


                    Incompatibility: XTIDE Universal BIOS and first IBM 5170 BIOS

                    Since the source is available, and there is a Xmas break coming up, I may modify the source to try to locate the cause of my 5170 problem.

                    Comment


                      Originally posted by modem7 View Post
                      I may modify the source to try to locate the cause of my 5170 problem.
                      That would be great.

                      I recommend to test with XT or XT+ build with Full Mode enabled and simple or system boot loader. XT builds detect drives after main BIOS calls INT 19h so main BIOS is completely initialized when drive detecting strings appear.
                      There is very little code after drive detection completes when using the simpler boot loaders.

                      One possible reason for failure is stack corruption. BOOTVARS struct contains names for detected drives and members are set to start from 0:800h. This area should be unused but main BIOS POST could use that area for stack. You should try to relocate BOOTVARS to some higher address. Just make sure that boot sector address stays at 0:7C00h since it is also defined in BOOTVARS struct.

                      If that does not help, try to remove floppy drive reset and see if it helps.

                      Comment


                        Originally posted by aitotat View Post
                        Yes but only the new xtidecfg.com uses new libraries at the moment. Thanks for the optimizations, they are now in the SVN.
                        I did some more size optimizations. I hope they will be of help. The changes are marked with *Krille* so they are easier to find.
                        Looking for a cache card for the "ICL ErgoPRO C4/66d V"

                        Comment


                          It's been a while since I had a chance to play with my systems (all of which are SCSI based). I have been trying to get the XTIDE BIOS (AT version) to coexist with my SCSI adapters, but still no luck. I tried the lastest version of XTIDE BIOS to be sure. I just noticed that in the XTIDE manual it now lists that there are compatibility issues with SCSI controllers. Does it look hopeful that a workaround will eventually surface?
                          "Will the Highways on the internets become more few?"

                          V'Ger XT

                          Comment


                            Is it a conflict in I/O resources (i.e. port address or DMA), or is it the way the controllers "hook" BIOS INT 13H?

                            If it's the INT 13 thing, that can be fixed with software.
                            Reach me: vcfblackhole _at_ protonmail dot com.

                            Comment


                              Hi *.*,
                              I just tried to install the XTIDE BIOS in my Commodore PC 10-II, using a Silicon Valley ADP-60 IDE Controller with BIOS.
                              I removed the original BIOS EPROM from the controller and put a 27C128 with XTL_IDE.BIN 2.0.0 beta2 on it.
                              Didn't work, the controller is at $1F0/$3F0. The BIOS was configured to use $300/$308.
                              So I tried to reconfigure it using XTIDECFG.COM, but the resulting file is no longer 15 KB, but 32 KB.
                              I tried it 3 times, the resulting file always was 32768 bytes.
                              Is this a bug in XTIDECFG.COM ?
                              I ran it on a Pentium4 under MS-DOS 6.22

                              Comment


                                Yes, there was a bug in XTIDECFG.COM. 8k builds were saved with correct size but large builds always became 32k. The bug is now fixed.

                                v2.0.0 beta 2 does not support 16-bit IDE controllers in 8-bit mode. It is now supported (in SVN r485) but you need to make your own build of XTIDE Universal BIOS and the Configurator.

                                Comment

                                Working...
                                X