Jump to content

RevEng

Members
  • Posts

    7,607
  • Joined

  • Last visited

  • Days Won

    12

Posts posted by RevEng

  1. 1 hour ago, karri said:

    Was this a known problem?

    [edit - trebor beat me to it]

     

    According to Kevin Horton's 2600 Bankswitch guide, there was only one commercial game that used F4, Fatal Run. The best practice for 2600 bankswitched games is not to assume a particular start-up bank. I tried starting up Fatal Run in different banks using Stella's "-startbank" argument, and the game appears to follow best practice.

     

    So it wasn't a problem during the commercial life of the 7800, and shouldn't be a problem for homebrew games that follow best practice.

    • Like 4
  2. 2 hours ago, bsteux said:

    Does anyone know how the Atari 2600+ is detecting the presence of a YM2151 ? Does it probe some specific address on the bus or does it look into the dumped ROM code for some access to a specific address (like 0x460 as suggested by the http://7800.8bitdev.org/index.php/YM2151_Detection detection code by @RevEng ? By the way, same questions for the Pokey chip...

    I have to be a bit careful here, as I'm not able to disclose closed technical details. I will just point out that it's been publicly reported that the 2600+ YM/Pokey emulation works with games that have code to drive these chips but don't physically have them on the PCB.

    • Thanks 1
  3. 1 hour ago, KainXavier said:

    The game boots but there's no audio or video.  Based on the FPS, the performance is also pretty bad. 

    When a game doesn't load right, the FPS isn't a matter of emulator performance, but rather the 2600 rom not giving out proper sync signals. The target FPS and actual FPS values being displayed in the debug info match each other, so the emulator is actually keeping up just fine with the (broken) code.

     

    Zippy is a 64k rom, and only 16k was dumped, so this is a problem with the current public dumper.

    • Like 4
  4. 6 hours ago, Aking said:

    i can't seem to "unfix" embedded size and unsync v3+v4

    I'm not really sure why you'd want to do that... the embedded size needs to be correct, and v3+v4 headers should be synced for maximum compatibility with emulators and flash devices. Older emulators will ignore any v4 headers present, if they don't support them.

     

    That said, if you want to go back to what you had before, 7800header always creates a ".backup" version of your rom. (though if you made changes in two or more sessions, the backup will be overwritten)

  5. 8 minutes ago, Thomas Jentzsch said:

    I am afraid, eventually we will be forced to buy developer certificates for hefty money.

    I think that's a correct prediction. There is no incentive for the AV vendors to correct heuristics that result in false-positives, because any cost to the false-positives is external to the AV vendor.

  6. Virus scanning was added to Chrome a year ago, but it seems a recent update has some very aggressive virus signatures and heuristics.. Apparently the 2600 Halo rom also has malware! :roll:

     

    There are instructions in that thread on how to disable the check globally, if you so wish. I really don't think stella has a virus, and there's not much to be done here. Unlike other AV vendors, Google doesn't have a process to appeal and white-list a falsely flagged executable.

     

    The executables from my open source projects, which are cross compiled on Linux and never touch a windows box, are regularly flagged as containing viruses, though the vendors always disagree on what. They use heuristics like "small download" and "not signed by a developer certificate" ($$$), in addition to overly-small overly-generic signatures that get triggered by a Hello World test.

    • Like 1
  7. It works with characters, but as you observed, the last zone needs 4 objects inserted before the character objects. It's true whether you use sprites or characters for the background. You just need to handle the bottom zone as a special case.

     

    The easiest way to do that is to just add 20 bytes of pre-padding to the last zone DL, but have your tables with DL locations skip over that 20 bytes of pre-padding. Then your special case for the last DL is just to point the DLL at the pre-padding, which can be done in your DLL build routine.

     

    Of course, that assumes you aren't otherwise running out of DMA on the line, even without the 4 objects.

  8. 1 hour ago, Albert said:

    They really should be taken to task for this, especially as it appears they are just blanket labeling all such files as dangerous.  I'm sure there are other extensions they are targeting as well. 

    AV is the scourge of open source projects, for the last decade or two. The cost of false positives is externalised to the open source devs, who are asked to  prove to several vendors that each and every new project release doesn't, in fact, contain a virus. Or you buy an expensive developer certificate, which lasts for a year, and still doesn't help with all AV engines.

     

    I'm not happy to see the AV scourge spread to our retro platforms that cannot have viruses.

    • Like 2
  9. I wouldn't sandpaper, personally. Erasers are good for cleaning edge contacts - gum art ones first, and if they need it, the rougher pink ones. Brasso is a good one too. Follow any of these up with alcohol.

    • Like 4
  10. 1 hour ago, alfredtdk said:

    I'm looking for this section in Batari Basic to learn more about this, about numbers and shared sprites, I haven't found it yet.
    Hypothetically speaking, if there was an optimization of the code and reduction of some animated effects, would this perhaps help so that there would be no flickering in the numbers presented?

    What can be displayed is a function of the display kernel, though the 2600 has limits on how many players can arbitrarily be positioned on any one scanline. i.e. there are just 2 players, and their regularly spaced copies. There are some kernel tricks that can be employed, like in galaxian 2600, but it still doesn't allow "arbitrary" positioning of those player copies.

     

    Have a look at using the bB multisprite or dpc+ kernels . Using those you can have more players on the screen, but you will still get flicker when you try to put more than 2 players on the same horizontal strip, because that's a 2600 fundamental limit.

     

    If none of the alternate bB kernels are suitable, you'd need to learn assembly language and how to create your own display kernel. Even there you won't be able to get past the fundamental limits, but you can reuse objects as you see fit in different horizontal bands of the screen, which may or may not be helpful for your game design.

    • Like 1
  11. 13 minutes ago, John Stamos Mullet said:

    Uh - can't you just enable integer scaling in retroarch? It's right there. It's an option? Is there a performance hit for it? I wouldn't think so.

    If you want to lose 20% of the vertical resolution, I guess it's theoretically possible.

    • Like 1
×
×
  • Create New...