• Please review our updated Terms and Rules here

Search results

  1. S

    MS-DOS 4.0(1) Opensource on Github

    Well, versions 6.20, 6.21 and 6.22 are identical anyway. Either would be fine. Source code for version 6.00 has been floating around for some time. Localized versions would be interesting, but that's not going to happen either, I think.
  2. S

    Looking for a test run on Intel 8080 and Intel 8085 machines

    When writing an 8080 emulator, getting AC right was the most challenging part to me. INR sets AC if the lower nibble of the result is zero. DCR sets AC if the lower nibble of the result+1 (i.e. the input operand) is zero. AND sets AC if (A OR input operand) has bit 3 set. That's a weird one...
  3. S

    Pocket 386

    Well, I never had to do that myself either. I probably could, don't know. They last long enough between (mandatory) inspections, and having them replaced then (not always) is convenient enough. Some people consider house repair knowledge essential. I don't own a house and am not allowed to...
  4. S

    Announcing ZuluIDE - an ATAPI CD-ROM and Removable (read-write) media emulator

    Sure, but it cannot run on anything except your particular hardware, and that hardware is closed. So from a practical point of view and for most people, the firmware might as well be closed-source, and that is your stated goal. All of them are complex hardware solutions and quite expensive...
  5. S

    Writing Assemblers... What should a good assembler do?

    A hash table with 32 buckets uses 5 bits to select the bucket. Hashes are used to cheaply skip comparisons, not to make the string comparisons more efficient. Example: Instead of a linked list of symbols, you create 32 of them. As a hash function, you take the low five bits of the first bytes...
  6. S

    Writing Assemblers... What should a good assembler do?

    I was thinking about hjalfi's approach, which uses 5 bits of the first character and hand-codes (!) the initial hash table for all instructions and registers, for a 32-entry table. New symbols are added to the same table. A prefix tree for instructions probably won't be efficient: Instruction...
  7. S

    Writing Assemblers... What should a good assembler do?

    You don't need a particularly good hashing function. One one hand, a Z80 doesn't have much memory to spare for a large table, so there will be collisions - on the other hand, your hash keys (symbols, instructions, registers) are not random data. Your could take a few bits off the first...
  8. S

    Writing Assemblers... What should a good assembler do?

    Using slow and non-scaling algorithms (linear search, bubble sort) is fine as long as the problems are small. A cross-assembler for an 8-bit CPU will always be fast enough. But repeatedly searching a large symbol table on a slow Z80 processor using a bad algorithm will hurt. Hash tables can...
  9. S

    Gateway P5-133XL on a modern DisplayPort/HDMI monitor without using VGA convertor - is it possible?

    A standard VGA card only has two clock generators (25 MHz and 28 MHz) and does not divide those pixel clocks. This design severely limits the number of video timings a VGA card can produce. Note that I am talking about timings here, not modes. You know that a CGA card outputs 320x200 at 60 Hz...
  10. S

    Writing Assemblers... What should a good assembler do?

    Yes. I am especially thinking about a label named "LOOP" conflicting with the x86 instruction "LOOP". That has always struck me as a stupid restriction for no good reason. On the Z80, there is no loop instruction - but there is still no good reason to disallow all mnemonics implicitly. Yes...
  11. S

    Gateway P5-133XL on a modern DisplayPort/HDMI monitor without using VGA convertor - is it possible?

    Most likely because a VGA card simply cannot output that resolution, so VGA monitors don't need to deal with it. Ever. If you set a 320x200 resolution, a VGA card will double-scan and use an appropriate pixel clock to actually output a 720x400 video timing. Please stop spreading misinformation.
  12. S

    Writing Assemblers... What should a good assembler do?

    If you are repeatedly hitting limitations and they annoy you, you should maybe consider doing something about them. Scoping (or namespaces) are an issue which has been named before, especially in the macro context. I'm not suggesting that you should build a complex system, but a few flags...
  13. S

    Writing Assemblers... What should a good assembler do?

    I found a good blog post evaluating a set of 6502 cross-assemblers at https://bumbershootsoft.wordpress.com/2016/01/31/a-tour-of-6502-cross-assemblers/. It might be a good read in order to understand how other people think about assemblers, and how they rank features. No matter what you do, you...
  14. S

    Utility Linux Distribution

    Sounds like you are trying to solve the wrong problem. Please take a step back and try to figure out what you are trying to do - and why. By now, systemd supports most features one might want to wish for. Almost all daemons today either interact well enough with it or behave in a reasonably...
  15. S

    Writing Assemblers... What should a good assembler do?

    Compiler technology has improved substantially since the early 80s, and so have the high-level languages themselves. Remember the video I linked you in the beginning? His ASM.COM reimplementation (done in C) is of comparable size, similar functionality and likely faster than DRI's...
  16. S

    Utility Linux Distribution

    NTFS is fully capable of providing POSIX semantics. It was designed for that after all, because of the POSIX subsystem in early NT. However, the Windows API does not allow you to use NTFS in such a way. So on Windows, you actually cannot provide full POSIX behaviour even though the underlying...
  17. S

    Writing Assemblers... What should a good assembler do?

    My i8080 emulator runs the (comprehensive) 8080 test suite about 260x faster than a true 8080 would (~42 seconds instead of >3 hours), on a decade-old laptop. A modern laptop improves this by another large factor because of improvements in modern processors. If you are concerned about emulator...
  18. S

    Writing Assemblers... What should a good assembler do?

    In that case, I would simply use a CP/M-based assembler. On Windows or Linux, I would run the same assembler through a command-line CP/M emulator. RomWBW takes this approach for C code, using HiTech C through a wrapper, which guarantees identical binaries across host systems.
  19. S

    Trident card that thinks Colour Monitor is Monochrome

    I can confirm that COLOR.COM also works with an OTI-037C connected to an older 15" HP LCD.
  20. S

    Writing Assemblers... What should a good assembler do?

    There are many assemblers running on other systems as well. The Z80 is and has been an extremely common target. The list at http://www.z80.info/z80sdt.htm contains 5 entries for 32-bit Windows, for example. RomWBW is also built primarily on Windows. There is at least one Z80-focused IDE running...
Back
Top