Jump to content
satyrsfaction

Text Adventure

Recommended Posts

anyone know what this means?

 

Found dasm version: DASM 2.20.13
Starting build of text_adventure2.bas
batari Basic v1.5 (c)2020
/Users/mikeindovina/.vscode/extensions/chunkypixel.atari-dev-studio-0.3.7/out/bin/compilers/bB/2600basic.sh: line 42: 63710 Done preprocess$EXT < $1
63711 Segmentation fault: 11 | 2600basic$EXT -i "$bB" > bB.asm
Compilation failed.
Cleaning up files generated during compilation...

text_adventure2.bas

Share this post


Link to post
Share on other sites

The segfault shouldn't happen (looking into it) but the underlying error is your "goto skip_room_18 bank3" line. There is no skip_room_18 label.

Share this post


Link to post
Share on other sites
11 minutes ago, RevEng said:

The segfault shouldn't happen (looking into it) but the underlying error is your "goto skip_room_18 bank3" line. There is no skip_room_18 label.

hmm. thanks....but I put in the missing label and the error is still happening. :(

Share this post


Link to post
Share on other sites

Try changing your "if value = -1" type lines to "if value = 255", and see where that gets you.

 

[edit] To elaborate, I'm seeing signs these lines are the cause of the segfault, so I'm thinking testing for "-1" isn't valid syntax.

  • Like 1

Share this post


Link to post
Share on other sites
17 hours ago, RevEng said:

Try changing your "if value = -1" type lines to "if value = 255", and see where that gets you.

 

 

I tried it and am still getting the error...I only started getting the error after I added all those lines in bank 6 and the corresponding lines in bank3. i checked and double checked but I don't see any simple errors.

Share this post


Link to post
Share on other sites

Yeah. The test for -1 was causing the segfault, but the stuffed bank was stopping the compilation after the reason for the segfault was fixed.

  • Like 1

Share this post


Link to post
Share on other sites
On 3/5/2020 at 5:49 PM, satyrsfaction said:

OK, i put the lines in every time I call drawscreen. Did it help?

 

On 3/5/2020 at 8:22 PM, TwentySixHundred said:

Yep that's a huge difference and on the right track, only a very small amount of jitter. It's probably something to do with the collision detection code now 👍

 

The playfiled no longer jitters, but the colors used to draw the playfield does. Looking at this fetcher 4 is used for playfield colors, so adding DF4FRACINC before the call to drawscreen should fix it:

 DF0FRACINC = 43 : DF1FRACINC = 43 : DF2FRACINC = 43 : DF3FRACINC = 43
 DF4FRACINC = 50
 drawscreen

 

  • Thanks 1

Share this post


Link to post
Share on other sites
28 minutes ago, SpiceWare said:

 

 

The playfiled no longer jitters, but the colors used to draw the playfield does. Looking at this fetcher 4 is used for playfield colors, so adding DF4FRACINC before the call to drawscreen should fix it:

 DF0FRACINC = 43 : DF1FRACINC = 43 : DF2FRACINC = 43 : DF3FRACINC = 43
 DF4FRACINC = 50
 drawscreen

 

ok, let me know if that helped. Thanks!!!

text_adventure.bas.bin

Share this post


Link to post
Share on other sites
32 minutes ago, satyrsfaction said:

ok, let me know if that helped. Thanks!!!

 

That did it.  

 

Scanlines aren't consistent when moving from room to room, that can cause jitter on some TVs.  

 

You can see it in Stella using the debugger.  Move to an exit, such as the one at the bottom then enter Stella's Debugger by pressing the ` key

 

1402764868_ScreenShot2020-03-12at5_20_41PM.thumb.png.dd22aa90eab22c455509aa5321f34bb3.png

 

Click the I/O tab, check the DOWN direction for the joystick, then click Frame +1 a few times until you see the Scanline Count change from 262 to something else. 

 

1621721756_ScreenShot2020-03-12at5_20_55PM.thumb.png.e60b3ef1b41ac0a0a6c3bc8c20e4f14f.png

 

 

Share this post


Link to post
Share on other sites
4 hours ago, SpiceWare said:

 

 

The playfiled no longer jitters, but the colors used to draw the playfield does. Looking at this fetcher 4 is used for playfield colors, so adding DF4FRACINC before the call to drawscreen should fix it:

 DF0FRACINC = 43 : DF1FRACINC = 43 : DF2FRACINC = 43 : DF3FRACINC = 43
 DF4FRACINC = 50
 drawscreen

 

Thanks, so i am guessing DF4FRACINC is the only line that needs to be updated every drawscreen. This is interesting because once the colours are pushed to the TIA i would think they only need updating once unless the colour is changed ect? Does this have anything to do with how DPC+ stores the graphics data into RAM?

 

Personally i update all 5 DFxFRACINC's after any changes to pf colours or pixels ect and that seems to prevent any issues on my end. I will have another look in the area i was having some issues with Missile Defence. I can't remember off the top of my head if there was any PF changes that would require a DFx update in that code block. 👍

Share this post


Link to post
Share on other sites
11 hours ago, TwentySixHundred said:

Thanks, so i am guessing DF4FRACINC is the only line that needs to be updated every drawscreen. This is interesting because once the colours are pushed to the TIA i would think they only need updating once unless the colour is changed ect? Does this have anything to do with how DPC+ stores the graphics data into RAM?

 

No, if you're using a version of the DPC+ driver that exhibits the jitter issue then DF0-DF3FRACINC need to be updated as well.  If you're using the multicolor background feature then DF6FRACINC would also need to be updated before each use of drawscreen.

 

The issue is due to how the fractional data fetchers were implemented in the driver, the specifics of which I'm not familiar with as source for the driver is not available.

  • Like 1

Share this post


Link to post
Share on other sites
51 minutes ago, SpiceWare said:

 

No, if you're using a version of the DPC+ driver that exhibits the jitter issue then DF0-DF3FRACINC need to be updated as well.  If you're using the multicolor background feature then DF6FRACINC would also need to be updated before each use of drawscreen.

 

The issue is due to how the fractional data fetchers were implemented in the driver, the specifics of which I'm not familiar with as source for the driver is not available.

Edit: yes sorry i meant all 6 DFxFRACINC lines in my previous post.

 

Interesting, how would we know exactly what driver is being used? I am assuming the driver is integrated into the IDE and depends on the build of Visual bB used? Rather then the version of batari Basic if i am correct? Just so i got a clear understanding.

Share this post


Link to post
Share on other sites
15 minutes ago, TwentySixHundred said:

Interesting, how would we know exactly what driver is being used? I am assuming the driver is integrated into the IDE and depends on the build of Visual bB used? Rather then the version of batari Basic if i am correct? Just so i got a clear understanding.

No - it is part of bB, and is invisible to the bB programmer. It has nothing to do with whatever IDE you do or don't choose to use.

  • Like 1

Share this post


Link to post
Share on other sites
7 minutes ago, Karl G said:

No - it is part of bB, and is invisible to the bB programmer. It has nothing to do with whatever IDE you do or don't choose to use.

Ok so i have thrown this together quickly for the purpose to test this and have made the program deliberatly only update DFxFRACINC line during the main loop. Further more i have made sure those lines are not updated when switching between rooms. You can see the jitter in Stella with dev settings enabled. If i was to add those lines or revert back to the mainloop before calling drawscreen the jitter is gone. This is using the latest RevEng v1.5 build of bB. So having said that and from my understanding the latest build of bB does this?

 

jitter.bas
jitter.bin

Share this post


Link to post
Share on other sites

Yes - those lines need to be updated every frame before a drawscreen, or you will see jitter. It's not a bug so much as a characteristic of how the DPC+ driver works.

  • Like 2

Share this post


Link to post
Share on other sites
41 minutes ago, TwentySixHundred said:

Interesting, how would we know exactly what driver is being used?

 

That's what I'm working on.  I'm currently on step 1:

  1. Find as many examples of DPC+ games as I can. It's time consuming, which is why I asked for help.
  2. The driver is the first 3K of the game, I use the MD5 value of that 3K to identify the driver
  3. Figure out how each driver behaves on real hardware (stable vs jitter, and Encore compatibility).
  4. Update Stella's DPC+ Jitter emulation to match*
  5. Update Stella's debugger* to show the MD5 value and Jitter/Encore status
  6. Work my way thru the private Harmony and Stay Frosty 2 forums to figure out release dates for each version
  7. Update Stella's debugger* to show the release date

 

* at the moment Stella correctly emulates 3 of the 4 drivers.

 

* plan to show this info in the Description box of the CartridgeDPC+ tab.

 

497942994_ScreenShot2020-03-13at10_42_21AM.thumb.png.434e38511220f48fc4ffa5e58b55985c.png

 

  • Like 1

Share this post


Link to post
Share on other sites
29 minutes ago, TwentySixHundred said:

Ok so i have thrown this together quickly for the purpose to test this and have made the program deliberatly only update DFxFRACINC line during the main loop.


That uses driver 5f80b5a5adbe483addc3f6e6f1b472f8:

$ dd count=3 bs=1024 if=jitter.bin | md5
3+0 records in
3+0 records out
3072 bytes transferred in 0.000034 secs (90738746 bytes/sec)
5f80b5a5adbe483addc3f6e6f1b472f8

 

18 minutes ago, SpiceWare said:

* at the moment Stella correctly emulates 3 of the 4 drivers.

 

 

At the moment driver 5f80b5a5adbe483addc3f6e6f1b472f8 is the one that Stella does not correctly emulate. With that driver if you leave out the DFxFRACINC then on real hardware the display is stable, but in Stella it jitters.

  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites
5 minutes ago, Karl G said:

Yes - those lines need to be updated every frame before a drawscreen, or you will see jitter. It's not a bug so much as a characteristic of how the DPC+ driver works.

Thanks for clearing it up (not really a bug) as it's how i always assumed DPC+ worked with the need to update those lines before calling drawscreen. Kind of why i was left in confusion and started thinking it must be a bug after the discussion was raised and i had a hunch it's where the OP was going wrong with text adventure 👍

 

4 minutes ago, SpiceWare said:

 

That's what I'm working on.  I'm currently on step 1:

  1. Find as many examples of DPC+ games as I can. It's time consuming, which is why I asked for help.
  2. The driver is the first 3K of the game, I use the MD5 value of that 3K to identify the driver
  3. Figure out how each driver behaves on real hardware (stable vs jitter, and Encore compatibility).
  4. Update Stella's DPC+ Jitter emulation to match
  5. Update Stella's debugger* to show the MD5 value and Jitter/Encore status
  6. Work my way thru the private Harmony and Stay Frosty 2 forums to figure out release dates for each version
  7. Update Stella's debugger* to show the release date

 

* plan to show this info in the Description box of the CartridgeDPC+ tab.

 

497942994_ScreenShot2020-03-13at10_42_21AM.thumb.png.434e38511220f48fc4ffa5e58b55985c.png

 

Makes sense now as it's more for Stella's emulation vs hardware side of things. I was thinking it may have been a bug due to what driver was used. All good i get where you guys are coming from now, cheers 👍

Share this post


Link to post
Share on other sites

There is now preliminary code in Stella to detect the DPC+ driver used by this game, and act accordingly.  This will be present in version 6.1, due to be released by the end of the week.

  • Like 5

Share this post


Link to post
Share on other sites

We'll be featuring Text Adventure LIVE on tomorrow's (Wednesday) ZeroPage Homebrew stream on Twitch at 6PM PT | 9PM ET | 2AM GMT! Hope everyone can watch!


Games:
- Text Adventure (2020) by @satyrsfaction
- Fish Fight (2020 WIP) by Edward Smith aka @easmith
- Stake Toss Remake (2020 WIP) by @Sknarp
- Tyre Trax (2019 Patch Challenge) by Lewis Hill aka @Muddyfunster

 

(SET VIDEO TO 1080P60 FOR FULL QUALITY)

 

 

Edited by ZeroPage Homebrew
  • Like 2

Share this post


Link to post
Share on other sites
On 3/17/2020 at 6:43 PM, ZeroPage Homebrew said:

We'll be featuring Text Adventure LIVE on tomorrow's (Wednesday) ZeroPage Homebrew stream on Twitch at 6PM PT | 9PM ET | 2AM GMT! Hope everyone can watch!


Games:
- Text Adventure (2020) by @satyrsfaction
- Fish Fight (2020 WIP) by Edward Smith aka @easmith
- Stake Toss Remake (2020 WIP) by @Sknarp
- Tyre Trax (2019 Patch Challenge) by Lewis Hill aka @Muddyfunster

 

849564820_20200318-LetsPlay.thumb.jpg.c0dc2c4bc4e928f75d22a59644a718d5.jpg

can I watch it after the fact?

Share this post


Link to post
Share on other sites
2 hours ago, satyrsfaction said:

can I watch it after the fact?

You bet! I've updated my post above with the YouTube archive link for you to check out.

 

Thanks so much for making a great and unique game, love the text representations of everything. 🙂

 

- James

Share this post


Link to post
Share on other sites
19 hours ago, ZeroPage Homebrew said:

You bet! I've updated my post above with the YouTube archive link for you to check out.

 

Thanks so much for making a great and unique game, love the text representations of everything. 🙂

 

- James

Thanks for using my game for your show -- I guess I didn't expect anyone to take it that seriously. haha. but the problem with the items staying with you when you die, I will fix. The Seer and Hero stay with you when you die. I changed the castle maze so you see only a little bit of it when you have the seer. If you don't have him, you see just black and it's almost impossible to get through the maze.

  • Like 1

Share this post


Link to post
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...