Jump to content

Photo

Blue Max not loading


32 replies to this topic

#26 ijor OFFLINE  

ijor

    Stargunner

  • 1,921 posts

Posted Tue Aug 22, 2017 3:15 PM

The US cassette of Blue Max by Synapse is 400/800 only ... The issue here is that the US release does not run on a XL ...

 

It actually runs on the 1200 XL (See Phaeron's description of the protection above). I'm not nitpicking, but mentioning this because it seem to me the protection design here is really very sloppy.

 

One thing is all the programs that depend on OS-B or OS-A only. You could understand that after the ROM being unchanged for all that time, they expected it will never change. But in this case, the 1200XL was just being released, and they were fully aware. They knew the ROM was changed and the protection explicitly checks for this case. It seems almost obvious that, at that point, you would expect that further ROM changes are very possible. They had to know that any such change would break the protection. Yet, they didn't care?



#27 baktra ONLINE  

baktra

    Moonsweeper

  • 378 posts
  • Location:Czech republic

Posted Wed Aug 23, 2017 12:57 AM

 

It actually runs on the 1200 XL (See Phaeron's description of the protection above). I'm not nitpicking, but mentioning this because it seem to me the protection design here is really very sloppy.

 

One thing is all the programs that depend on OS-B or OS-A only. You could understand that after the ROM being unchanged for all that time, they expected it will never change. But in this case, the 1200XL was just being released, and they were fully aware. They knew the ROM was changed and the protection explicitly checks for this case. It seems almost obvious that, at that point, you would expect that further ROM changes are very possible. They had to know that any such change would break the protection. Yet, they didn't care?

 

No, they didn't. But I wouldn't blame them for not foreseeing future changes of the system ROM. At the time, the future of Atari 8-bit line was unclear.



#28 Rybags OFFLINE  

Rybags

    Quadrunner

  • 15,230 posts
  • Location:Australia

Posted Wed Aug 23, 2017 1:10 AM

It was clear from the start that the intention was for different OS Roms to exist, that's why the 800 was designed with the OS on cartridge rather than in a non user-servicable configuration.

 

Synapse were the state of the art from probably 1980 to 1983 but their programming practices as far as illegal OS calls and such were abysmal.  The fact that almost all their catalog had trouble with XL when it was released is proof of that.  The fixes in some cases cost absolutely no extra bulk to the program code.

 

It was well documented by Atari that only documented jump tables and calling methods of OS routines should be used.  Anyone who doesn't ultimately pays the price.



#29 Mclaneinc OFFLINE  

Mclaneinc

    Quadrunner

  • 5,010 posts
  • Location:Northolt, UK

Posted Wed Aug 23, 2017 3:16 AM

I was just about to say Atari made it clear to use the shadow locations just incase they did any os changes....It wasn't as if it had not been made abundantly clear...Hell, even a dummy like me remembers reading the notes and seeing that. It just clicked that I remember talking to a dev at the time and he was going on about "never banging the metal" which was his way of saying the above.


Edited by Mclaneinc, Wed Aug 23, 2017 3:18 AM.


#30 baktra ONLINE  

baktra

    Moonsweeper

  • 378 posts
  • Location:Czech republic

Posted Wed Aug 23, 2017 4:21 AM

It is not just usage of OS vectors. There are useful routines in the OS that have no official vectors. So developers figured these out and took shortcuts.

 

One example is the BELL routine (makes the buzzing noise when you press CONTROL+2). There is no official vector for that routine exported (AFAIK)

 

Officially, to make that buzz, you would have to open the E: device and output the CONTROL+2 character. Using a simple JSR to the OS instead is then a very tempting idea (though still wrong shortcut to the programmer's underworld/hell). But if such small pieces determine if your game fits in 8KB or 16KB  cartridge (significant impact on the manufacturing cost at the time), the decision is all yours!



#31 Mclaneinc OFFLINE  

Mclaneinc

    Quadrunner

  • 5,010 posts
  • Location:Northolt, UK

Posted Wed Aug 23, 2017 4:34 AM

Oh there's no doubt there's little benefits of going directly but as you say, the decision is yours, depends how pushed you are and how compatible you mind being. At my level of programming skills back then I would have just been happy for my stuff to work let alone take risks :)



#32 ijor OFFLINE  

ijor

    Stargunner

  • 1,921 posts

Posted Wed Aug 23, 2017 6:14 AM

It is not just usage of OS vectors. There are useful routines in the OS that have no official vectors. So developers figured these out and took shortcuts ... But if such small pieces determine if your game fits in 8KB or 16KB  cartridge (significant impact on the manufacturing cost at the time), the decision is all yours!

 

Yes, but this is not the case here. Here it checks and compares some OS values just for the purpose of protection. They are trying to avoid somebody hacking the program with Omnimon or some other custom OS. And in a rather silly and rudimentary way.



#33 baktra ONLINE  

baktra

    Moonsweeper

  • 378 posts
  • Location:Czech republic

Posted Wed Aug 23, 2017 6:25 AM

 

Yes, but this is not the case here. Here it checks and compares some OS values just for the purpose of protection. They are trying to avoid somebody hacking the program with Omnimon or some other custom OS. And in a rather silly and rudimentary way.

 

Quite right, I deviated from Blue Max to some more general concepts...

Perhaps their way was good enough at the time. No emulators, just native 8-bit debugging and hacking tools.






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users