Image Map Image Map
Page 4 of 4 FirstFirst 1234
Results 31 to 36 of 36

Thread: Little Game Engine for MS DOS.

  1. #31
    Join Date
    Dec 2016
    Location
    New Jersey
    Posts
    148

    Default

    Quote Originally Posted by Mills32 View Post
    I read somewhere you need double buffering for smooth horizontal scrolling, maybe they are right . that means i'll have to use more vram for buffering and i won't be able to store 256 tiles if i want the engine to work on slow cpu

    The weird thing is the scrolling is smooth in both dosbox, PCem, and also on real SVGA and modern cards emulating VGA.
    Even if the VGA emulation is register accurate, it is possible that the emulators (and modern cards emulating VGA) do not constrain memory bandwidth to what was actually available 30 years ago.

    For example, by default DOSBOX emulates an S3 VGA card from 1995 that was VESA bus, had some acceleration features, and had more memory bandwidth. I believe you can change this so that it only emulates an early VGA card (VGA_ONLY option), however, even then I am not sure it constrains it to 1988 level hardware.

  2. #32
    Join Date
    Aug 2006
    Location
    Chicagoland, Illinois, USA
    Posts
    5,569
    Blog Entries
    1

    Default

    Quote Originally Posted by Mills32 View Post
    I read somewhere you need double buffering for smooth horizontal scrolling
    Not from a hardware standpoint, no. But if you're trying to update too much VRAM at once, you may run out of time before the electron gun is drawing onscreen. But I don't think that's it, because even the Little Game Engine logo at the top of the main menu is not scrolling smoothly, so I think you're just performing hardware operations in the wrong order or at the wrong time.

    I should clarify that your vertical scrolling was 100% perfect; only horizontal was jerky. Do you have background interrupts going, like for the music? If so, and you want perfect displays, the music should be called after the drawing cycle, not at the start. Jitter in the music playing routine is more forgivable than visible jitter.

    The weird thing is the scrolling is smooth in both dosbox, PCem, and also on real SVGA and modern cards emulating VGA.
    There is no 100% perfect PC emulator. Try this as a test: Download TOPBENCH and run it on inside PCem. A)dd the "system" to the database. Then use the comparison function to compare a Dell 316sx to what you just added. I'm guessing the vidram metric number is WAY lower in PCem than how real hardware behaves.

    Quote Originally Posted by Mills32 View Post
    I uploaded "DOCVIEW". If that doesn't work, nothing will. DOCVIEW is an old doc viewer for EGA and VGA, and it claims to do smooth scrolling. If it works on real VGA, I'll have to copy exactly how it works.
    Those only do vertical scrolling, and your vertical scrolling was fine.

    Also I think the smooth (hardware) scrolling has not been used in many games, and it may not be very compatible, people just used 286 and 386 fast instructions to redraw the whole screen every frame.
    I agree it wasn't used much, but it was used -- see Commander Keen 1 for an example. There is a VOGONS discussion thread (I think) where the "compatibility" options in that game are discussed and how they relate to horizontal scrolling -- what the trouble was, and what the fix was.

    There were a few demoscene productions that used horizontal scrolling and it worked just fine; see the 90's musicdisk Chromatiks (IIRC you need to move the mouse left and right while music is playing). And that was with mod mixing in the background.

    Quote Originally Posted by rpiguy2 View Post
    Even if the VGA emulation is register accurate, it is possible that the emulators (and modern cards emulating VGA) do not constrain memory bandwidth to what was actually available 30 years ago.
    Seconded. DOSBox is especially guilty of this, but DOSBox was designed to run DOS games as fast as possible, not as accurately as possible.
    Offering a bounty for:
    - The software "Overhead Express" (doesn't have to be original, can be a copy)
    - A working Sanyo MBC-775, Olivetti M24, or Logabax 1600
    - Documentation and original disks for: Panasonic Sr. Partner, Zenith Z-160 series
    - Music Construction Set, IBM Music Feature edition (has red sticker on front stating IBM Music Feature)

  3. #33

    Default

    Quote Originally Posted by Trixter View Post
    ...I think you're just performing hardware operations in the wrong order or at the wrong time.

    I should clarify that your vertical scrolling was 100% perfect; only horizontal was jerky. Do you have background interrupts going, like for the music?...
    The logo in the menu also scrolls very bad on PCem, there is something going on with the timming.

    And yes... there is a background interrupt for the music, I think I can get rid of it.

  4. #34
    Join Date
    Aug 2006
    Location
    Chicagoland, Illinois, USA
    Posts
    5,569
    Blog Entries
    1

    Default

    Quote Originally Posted by Mills32 View Post
    The logo in the menu also scrolls very bad on PCem, there is something going on with the timming.
    Good, so you can reproduce this issue. Work on that, and when you fix the top logo, then I have a feeling it will be fixed for everything. Post here when you have a new binary to test.

    For hints on the correct order (start address high, start address low, horizontal pixel panning), look at XLIB or XLIBPAS.

    Adlib music updates take a while and are variable duration, so a command-line switch to disable any background music routine might also be useful for testing.
    Offering a bounty for:
    - The software "Overhead Express" (doesn't have to be original, can be a copy)
    - A working Sanyo MBC-775, Olivetti M24, or Logabax 1600
    - Documentation and original disks for: Panasonic Sr. Partner, Zenith Z-160 series
    - Music Construction Set, IBM Music Feature edition (has red sticker on front stating IBM Music Feature)

  5. #35

    Default

    Quote Originally Posted by Trixter View Post
    Good, so you can reproduce this issue. Work on that, and when you fix the top logo, then I have a feeling it will be fixed for everything. Post here when you have a new binary to test.

    For hints on the correct order (start address high, start address low, horizontal pixel panning), look at XLIB or XLIBPAS.

    Adlib music updates take a while and are variable duration, so a command-line switch to disable any background music routine might also be useful for testing.
    If I change the palette (to make the water colour cycles) the scroll is smooth on PCem, but that does not solve anything on real VGA.

    So without the colour cycles, the scroll is also smooth if you move in x and y directions at the same time.

    Could you test the game, for example the top down demo, and play around until the screen makes a diagonal scroll, and see if it is smooth?.

  6. #36

    Default

    I copied some code from xlib, but there must be something missing.

    So I took a much simpler code from "Michael Abrash's Graphics Programming Black Book Special Edition", This is behaving on PCem just as the scrolling intro of Double dragon 3 (that video I posted), So it should scroll perfect on real VGA.
    Attached Files Attached Files

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •