[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Tracing MiNT startup



Well, porting MiNT to HSC has so far not borne fruit.  It compiles with
relatively little modification, but the resulting program locks up
during startup.  Using ye olde printf() method of debugging[*], I've
tracked it as far as init_intr(), but any GEMDOS/BIOS/XBIOS calls after
that don't happen -- which is not surprising, since these vectors are
in a sense "in flux" at that point.

So I come to you all for advice.  My questions are:

- At what point after the call to init_intr() does it again become safe
  to call GEMDOS/BIOS/XBIOS routines?

- Alternatively, is there a way to generate "output" without going
  through these vectors?  By "output" I mean changing screen colors,
  beeping, basically anything I can use to create a detectable
  "checkpoint" in the code.

Incidentally, I tried using bconout() from bios.c to do "checkpointing",
with the result that MiNT suddenly booted all the way up (to my
astonishment), and then started acting weird, finally dying with the
message:  "pid 0 ([garbage]): Unable to remove process from queue".
This is obviously not good, and I conclude that that was probably not
what bconout() is supposed to be used for.

						-sbigham

[*] I've yet to find a debugger that works well with the combination of
MiNT and HSC, and taking a debugger to the operating system is not
exactly my idea of a fun afternoon anyway.