Re: 400/800 OS in a XL



KMK <draco@xxxxxxxxxxxxxx> writes:

>> No. By writing all zeros, they remain as input.
>>
>> You are right about the coldstart issue, you can't get a warmstart by
>> pressing the reset button. And you obviously, cannot enable/disable basic
>> with the Option key. But they are minor problems. The OS unpatched should
>> work.
>
> PIA ports are programmed as output by default, i.e. after power up.

No, they are input in the power-up or reset state. This is described in
the datasheet, and it's the normal behavior for every I/O port chip that I
know. If the default state of any data port would be output, then it might
provoke all kind of damage including short circuit if the design is to be
an input.

> The
>OS zeroes I/O registers starting at minor addresses and proceeding
>towards higher addresses. So it first zeroes $D300, then $D301, and
>after that there's no next instruction to execute, because the XL
>hardware switched these addresses to RAM (bit 0 is cleared = no ROM).

This is completely harmless because (as explained above) the ports are
programmed as input. Furthermore, it is actually a NOP operation because
all PIA registers are zeroed automatically on reset.

>The XL OS does pretty the same thing, but first it zeroes the PBCTL
>register.

Again, PBCTL, as all other PIA registers are already zero after reset.

> The unpatched 800 OS does not have any chance to startup on XL hardware.

If you would have read the whole thread you would have see that the
original poster did run successfully the 800 os in XL hardware. He got the
memo pad. The reason that it wasnt working for him before is because he
put the OS in the wrong EPROM location.

> I don't see a reason why anyone could want to use that anyways.

To have a translator in hardware, that's the reason.

.



Relevant Pages

  • Re: WaitForMultipleObjects and its acceptable handle types
    ... a handle to a file (which includes things like sockets and com ports and other things that are implemented as file object handles) becomes signaled when operations complete on it and no event handle is supplied with an OVERLAPPED structure. ... However, these aren't really event objects, and you can't pass handles to them to event-specific functions like SetEvent. ... handle is "reset" before an I/O operation begins and "signaled" when it ends ...
    (microsoft.public.win32.programmer.kernel)
  • Re: Server stops responding
    ... I know this isn't a very innovative idea, but how about you just reset ... It doesn't "crash", really, it just stops responding. ... Interesting ports on example.com: ... Typically what I find if I dig through log files is the system clock seems ...
    (Ubuntu)
  • [PATCH 1/7 2.6.28] cxgb3 - reset the adapter on fatal error
    ... when a fatal error occurs, bring ports down, reset the chip, ... and bring ports back up. ... Factorize code used for both EEH and fatal error recovery. ... * Bring the ports down, reset the chip, bring the ports back up. ...
    (Linux-Kernel)
  • Re: No libc shared lib number bump ?
    ... again in 8.0 to reset the numbering scheme back to 0. ... What we gain in not doing is, is that users of those libs don't have to ... recompile all ports. ... do than to recompile everything. ...
    (freebsd-current)
  • Re: No libc shared lib number bump ?
    ... again in 8.0 to reset the numbering scheme back to 0. ... What we gain in not doing is, is that users of those libs don't have to ... recompile all ports. ... do than to recompile everything. ...
    (freebsd-current)