Jump to content
IGNORED

Metagalactic Llamas VIC 20 -> Atari - finished


Heaven/TQA

Recommended Posts

Tezz...Cudos must go to Jeff Minter... he wrote the game and it his "his game" you are playing as it it's mainly the VIC version you have fun with... :) i am playing it as well frequently but not because of debugging but simply it's fun... strange... pure simple but blast...

 

it has some good game play rules you can learn from it... f.e. play risky get more points... (600 vs 100) as later you are hitting the spiders as more points you get... if you play with low barrier to get max speed points while being idle you are not able to hit the spiders early etc etc...so...some nice rules i have to admit... but only thing what i never understood is that you get 100 points when hitting spiders directly and that's the lowest direct score but the player aimed and hit it... that's little bit strange but... :)

Link to comment
Share on other sites

but Atari800win 4.0 version does not crash while pressing a key... so if it works on real machine I can not see what the reason is... so as it seems now it is an emu issue...

 

Sorry to disappoint you Heaven/TQA but this happens on a real machine too. It is even stranger. If it happens on a real machine you first get a second Llama then the second Llama gets halfway destroyed then the machine freezes although bottom and ceiling are still flashing.

 

And it happens not only on ATARI800 WinPlus emulator but on ATARI800 emulator as well.

 

It is quite easy to reproduce. Start the game with level 1 (didn't test it with different levels) play for a while, press a button -> freeze.

 

Regards,

 

patjomki

Link to comment
Share on other sites

Guys... don't play METS2.OBX... METS2B.OBX works... i can reproduce the freezing in the RC2 but not on RC2B.

 

I am playing the .atr version in the .zip file. Mets2b.zip.

 

Testing it with the .obx immediately.

 

O.K. Tested the .obx file with both ATARI800 WinPlus 4.0 and ATARI800 2.0.3 -> NO freezes. Made an .atr out of your .obx file in order to test it on real hardware -> freezes again (and again two Llamas).

 

Regards,

 

patjomki

Edited by patjomki
Link to comment
Share on other sites

ehm... the ATR has the freeze "bug" only when not booted with Basic... ehm... ;) i guess a standard in atari gaming is to boot a disc with pressed OPTION key (or to disable basic in atari800win...) ;)

 

so actually it's Fox's ATR bootloader together with my code plus basic enabled which causes the freeze...only speculation... maybe the vic code then does confuse something...

 

i will implement a small basic off in the final loader...

Link to comment
Share on other sites

ehm... the ATR has the freeze "bug" only when not booted with Basic... ehm... ;) i guess a standard in atari gaming is to boot a disc with pressed OPTION key (or to disable basic in atari800win...) ;)

 

so actually it's Fox's ATR bootloader together with my code plus basic enabled which causes the freeze...only speculation... maybe the vic code then does confuse something...

 

i will implement a small basic off in the final loader...

 

Yes. It's standard to disable BASIC. That's the reason why basic is always disabled here, no matter whether in emulators or on my real ATARI ;)

 

Regards,

 

patjomki

Edited by patjomki
Link to comment
Share on other sites

Hmm,

think there was a small utility called "BASOFF.OBJ" published in Compute! Magazine 1982 by Bill Wilkinson (author of "Inside Atari Basic"). This utility is just about 45 bytes short ($0400-$042C, Init $0400) and was re-published hundreds of times in many many other Atari paper and disk magazines... Think everyone should have that utility by now...

 

All you have to do is make a copy of this utility and rename it to e.g. "Metalama.COM", then use the *.XEX/*.OBX file of Megagalactic Llamas and copy + append it to METALAMA.COM and you are done. The next time you boot this COM file it will switch off Basic on XL/XE machines automatically...

 

I always wonder, why programmers are able to produce kbytes of code - but in the end they are too lazy to add a Basic off switch which is just a few bytes short... (but there is a more nasty thing: some programs test if the Option key was pressed and work only if it was pressed; of course this software basic-off switch will not work then; also third party OS`s with inverted Basic will not work with such nasty programs that test the Option key...)

 

-Andreas Koch.

Link to comment
Share on other sites

ok...rc4...

 

the keyboard bug seems to be a nasty one... as it does not appear when you are pressing a key in the main menu and then start a game. but if you press a key ingame first time it crashes even on real machine...

 

so sorry...it is not Fox ATR-loader... as it is happening in the unpacked file version as well...

 

have to look more into it...

post-528-1203373842_thumb.png

metalama.zip

Link to comment
Share on other sites

ok...rc4...

 

the keyboard bug seems to be a nasty one... as it does not appear when you are pressing a key in the main menu and then start a game. but if you press a key ingame first time it crashes even on real machine...

 

so sorry...it is not Fox ATR-loader... as it is happening in the unpacked file version as well...

 

have to look more into it...

 

Did you check the sound routines? Possibly it is some Interrupt problem.

Link to comment
Share on other sites

I will look into it tonight and on real machine with my 130xe and turbo freezer xe... the VIC-20 code does not use any interrupt. Jeff wrote it based on the VIC-20 machine speed... so he had not discovered yet the VBL... ;) well he actually doesn't use it...

 

i just checked my patcher & vbl/dli code... as i said... i don't read keyboard either... so it must be something with the IRQ.

 

emay. yes. will look into it as i fix some small issues (flickering of the barrier, pause key (isn't it ironic, no pause code yet implemented... ;))

Edited by Heaven/TQA
Link to comment
Share on other sites

well... i just went through the rom listing of the VIC and the zero pages...so actually nothing strange there... now i double checked the zero pages on atari side... well... the vic code is not running in a "sandbox" except for the $9xxx hardware registers where RAM is on atari side... BUT... the game uses the zeropages $00 - $25... and $10f. are interesting... as i haven't patched that...as i just had a overview last time and forgot that this is an important one... ;)

 

so i suspect (haven't looked into it) that the game writing to $10ff. causes the game to crash... aws i am using standard VBL & OS is on...

Link to comment
Share on other sites

as it seems it's definitly the "player x" variable at $10 which causes the game to hang after pressing one key... you can try that by yourself in BASIC, simple do a POKE 16,0 and press a key...

 

so I have a new RC running at the moment which I am playtesting before uploading... stay tuned.

Link to comment
Share on other sites

as it seems it's definitly the "player x" variable at $10 which causes the game to hang after pressing one key... you can try that by yourself in BASIC, simple do a POKE 16,0 and press a key...

 

so I have a new RC running at the moment which I am playtesting before uploading... stay tuned.

Great work Heaven! it's all valuable knowledge to find these things out. Bug hunting is so much fun :D
Link to comment
Share on other sites

That'd be it alright.

 

Shadow register for IRQEN on POKEY, so enabling a whole bunch of unwarranted IRQ types could cause it.

 

By using other locations down that low can cause trouble too - as in preventing Reset from giving you the machine back.

 

Pretty sure too that the OS in the 600XL would hang up on Reset if you stored certain values in location 1.

Link to comment
Share on other sites

yeah. at the moment I am keeping an eye on the zero page OS vars just to prevent unwanted issues with the VIC code... maybe I can hunt down the sound bug (sometimes sound fx are not played) and I am even trying to get the "barrier colourfading when hit" back in the Atari version... but I am not sure if it will work...

 

and as it seems that the only "critical" ones are $12,$13,$14 which are the internal clock which are altered by the OS.

Edited by Heaven/TQA
Link to comment
Share on other sites

Hmm,

tested the version without scrolling (on a real Atari 800XL with 576k RAM and XL-OS) - and the bug appeared only once and was not very dramatic... i.e. when I loaded and started the game for the very first time and pressed a key while playing the game (with the very first life) a second Llama appeared somewhere on the screen, but the game did not lock up ! Instead I could only move one of the two Llamas and thus the second one died soon... Continued the game with all the other lives I had left and pressed a key almost every second (just for testing purposes), but the game did not lock up nor did a second Llama appear anymore...

 

So, in conclusion, it looks like this bug only happens when you play the game with your first life and then press a key... Since the game is joystick driven and there is not really a need to press a key while playing (shooting) and furthermore the bug happens only with the first life, I don`t think it is very dramatic... There are a lot of commercial games out there with more serious bugs, than rhis one... -Andreas Koch.

 

P.S.: I prefer the non-scolling version of this game...

Link to comment
Share on other sites

here is RC5 - PAL / unpacked

 

Unfortunatly I can not fix the sound issue as i have absolutly no clue why sometimes the sound fx are played and sometimes not...same happened in my "NO-OS" version... could be my code, could be Miker's sound fx, could be Raster's FX playback in combination with the vic-code...i have no clue. but it is imho not a reason not to release it...

 

hope it works well on real machine... this RC5 will not work on NTSC. The fixes for NTSC will be done when the PAL is ok. the packed file version will be done when RC5 is ok as I do not want to spend linking and packing just to see that the main has still some issues...

 

it's a nature of the VIC code that for the file version you will need a game dos (sorry Andreas) as it uses $1000-$1dff for the game.

 

ps. there is a "loader screen" but to see it you have to switch off the SIO-patch in atari800win (so you are loading in original speed, F11 is the key to toggle the SIO-patch)

metalama.zip

Edited by Heaven/TQA
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...