Jump to content
IGNORED

Veronika megademo last part


Poison

Recommended Posts

I tested all atr versions from atarionline pl of Hard Soft megademo Veronika on real atari from real floppy disks (coppied by Sectorcopy tool) on stock Atari 130XE (no any extensions inside) and last part do not load. whean i press space for end of part with dancing girl demo crash . . . but with AtariWin800plus 4.1 works OK.

 

I tested it on FUjiama 2017 again on different stock Atari 800XE and there was the same problem. Is there any fixed version, please?

Link to comment
Share on other sites

I've been able to reproduce this in emulation in 130XE mode. The demo is locking up with endless interrupts:

 

post-16457-0-68741500-1503389591_thumb.png

 

This is because the demo is stomping the IRQ mask shadow (POKMSK) with garbage. This happens because a pointer table is too short and it begins reading from $D000 as a command buffer of sorts:

  41185:104: 61 | A=36 X=04 Y=36 (      ) | 7568: B9 84 76          LDA $7684,Y  ;$76BA
  41185:104: 69 | A=00 X=04 Y=36 (    Z ) | 756B: 85 DE             STA $DE
  41185:104: 75 | A=00 X=04 Y=36 (    Z ) | 756D: B9 BC 76          LDA $76BC,Y  ;$76F2
  41185:104: 83 | A=00 X=04 Y=36 (    Z ) | 7570: 38                SEC
  41185:104: 87 | A=00 X=04 Y=36 (    ZC) | 7571: E9 30             SBC #$30
  41185:104: 91 | A=D0 X=04 Y=36 (N     ) | 7573: 85 DF             STA $DF
  41185:104: 97 | A=D0 X=04 Y=36 (N     ) | 7575: A0 00             LDY #$00
  41185:104:100 | A=D0 X=04 Y=00 (    Z ) | 7577: B1 DE             LDA ($DE),Y  ;$D000
  41185:104:105 | A=00 X=04 Y=00 (    Z ) | 7579: 85 DC             STA $DC
  41185:104:108 | A=00 X=04 Y=00 (    Z ) | 757B: E6 DC             INC $DC
  41185:104:113 | A=00 X=04 Y=00 (      ) | 757D: A2 00             LDX #$00
  41185:105:  2 | A=00 X=00 Y=00 (    Z ) | 757F: BD 00 70          LDA $7000,X  ;$7000

Eventually, it begins reading from $D1xx, which is bad because that typically has no hardware responding to it and you will get either $FF or floating bus depending on the system. The demo works if it's the former (mostly XL machines), and crashes if it's the latter (mostly XE machines). The garbage received eventually causes it to overwrite $0010. Atari800 always gives $FF, which is why it doesn't reproduce there.

 

As for fixing it... well, depends on whether that table can be extended or the lookup index clamped.

 

  • Like 6
Link to comment
Share on other sites

Well,

 

I never had this problem, but then again I only have 800XL computers and (as phaeron already stated) there this demo works fine.

 

Besides, there is also a single fileversion of the last Veronika (dancing girl) part... have to search for it in my collection (the fileversion was also released on an Abbuc magazine).

 

Edit: Found it:

VERONIKA.xex

 

Edited by CharlieChaplin
Link to comment
Share on other sites

problem is not in part with dancing girl, for me, but problem is, that after press space in this part, last part do not load, demo crash :(

 

so I would like to have full working atr image that i can put on real floppy disk and it works:)

Link to comment
Share on other sites

This one works great. On my 800xl PAL.

 

Not checked if it goes by itself to that part, but using the SPACE bar works...

 

You should have tested on an XE, because phaeron already stated that it works on XL computers but does not work on XE computers... (and as said before, I do not own any XE computers so I cannot test it there)...

Link to comment
Share on other sites

This one works great. On my 800xl PAL.

 

Not checked if it goes by itself to that part, but using the SPACE bar works...

thank you, i just test it from real floppy and it doesnt work:( demo crash on the same place after press space in dancing girl part :(

Link to comment
Share on other sites

Ah now I understand problem indeed. I misread the topic. Interesting. Tested on 800Xe, crashes here too.

 

although it does not always crash at the same moment. Sometimes it already crashes as soon as space bar is crashed where the last words of the scroller of the dancing-girl-part are visible, and sometimes it crashes on the LOADING screen.

Link to comment
Share on other sites

Well I must say I was surprised to see it actually crash on my XE. So far I haven't seen a lot of incompatibilities. Sure there was this VIDEO demo for 130XE that did not work on my Klaus Buchholz Quarter Meg 800XL, but that was all... so far.

 

Interesting to see the reason why it crashes.

I love demo's.... especially the older demo's like Joyride, Cool Emotion, Veronika, Overmind, Demologicus... Very nice.

 

So this title deserves a patch. It is a nice demo with great music.

  • Like 1
Link to comment
Share on other sites

I contacted author of demo. Let's see what he can do....

 

thank you, but its more than 25 years, do you thing that they are stil active? :) or remember something about atari coding? :)

 

I like this megademo too, music is great and oldschool effects are great!

Link to comment
Share on other sites

i am in contact with Tamas and Sandor... but most disks are gone but I received all sources they had. let me check later if I have the source code of Veronika. I know I have Joyride, Cool Emotion and unreleased ("dressed for success") where I released stuff in several of mine productions (like the Wolfenstein in Arsantica 3).

  • Like 2
Link to comment
Share on other sites

i am in contact with Tamas and Sandor... but most disks are gone but I received all sources they had. let me check later if I have the source code of Veronika. I know I have Joyride, Cool Emotion and unreleased ("dressed for success") where I released stuff in several of mine productions (like the Wolfenstein in Arsantica 3).

 

are there any news, please?

Link to comment
Share on other sites

I used phaeron's pointers to come up with this hack:

 

veronika-xe-fix.atr

 

Note that the dancer shows up immediately upon the start of that section of the demo instead of a black screen for several seconds. This means that the synchronization with the music is not quite the same as in the original.

 

My steps were:

  • Notice that the index value of $36 for a certain table led to the bogus $D000 address in another table
  • Extract the XOR cipher key from memory at $680-$6FF and apply to the ATR ciphertext sectors to recover the plaintext
  • Locate the offending $36 values in the following section of the ATR plaintext:

     

    00011a00: 3333 3333 33ff b200 0636 3636 3636 3636  33333....6666666
    00011a10: 3636 3636 ffb2 0003 1f20 2122 2336 2536  6666..... !"#6%6
    00011a20: 2736 2936 ff00 0000 0c0c 0d0d 0e0e 0f0f  '6)6............
    00011a30: 1010 1111 1212 1313 1414 1515 1616 1717  ................
    00011a40: 1818 1936 1a36 1b36 1c36 ffb2 0005 0102  ...6.6.6.6....
  • Apply the cipher to values of $FF instead of $36 and use hex editor to apply the new values at the appropriate locations
XOR key and other work files I used available here:

 

veronika-hack.zip

  • Like 3
Link to comment
Share on other sites

I used phaeron's pointers to come up with this hack:

 

attachicon.gifveronika-xe-fix.atr

 

Note that the dancer shows up immediately upon the start of that section of the demo instead of a black screen for several seconds. This means that the synchronization with the music is not quite the same as in the original.

 

My steps were:

  • Notice that the index value of $36 for a certain table led to the bogus $D000 address in another table
  • Extract the XOR cipher key from memory at $680-$6FF and apply to the ATR ciphertext sectors to recover the plaintext
  • Locate the offending $36 values in the following section of the ATR plaintext:

     

    00011a00: 3333 3333 33ff b200 0636 3636 3636 3636  33333....6666666
    00011a10: 3636 3636 ffb2 0003 1f20 2122 2336 2536  6666..... !"#6%6
    00011a20: 2736 2936 ff00 0000 0c0c 0d0d 0e0e 0f0f  '6)6............
    00011a30: 1010 1111 1212 1313 1414 1515 1616 1717  ................
    00011a40: 1818 1936 1a36 1b36 1c36 ffb2 0005 0102  ...6.6.6.6....
  • Apply the cipher to values of $FF instead of $36 and use hex editor to apply the new values at the appropriate locations
XOR key and other work files I used available here:

 

attachicon.gifveronika-hack.zip

 

 

She is alive! Great, thank you!! :)

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...