• Please review our updated Terms and Rules here

Recent content by dreNorteR

  1. D

    I found the SAVEALL opcode

    That makes sense. I noticed that the bus state after STOREALL is shown as PASV[F] instead of PASV[7], which is another indicator that it's actually expecting to fetch code! It's very unlikely that a random 286 chip has these pins exposed, only those produced for In-Circuit Emulators. Maybe...
  2. D

    I found the SAVEALL opcode

    Not sure why the registers are still set like that, you basically powered up the CPU, released it out of reset and the first two words of code it fetched were 0FF1, xx04? Or was there anything else in between? Thanks for including enough cycles after it stops writing to memory, this is very...
  3. D

    I found the SAVEALL opcode

    That should be possible with just LOADALL, Digital Research did this as well but apparently their method didn't work on all steppings - could you explain more about what you used STOREALL for? So far, the one intended use for this instruction I've seen was to generate an ICEBP via software...
  4. D

    I found the SAVEALL opcode

    Very interesting to me, since I only played around with what could be done using software running on a normal AT compatible! Was thinking for a time about building an interface like yours, but it's not really something I have experience with. Seems like there is something going on internally...
  5. D

    IBM PC Character Set Information (Code Page 437)

    Apple made the deliberate choice of 'decomposing' Unicode characters wherever possible. So åäöÅÄÖ becomes aaoAAO + combining diacritic marks. No other operating system does this.
  6. D

    IBM PC Character Set Information (Code Page 437)

    Coming up with a single 'correct' mapping for all purposes seems like an impossible task to me. You won't reproduce the glyphs exactly when using another font, and I believe the ones from https://int10h.org/oldschool-pc-fonts currently don't support your mapping (though maybe they will in the...
  7. D

    Two graphics cards at the same time in an XT

    All VGA cards should be able to move their CRTC port to either color (3D4) or mono (3B4). And at least some do have code in their video BIOS to detect if a CGA card is present, and in that case automatically switch to mono emulation mode. Most cards that do this probably won't emulate Hercules...
  8. D

    Printing a number in decimal on an 8080

    Can't edit anymore, but here's a 16-bit version of the BCD algorithm + zero suppressed output completely in registers (this assumes "putch" prints A while preserving all other regs): put_i16: ; HL = signed number mov a,h ora a jp put_u16 cma mov h,a...
  9. D

    Printing a number in decimal on an 8080

    That's the simplest algorithm, but you can save stack space by building the number backwards (into a buffer on the stack or elsewhere) instead of doing the recursive call. The problem is you need a division routine. For 16 bit it isn't that tricky to implement, but if you want to print 32 bit...
  10. D

    Print bios date with FASM in assembly on XT 5160

    To answer your original question, the BIOS date is just always 8 characters, it isn't terminated by a nul byte. The problem with the pushall/popall macros is that you can't (and don't need to!) pop into CS. On anything newer than the 8086/8088, this opcode is either illegal, or a prefix byte...
  11. D

    Bill Gates really did claim that the 640K barrier was due to his decisions - Is there any other actual evidence that this was not the case?

    That's a good explanation for it. The 8085's conditional jumps also don't depend on the ALU at all, so it makes sense for that test to come later. But if you're being that paranoid about parts of the CPU failing, the question is are you paranoid enough? Well, I guess the registers (including...
  12. D

    Bill Gates really did claim that the 640K barrier was due to his decisions - Is there any other actual evidence that this was not the case?

    That's a deep rabbit hole to go down. At some point your test code will obviously have to rely on the CPU doing something correctly, at least enough to halt itself (do we even dare to make the speaker beep at that point? anything could happen!) Even any conditional jump, or even non-far direct...
  13. D

    80386 D-bit

    That might work, as long as the high bits of ESP are never modified, and there's no wraparound? But it's really hacky. I'm definitely not an expert on UEFI, but from reading the documentation it should provide a 128K stack at minimum. Your initial stack pointer could happen to end up near...
  14. D

    80386 D-bit

    The hardware will automatically align RSP on interrupt.
  15. D

    80386 D-bit

    There is a problem, though it's slightly different than the stack being 16-bit: segments do not exist in 64-bit mode, the only vestigial function left is that CS determines the privilege level and mode. DS and SS aren't used for anything, the CPU simply assumes a flat address space. Which will...
Back
Top