Atari_Force Posted January 18, 2016 Share Posted January 18, 2016 Please take a look: Game bug?Altirra bug?Attached: -file by Mr Bacardi -saved state (altirra 2.80 test 9)hhouse.rar 1 Quote Link to comment Share on other sites More sharing options...
Suppawer Posted January 18, 2016 Share Posted January 18, 2016 (edited) This happened to me sometimes Edited January 18, 2016 by suppawer Quote Link to comment Share on other sites More sharing options...
phaeron Posted January 18, 2016 Share Posted January 18, 2016 Game bug. Shot from a real 130XE: (DIsk booter version of snapshot attached -- requires 128K, ver2 OS and BASIC off.) The issue is that when Henry dies on landing, the game runs a deferred VBI that is way too long: 19268:255: 27 | A=01 X=FE Y=FF (NV ) | C24C: 6C 24 02 JMP (VVBLKD) 19268:255: 34 | A=01 X=FE Y=FF (NV ) | 3ECC: AD 18 B8 LDA $B818 19268:255: 39 | A=00 X=FE Y=FF ( V Z ) | 3ECF: D0 33 BNE $3F04 19268:255: 42 | A=00 X=FE Y=FF ( V Z ) | 3ED1: AD 2A B8 LDA $B82A 19268:255: 47 | A=00 X=FE Y=FF ( V Z ) | 3ED4: F0 15 BEQ $3EEB 19268:255: 51 | A=00 X=FE Y=FF ( V Z ) | 3EEB: AD 0A B8 LDA $B80A 19268:255: 56 | A=01 X=FE Y=FF ( V ) | 3EEE: F0 03 BEQ $3EF3 + 19268:255: 59 | A=01 X=FE Y=FF ( V ) | 3EF0: 20 D6 43 JSR $43D6 + 19269: 63: 68 | A=00 X=C8 Y=17 ( ZC) | 3EF3: 20 07 3F JSR $3F07 - 19269: 64: 9 | A=A3 X=C8 Y=17 (N ) | 3EF6: 20 83 3F JSR $3F83 19269: 64:111 | A=A3 X=C8 Y=17 (N ) | 3F83: AD 07 B8 LDA $B807 19269: 65: 6 | A=01 X=C8 Y=17 ( ) | 3F86: F0 03 BEQ $3F8B 19269: 65: 8 | A=01 X=C8 Y=17 ( ) | 3F88: 4C BD 3F JMP $3FBD 19269: 65: 11 | A=01 X=C8 Y=17 ( ) | 3FBD: CE 06 B8 DEC $B806 19269: 65: 22 | A=01 X=C8 Y=17 (N ) | 3FC0: AD 06 B8 LDA $B806 19269: 65: 36 | A=FF X=C8 Y=17 (N ) | 3FC3: C9 FF CMP #$FF 19269: 65: 44 | A=FF X=C8 Y=17 ( ZC) | 3FC5: F0 04 BEQ $3FCB 19269: 65: 56 | A=FF X=C8 Y=17 ( ZC) | 3FCB: A9 03 LDA #$03 19269: 65: 62 | A=03 X=C8 Y=17 ( C) | 3FCD: 8D 06 B8 STA $B806 19269: 65: 70 | A=03 X=C8 Y=17 ( C) | 3FD0: 8D 04 D4 STA HSCROL 19269: 65: 78 | A=03 X=C8 Y=17 ( C) | 3FD3: EE 26 3E INC $3E26 19269: 65: 90 | A=03 X=C8 Y=17 ( C) | 3FD6: AD 26 3E LDA $3E26 19269: 65: 98 | A=07 X=C8 Y=17 ( C) | 3FD9: D0 03 BNE $3FDE 19269: 65:104 | A=07 X=C8 Y=17 ( C) | 3FDE: CE 00 B8 DEC $B800 19269: 65:111 | A=07 X=C8 Y=17 ( C) | 3FE1: AD 00 B8 LDA $B800 19269: 66: 8 | A=02 X=C8 Y=17 ( C) | 3FE4: F0 01 BEQ $3FE7 19269: 66: 12 | A=02 X=C8 Y=17 ( C) | 3FE6: 60 RTS 19269: 66:112 | A=02 X=C8 Y=17 ( C) | 3EF9: AD 2A B8 LDA $B82A 19269: 67: 10 | A=00 X=C8 Y=17 ( ZC) | 3EFC: D0 03 BNE $3F01 + 19269: 67:107 | A=00 X=C8 Y=17 ( ZC) | 3EFE: 20 59 43 JSR $4359 + 19269: 69:112 | A=B1 X=C8 Y=17 ( C) | 3F01: 20 E0 42 JSR $42E0 19269: 73: 74 | A=01 X=C8 Y=17 (N ) | 3F04: 4C 62 E4 JMP XITVBV 19269: 73: 77 | A=01 X=C8 Y=17 (N ) | E462: 4C 8A C2 XITVBV JMP $C28A 19269: 73: 80 | A=01 X=C8 Y=17 (N ) | C28A: 68 PLA 19269: 73: 84 | A=00 X=C8 Y=17 ( Z ) | C28B: A8 TAY 19269: 73: 86 | A=00 X=C8 Y=00 ( Z ) | C28C: 68 PLA This pushes a write to HSCROL into the active region where it farks up playfield DMA, which then screws up the display list interrupts. You'll likely only be able to reproduce this in emulation on Altirra 2.40+ due to abnormal playfield DMA being involved. hh-test.zip 2 Quote Link to comment Share on other sites More sharing options...
Atari_Force Posted February 5, 2016 Author Share Posted February 5, 2016 (edited) Then, Henry's House is not a perfect game for me Wait a minute, You can load an Altirra save state on the real atari!. How? Edited February 5, 2016 by Atari_Force 1 Quote Link to comment Share on other sites More sharing options...
Rybags Posted February 6, 2016 Share Posted February 6, 2016 .dumpsnap command issued from the debugger console. .dumpsnap Create bootable snapshot image Create a bootable snapshot image from the current simulator state. .dumpsnap [-u] <path.atr> Options: -u Disable compression and use uncompressed blocks Records hardware and memory state to a disk image with a loader that restores the state on boot. The snapshot image contains the base 64K of memory and requires a 128K system to boot (the extra memory is used by the loader). The loader attempts to reconfigure the hardware to match the snapshot state and then resume the running program. Not all state is restored precisely and load success depends on the exact state and program code. For best results, the same OS ROM should be used, no cartridge should be present, and the snapshot should be taken at the beginning of the NMI handler for the vertical blank interrupt. 2 Quote Link to comment Share on other sites More sharing options...
Suppawer Posted July 1, 2016 Share Posted July 1, 2016 I know is a game bug. But I tried something different.I tried with other operating systems. I always had the same bug:But with "AltirraOS HLE", the bug was less frequent and the result was something different:Please, take a look:henry.atr ("AltirraOS HLE"- Altirra 2.8-test44) henry.atr Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted July 1, 2016 Share Posted July 1, 2016 (edited) I understand but as the bug appears on real hardware its out of the remit of the emulator..The fact it works better on an alternative OS version just means that either a 3rd party looks at the cause taking their time or Avery does if he wants to.... Seems to be a bug with the pointer to Charbase (iirc) so the bug points away from the redefined character set but as I'm a lousy programmer I'm most likely wrong.. Edited July 1, 2016 by Mclaneinc Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted July 1, 2016 Share Posted July 1, 2016 Avery already identified and explained the cause in the third post. 1 Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted July 2, 2016 Share Posted July 2, 2016 Guilty of not rereading the thread Quote Link to comment Share on other sites More sharing options...
GoodByteXL Posted July 3, 2016 Share Posted July 3, 2016 (edited) Game bug. Shot from a real 130XE:Interesting as I cannot reproduce it on real hardware on my 800XL, PAL, Rev A board. Edited July 3, 2016 by GoodByteXL Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted July 3, 2016 Share Posted July 3, 2016 Interesting as I cannot reproduce it on real hardware on my 800XL, PAL, Rev A board. I'm guessing issue is more common on NTSC hardware, owing to shorter VBL period (and Avery said stage 2 vblank overrun was to blame). Quote Link to comment Share on other sites More sharing options...
GoodByteXL Posted July 3, 2016 Share Posted July 3, 2016 I'm guessing issue is more common on NTSC hardware, owing to shorter VBL period (and Avery said stage 2 vblank overrun was to blame). As I am no assembler programmer this is out of my reach. But I remembered my kids playing this game over and over again back then. So I had to ask somebody to move it from cassette to disk. And the issue to me is that it is not possible to have it dying on landing. There is just one sweet spot my kids discovered in the area which seems to be a bug. As I had to do so many tournaments at home back then I remembered . Attached a video taken with Altirra 64 2.40 under Linux, PAL setting. It behaves the same in NTSC mode. It shows where the spot is. For whatever reason this forum software doesn't allow avi files, so I had to pack it. henry.avi.zip Quote Link to comment Share on other sites More sharing options...
+CharlieChaplin Posted July 3, 2016 Share Posted July 3, 2016 Same here, played with the "CPM" cheat on a PAL Atari 800XL and solved all levels (while dying quite often), but that bug did not appear on my real A8. So maybe it only happens on NTSC machines or in certain (pixel-precise?) situations...?!? Quote Link to comment Share on other sites More sharing options...
GoodByteXL Posted July 3, 2016 Share Posted July 3, 2016 (edited) Game bug. Shot from a real 130XE: This pushes a write to HSCROL into the active region where it farks up playfield DMA, which then screws up the display list interrupts. You'll likely only be able to reproduce this in emulation on Altirra 2.40+ due to abnormal playfield DMA being involved. (forum software deleted the attachment ?!) Downloaded and tried the atr within hh-test.zip. And it is the same sweet spot I already knew. But my version of HH doesn't destroy anything else than "Henry". Is it thinkable that your version is corrupted? Same here, played with the "CPM" cheat .. (this forum software sucks, when doing quotes ...) Of course with a cheat, otherwise I would have been lost . Edited July 3, 2016 by GoodByteXL Quote Link to comment Share on other sites More sharing options...
mrparp Posted August 31, 2016 Share Posted August 31, 2016 (edited) Hi guys I never saw this in 100s of times playing/developing the game but all Ataris in the UK were for PAL TV system, and run at 50Hz vsync. Yes, I used a lot of interrupts and put a lot of code in interrupts - on purpose to increase colours (sic) and keep gameplay smooth ironically. Does sounds like shorter interrupt time on NTSC systems isn't sufficient. Back in the 80s, not many people in the UK knew what NTSC was, let alone had access to an NTSC Atari 8-bit. Can you set Altirra to run at 50Hz/PAL instead and see if the bug goes away? Gonna download Alitrra now... Chris Murray Edited August 31, 2016 by mrparp 7 Quote Link to comment Share on other sites More sharing options...
Rybags Posted September 1, 2016 Share Posted September 1, 2016 Cheers, Chris. And welcome. Modern emulation lets us change just about everything configuration related and debugging tends to be pretty good. Phaeron's Altirra emulator has a debugger that's sufficiently good that he can uncover all our old programming sins. Quote Link to comment Share on other sites More sharing options...
Sikor Posted September 1, 2016 Share Posted September 1, 2016 Hi, Chris! Greate game I like it - on my PAL Atari in Poland I never got this bug - so, maybe it's really it is only NTSC problem. @NTSC guys: can you try other Chris games: Mirax Force and The Last Guardian? Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted September 1, 2016 Share Posted September 1, 2016 Welcome Chris / Mr Murray, Thank you for your hard work and great creations, you have kept us twiddling the joysticks since then while we still continue to enjoy your and others work. As Rybags says, Phaerons Altirra emulator has the inbuilt debugger to find the causes and is as far as we know the most compatible currently updated 8 bit emulator there is, I'm sure Phaeron would quibble that but for us its the top dog. Even you super coders are allowed a mistake and making programs suitable for both TV systems with their timing issues is hard enough as it is. Again, thank you kind sir for the games, they really DO still get played to this day which isn't bad for an age old bit of software on age old hardware Paul... Quote Link to comment Share on other sites More sharing options...
mrparp Posted September 11, 2016 Share Posted September 11, 2016 I have a box in my loft with my old assembler source code for my games.. I'm intrigued if they will still read (they are over 30 years old but been kept pretty well). What's the easiest way to get a 5.25" floppy reader and assembler env these days? Quote Link to comment Share on other sites More sharing options...
Rybags Posted September 12, 2016 Share Posted September 12, 2016 Plenty of us have floppies from ~ 1980 which are still fine. Best bet is to just use the authentic hardware to read the disks though for someone unequipped getting the data to a PC isn't easy. Next best would be get someone near you to do it for you. Quote Link to comment Share on other sites More sharing options...
snicklin Posted September 12, 2016 Share Posted September 12, 2016 I have a box in my loft with my old assembler source code for my games.. I'm intrigued if they will still read (they are over 30 years old but been kept pretty well). What's the easiest way to get a 5.25" floppy reader and assembler env these days? Welcome Chris, I really appreciate it when legends like you come on here. And if you didn't know that you were a legend, you do now. I'm just wondering first of all, are you saying that you have an Atari and a disk drive now? Or do you lack these now and require the access to them on the PC? If you don't have an Atari and drive, there are plenty of people who will be able to archive all this for you. If you do have them, you could always daisy chain one of these: (SIO2SD) : http://www.lotharek.pl/product.php?pid=23 If you can get them into a PC format on an SD card, you can transmit the file via the internet. A recommended setup nowadays would be a Windows PC with Altirra running as an emulator. The issue that you have is that due to the age of your code, you may need to run a compiler on your emulated Atari. Alternatively, you can convert the code to a modern format (more work though), like MADS. mads.atari8.info/ . This is a great assembler. We also have people such as Kevin Savetz (Username: savetz) who is in the States and converts a lot of old documents / files / disks so that they can go onto the Internet archive. He is a very useful man for this kind or archiving. 1 Quote Link to comment Share on other sites More sharing options...
Ely Posted September 12, 2016 Share Posted September 12, 2016 I have a box in my loft with my old assembler source code for my games.. I'm intrigued if they will still read (they are over 30 years old but been kept pretty well). What's the easiest way to get a 5.25" floppy reader and assembler env these days? Are you in the UK or somewhere else? Quote Link to comment Share on other sites More sharing options...
mrparp Posted September 14, 2016 Share Posted September 14, 2016 (edited) @Ely: I'm in Bedfordshire, and by looks so are you !! @ other guys - thanks for tips, I need to get up to speed on getting an environment set up. Been mulling over doing some new screens for Henry's House for a while plus making Mirax force a bit easier not to DIE lol. Continually amazes me the activity of forums like this and the hats-off to the guys who created the emulators. C Edited September 14, 2016 by mrparp 7 Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted September 15, 2016 Share Posted September 15, 2016 Hi guys I never saw this in 100s of times playing/developing the game but all Ataris in the UK were for PAL TV system, and run at 50Hz vsync. Yes, I used a lot of interrupts and put a lot of code in interrupts - on purpose to increase colours (sic) and keep gameplay smooth ironically. Does sounds like shorter interrupt time on NTSC systems isn't sufficient. Back in the 80s, not many people in the UK knew what NTSC was, let alone had access to an NTSC Atari 8-bit. Can you set Altirra to run at 50Hz/PAL instead and see if the bug goes away? Gonna download Alitrra now... Chris Murray Uj Chris "Mirax Force" Murray??? Cool. I love Henry's House and Mirax Force. As coder I fully appreciated and was inspired in using the A8 features. I love the use of DLIs and mixing gfx modes in Henry's house and esp. the multiplexed sprites plus 16 shade panel effects and still do. Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted September 15, 2016 Share Posted September 15, 2016 (edited) Chris, I know it must seem odd that we still show love towards the old games and hardware but for people like me it was my job and my hobby so its like an old 'mate' that you enjoy being around and of course there's some great memories for us and what makes it a bit special is when guys like you pop in here to say hello, the creators of our fun memories. We have been lucky to have a lot of names pop in here but for me its also great when fellow Brits pop in to say hello and we had had people like you, Adam Michael Bilyard etc come in and spend some time here and we also welcome our other programming heroes from every corner of the world. One thing we get a buzz from is that sometimes people still have their old sources etc and release them so it gets archived and even worked on like in the case of Star Raiders getting programming speed ups and math fixes Anything unreleased would be great too Seriously, thanks for taking the time to say hello, there's still many many folks still play your work to this day...... Paul.. Edited September 15, 2016 by Mclaneinc Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.