Jump to content

RevEng

Members
  • Posts

    7,598
  • Joined

  • Last visited

  • Days Won

    12

RevEng last won the day on March 10

RevEng had the most liked content!

Profile Information

  • Gender
    Male
  • Location
    ​ 🇨🇦

Recent Profile Visitors

50,120 profile views

RevEng's Achievements

Quadrunner

Quadrunner (9/9)

9k

Reputation

  1. Yep, that works. The wrinkle there is you need to run the visible DLL all the way to the bottom of the PAL overscan area (or have a specific PAL version that does that) so you wind up with a different amount of play area between regions. Even with the NTSC version, you need to go a lot deeper than usual, to look right with TVs that have more visible area.
  2. My tinfoil hat is showing, but that suits the corporate push for walled gardens and software licensing just fine.
  3. 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.
  4. 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! 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.
  5. Entirely right. The approach of what gets updated just depends on the game design.
  6. No worries. I didn't realize you were modifying the DLL pointers to DLs, instead of the character object addresses. You can add the 4 objects to all of the DLs, but then point past them with the DLL pointers for all zones except the last.
  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. I wrote a proof of concept a while back. I need to get back to it and turn it into a real game, rather than just a display test, but all of the enemies use 320c. phoenix.bas.a78
  9. 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.
  10. 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.
  11. 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.
  12. The standard kernel is full, in terms of cycles per scanline, but also in terms of display objects. To display other items, like your values, you'd need to flicker them, using one frame to display a game object, and another frame to display the math value.
  13. If you want to lose 20% of the vertical resolution, I guess it's theoretically possible.
  14. The shimmering when vertical scrolling is a known issue, and has been present since the original factory firmware. Like you mentioned, it's due to non-integer scaling. Not much to be done there.
×
×
  • Create New...