Jump to content
IGNORED

Original version of HobbyTronic 91 discs ?


Poison

Recommended Posts

There exist only hacked versions of Hobbytronic demodisc 91, disc 1 and 2 ? Because HT89 and 90 and are disgned: 1st part load . . play . . end . . 2nd part load . . play. . .. end . . . . . or you can press START key for next part.

 

In HT year 91 you see after boot, menu, where you can press A, B, C . . . for separate parts, but if you wait for some minutes demos ends and than crash . . I think that it need to load next part. Or if you press START key it happens the same think, demo crash.

 

So, are there original demodiscs ?

 

only exist version:

 

http://a8.fandal.cz/detail.php?files_id=3568

 

and may be important note: Part Megaballs from 1st atr crash after few seconds on real unexpanded Atari and under Atari800Win plus v. 4.1 too :(

Edited by Poison
Link to comment
Share on other sites

Well,

the Hobby Tronic demos were made by Abbuc, thus the original version can be found in the Abbuc PD library (PD 299). There it loads one demo part after another and it is not possible to choose a certain part... and that's the problem, because Peter Sabath coded a demo part ("Megaballs" which is part 1 or 2 of the HT 1991 demodisk) that does not work on a lot of XL/XE computers. And therefore you do not get to see the other parts. Thats why they hacked and patched the original version and made a newer version available where one can choose any part (but the contiguous load of the other parts does not work anymore then).

 

No clue, what Peter Sabath did in his Megaballs part and why it does not work on so many XL/XE computers (it does not require more than 64k RAM, it does not require sep. Antic, etc., but maybe some very strict timing). If I load this part on any of my five 800XL computers it crashes quite often, maybe in 1 of 10 tries it works - the funny thing is, there is a depacker in this demo part (as well as in the other parts) and when depacking shows a lot of garbage, the demo suddenly runs fine, if depacking shows no garbage, the demo crashes on my XL machines...

0299.zip

Edited by CharlieChaplin
  • Like 1
Link to comment
Share on other sites

Some time ago I asked for a fixed version. There is a xex version of the megaball demo that runs fine from The!cart but fails through other routes.

 

I think the problem with the packer is that certain memory value is expected to be let's say zero which isn't always the case. This in combination with a very strict timing makes the demo crash in most situations. Obviously when run from The!Cart the circumstances are always ideal and it does run anytime.

 

But... only with the fixed xex.

Have to find it somewhere.

Edited by ProWizard
Link to comment
Share on other sites

Sometimes it works on Altirra, some times the first balls screen just flashes and its done..

 

Tried loads of things on it but its weird, also, what is the sound it makes like a scratch straight after booting, bit like when its looking for a Happy etc, tried loads of drive types, memory clearance options, r/w, OS chip variations..I give up, feeling its doing something odd or duff?

 

One for Avery & co...Will let him know in the Altirra thread JIC...

Link to comment
Share on other sites

Altirra's verifier is showing a recursive DLI problem due to an unclean screen switch. The megaballs stage loads on top of the active display list, swaps in a new display list at SDLSTL/SDLSTH, and then makes DLIs hot without waiting for VBI stage 2 to actually set the new display. ANTIC is running garbage as the display list, so it's a complete crapshoot as to whether you get the crash. That $C1 instruction that ANTIC just hit in the "display list"? That triggers a DLI every scanline. Game over. If the demo section doesn't crash immediately and manages to get the display going, it's still running on borrowed time -- the interrupt handlers are running but the main code is running haywire, executing BRKs or GTIA registers, etc.

 

We've seen this over and over. Don't load over the active screen, and don't try to swap in a new screen without waiting for vertical blank.

VERIFIER: Recursive NMI handler execution detected.
          PC: 2BE2

      24359:104:  3 | A=2B X=30 Y=04 (   I  ) | 2C5A: B9 BC 2C          LDA $2CBC,Y  ;$2CC0
      24359:104:  7 | A=03 X=30 Y=04 (   I  ) | 2C5D: 9D 00 02          STA VDSLST,X ;$0230
      24359:104: 12 | A=03 X=30 Y=04 (   I  ) | 2C60: C8                INY
      24359:104: 14 | A=03 X=30 Y=05 (   I  ) | 2C61: 4C 53 2C          JMP $2C53
      24359:104: 17 | A=03 X=30 Y=05 (   I  ) | 2C53: BE B0 2C          LDX $2CB0,Y  ;$2CB5
      24359:104: 21 | A=03 X=31 Y=05 (   I  ) | 2C56: E0 FF             CPX #$FF
      24359:104: 23 | A=03 X=31 Y=05 (   I  ) | 2C58: F0 0A             BEQ $2C64
      24359:104: 26 | A=03 X=31 Y=05 (   I  ) | 2C5A: B9 BC 2C          LDA $2CBC,Y  ;$2CC1
      24359:104: 31 | A=28 X=31 Y=05 (   I  ) | 2C5D: 9D 00 02          STA VDSLST,X ;$0231
...
  24359:105: 63 | A=00 X=FF Y=0B (   IZC) | 2C64: A9 2D             LDA #$2D
  24359:105: 65 | A=2D X=FF Y=0B (   I C) | 2C66: 8D FA FF          STA $FFFA
  24359:105: 69 | A=2D X=FF Y=0B (   I C) | 2C69: A9 2B             LDA #$2B
  24359:105: 71 | A=2B X=FF Y=0B (   I C) | 2C6B: 8D FB FF          STA $FFFB
  24359:105: 75 | A=2B X=FF Y=0B (   I C) | 2C6E: A9 2C             LDA #$2C
  24359:105: 77 | A=2C X=FF Y=0B (   I C) | 2C70: 8D FE FF          STA $FFFE
  24359:105: 81 | A=2C X=FF Y=0B (   I C) | 2C73: A9 2B             LDA #$2B
  24359:105: 83 | A=2B X=FF Y=0B (   I C) | 2C75: 8D FF FF          STA $FFFF
  24359:105: 87 | A=2B X=FF Y=0B (   I C) | 2C78: A9 0F             LDA #$0F
  24359:105: 89 | A=0F X=FF Y=0B (   I C) | 2C7A: 8D 12 D0          STA COLPM0
  24359:105: 93 | A=0F X=FF Y=0B (   I C) | 2C7D: 8D 13 D0          STA COLPM1
  24359:105: 97 | A=0F X=FF Y=0B (   I C) | 2C80: A9 00             LDA #$00
  24359:105: 99 | A=00 X=FF Y=0B (   IZC) | 2C82: 8D 14 D0          STA COLPM2
  24359:105:103 | A=00 X=FF Y=0B (   IZC) | 2C85: 8D 15 D0          STA COLPM3
  24359:105:107 | A=00 X=FF Y=0B (   IZC) | 2C88: A9 6C             LDA #$6C
  24359:105:109 | A=6C X=FF Y=0B (   I C) | 2C8A: 8D 09 D4          STA CHBASE
  24359:105:113 | A=6C X=FF Y=0B (   I C) | 2C8D: 58                CLI
  24359:106:  2 | A=6C X=FF Y=0B (     C) | 2C8E: A9 C0             LDA #$C0
  24359:106:  4 | A=C0 X=FF Y=0B (N    C) | 2C90: 8D 0E D4          STA NMIEN
  24359:106:  8 | A=C0 X=FF Y=0B (N    C) | 2C93: 8E 0F D0          STX GRAFP2
  24359:106: 12 | A=C0 X=FF Y=0B (N    C) | 2C96: 8E 10 D0          STX GRAFP3
  24359:106: 16 | A=C0 X=FF Y=0B (N    C) | 2C99: 8E 0A D0          STX SIZEP2
  24359:106: 20 | A=C0 X=FF Y=0B (N    C) | 2C9C: 8E 0B D0          STX SIZEP3
  24359:106: 24 | A=C0 X=FF Y=0B (N    C) | 2C9F: A9 10             LDA #$10
  24359:106: 27 | A=10 X=FF Y=0B (     C) | 2CA1: 8D 02 D0          STA HPOSP2
  24359:106: 32 | A=10 X=FF Y=0B (     C) | 2CA4: A9 D0             LDA #$D0
  24359:106: 35 | A=D0 X=FF Y=0B (N    C) | 2CA6: 8D 03 D0          STA HPOSP3
  24359:106: 40 | A=D0 X=FF Y=0B (N    C) | 2CA9: A5 14             LDA RTCLOK+2
  24359:106: 44 | A=28 X=FF Y=0B (     C) | 2CAB: C5 14             CMP RTCLOK+2
  24359:106: 48 | A=28 X=FF Y=0B (    ZC) | 2CAD: F0 FC             BEQ $2CAB
  24359:106: 52 | A=28 X=FF Y=0B (    ZC) | 2CAB: C5 14             CMP RTCLOK+2
+ Last 2 insns repeated 108 times
- NMI interrupt (DLI)
    24359:113: 17 | A=28 X=FF Y=0B (   IZC) | 2B2D: 2C 0F D4          BIT NMIST
    24359:113: 21 | A=28 X=FF Y=0B (N  I C) | 2B30: 10 0B             BPL $2B3D
    24359:113: 23 | A=28 X=FF Y=0B (N  I C) | 2B32: 6C 00 02          JMP (VDSLST)
    24359:113: 30 | A=28 X=FF Y=0B (N  I C) | 2BC8: 48                PHA
    24359:113: 34 | A=28 X=FF Y=0B (N  I C) | 2BC9: 8A                TXA
    24359:113: 36 | A=FF X=FF Y=0B (N  I C) | 2BCA: 48                PHA
    24359:113: 40 | A=FF X=FF Y=0B (N  I C) | 2BCB: A2 52             LDX #$52
    24359:113: 43 | A=FF X=52 Y=0B (   I C) | 2BCD: A9 80             LDA #$80
    24359:113: 46 | A=80 X=52 Y=0B (N  I C) | 2BCF: 8D 0A D4          STA WSYNC
    24359:113: 51 | A=80 X=52 Y=0B (N  I C) | 2BD2: 8D 1A D0          STA COLBK
    24359:113:108 | A=80 X=52 Y=0B (N  I C) | 2BD5: A9 24             LDA #$24
    24359:113:110 | A=24 X=52 Y=0B (   I C) | 2BD7: 8D 18 D0          STA COLPF2
    24359:114:  0 | A=24 X=52 Y=0B (   I C) | 2BDA: A9 AA             LDA #$AA
    24359:114:  2 | A=AA X=52 Y=0B (N  I C) | 2BDC: 8D 11 D0          STA GRAFM
    24359:114:  6 | A=AA X=52 Y=0B (N  I C) | 2BDF: BD 00 A5          LDA $A500,X  ;$A552
  - NMI interrupt (DLI)
      24359:114: 17 | A=00 X=52 Y=0B (   IZC) | 2B2D: 2C 0F D4          BIT NMIST
      NEXT         | A=00 X=52 Y=0B (N  IZC) | 2B30: 10 0B             BPL $2B3D

Altirra> .dlhistory
Ycoord DLIP PFAD H V DMACTL MODE
--------------------------------
    8: 6142 7e00 3 0   22   7e
    9: 6145 7e30 3 0   22   01
   10: 017e 7e30 3 0   22   00
   11: 017f 7e30 3 0   22   00
...
  111: 01e3 7e30 3 0   22   00
  112: 01e4 7e30 3 0   22   0e
  113: 01e5 7e58 3 0   22   c1


  • Like 2
Link to comment
Share on other sites

Please try a few more time. If it keeps working great, I would be very interested in getting the ATR.

 

so, tested manytimes and it works every time. I tested it on my expanded Atari with Ultimate 1MB, Covox, Stereo, Qmeg, works great. The same on my unexpanded atari 130 XE. I used files from CharlieChaplins post.

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