Jump to content
IGNORED

7800basic beta, the release thread


RevEng

Recommended Posts

Mike,

 

Thanks for the update!

 

I have a question :

20 hours ago, RevEng said:

The main reason for putting this release out was to get pokey *without auto-detection* support in everybody's hands, since auto-detection is causing a bit of heartache with some hardware

Would recompiling with this latest 7800basic build help with Keystone and A.R.T.I. running on concerto. Would it help to set the pokey to a specific option? (I'm thinking about the missing POKEY being reported).

 

Thanks!

 

 

Link to comment
Share on other sites

1 hour ago, Muddyfunster said:

Would recompiling with this latest 7800basic build help with Keystone and A.R.T.I. running on concerto. Would it help to set the pokey to a specific option? (I'm thinking about the missing POKEY being reported).

Hey Lewis, it would indeed help. The pokey@450 in concerto is write-only, so the 7800basic auto-detect routine can only fail. Setting the pokey address explicitly skips the auto-detect routine and enables the pokey, without actually trying to read from it.

  • Thanks 1
Link to comment
Share on other sites

@Muddyfunster @darryl1970 @RevEng

 

Lewis & Darryl - please find attached an updated pokeysound.asm file for your projects (7800basic v0.20). I've done some testing and 144k projects all ok! and for 128kRAM projects you will still need to use the SKIPINITFORCONCERTO flag and change the header (see notes in file) - fingers crossed for proper Concerto support here eventually.

 

Please note that whatever you set your 'set pokeysupport xxx' as make sure to set the corresponding 'dim POKEYADR xxx' entry to the same ($450). Also 'set pokeysupport on' is not compiling for some reason in this version currently. Eventually I'd like to try and remove the requirement for the 'dim' entry and rely on the detection so will play around with that at some stage.

pokeysound.asm

  • Like 3
  • Thanks 2
Link to comment
Share on other sites

  • 1 month later...

I seem to be having an issue with sound priority when I force TIA sounds to a single channel. The way I figure it should work is that if a higher priority sound is playing on that channel, then a lower-priority one should not play until the channel is free, and also a lower-priority sound should never interrupt a higher-priority one.

 

I made a tiny demo that plays a high-priority sound (priority=$FF) every second, and a low-priority sound (priority=0) only when fire is pressed. My expectation would be that I would hear the high-priority sound every second regardless of how much or little the fire button is pressed. What happens is that if I hit fire fast enough (or hold down the button) then I don't hear the other sound.

 

So is this a bug or a user error?

 

 

soundpriority.78b soundpriority.78b.a78

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...
On 7/30/2022 at 7:30 AM, Muddyfunster said:

Mike,

 

Thanks for the update!

 

I have a question :

Would recompiling with this latest 7800basic build help with Keystone and A.R.T.I. running on concerto. Would it help to set the pokey to a specific option? (I'm thinking about the missing POKEY being reported).

 

Thanks!

 

 

If you are worried about missing POKEY stuff I can help you, BUT I can only code in ASM. Do you want me to write you something @Muddyfunster? However it would need to be tommorrow as it's 8:18 where I live.

Link to comment
Share on other sites

On 2/28/2014 at 11:51 PM, RevEng said:

Welcome to the official 7800basic release thread!

 

To download the latest version of 7800basic, visit the 7800basic github release page. Additional info may be found at the 7800basic page of the 7800 Development Wiki.

 

Random Terrain has provided an online version of the 7800basic guide.

 

Please report any issues, errors, etc., in this thread. If this language is going to be useful, bug-free, and a pleasure to use, it's going to be through shared collaboration.

 

And most of all, lets use this language to make some new kick-ass games for our all too often overlooked platform. :)

You can't be more correct.

Link to comment
Share on other sites

On 2/28/2014 at 11:51 PM, RevEng said:

Welcome to the official 7800basic release thread!

 

To download the latest version of 7800basic, visit the 7800basic github release page. Additional info may be found at the 7800basic page of the 7800 Development Wiki.

 

Random Terrain has provided an online version of the 7800basic guide.

 

Please report any issues, errors, etc., in this thread. If this language is going to be useful, bug-free, and a pleasure to use, it's going to be through shared collaboration.

 

And most of all, lets use this language to make some new kick-ass games for our all too often overlooked platform. :)

You can't be more correct.

Link to comment
Share on other sites

  • 5 weeks later...
On 2/28/2014 at 11:51 PM, RevEng said:

Welcome to the official 7800basic release thread!

 

To download the latest version of 7800basic, visit the 7800basic github release page. Additional info may be found at the 7800basic page of the 7800 Development Wiki.

 

Random Terrain has provided an online version of the 7800basic guide.

 

Please report any issues, errors, etc., in this thread. If this language is going to be useful, bug-free, and a pleasure to use, it's going to be through shared collaboration.

 

And most of all, lets use this language to make some new kick-ass games for our all too often overlooked platform. :)

Nice!

Link to comment
Share on other sites

Documentation note: the "playsfx" command makes reference to "mutesfx", but does not give the syntax of the command. "mutesfx" also does not have its own entry.

 

I was able to figure out via the source code that "mutesfx" should be followed by "TIA" or "POKEY", but I thought I'd report this as a documentation errata.

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

I found an obscure corner-case bug with for loops. It only seems to happen when:

  • The range is from 0 to 0
  • The ending number is a variable
  • The loop goes backwards (step -1)

In this case, it should execute the loop contents once. Instead, it never completes.

 

This may seem like a totally useless and irrelevant corner-case, but it can happen with inner loops where the range of the for loop decreases with each iteration.

 

Here's a small example program that demonstrates the problem. The background would be set to white if it ever got past the initial for loop, but it never does.

 

Edit: I've confirmed this bug exists in bB as well, so maybe I'll try my hand at fixing it myself.

 

for_bug.78b

  • Like 4
Link to comment
Share on other sites

If you are using the dmahole command in a non-bankswitched game, is there any way to end the dmahole code and go back to the main code area? Presumably one could not end it with a bank command for a non-bankswitched ROM? Putting it the appropriate distance from the end of the file works okay, but just wanted to know if there was another option.

Link to comment
Share on other sites

55 minutes ago, Karl G said:

If you are using the dmahole command in a non-bankswitched game, is there any way to end the dmahole code and go back to the main code area? Presumably one could not end it with a bank command for a non-bankswitched ROM? Putting it the appropriate distance from the end of the file works okay, but just wanted to know if there was another option.

Dasm isn't able to seek around in the rom like that - it can jump forward, but jumping backward in between two previously filled areas doesn't work right - so I have no way to implement that.

  • Thanks 1
Link to comment
Share on other sites

When using loadmemory/savememory for saving of scores and the like, what is the "proper" way to determine if that space needs to be initialized? For AtariVox/SaveKey I would check for a byte value of $FF, but I didn't know if that would apply to the High Score Cart as well.

Link to comment
Share on other sites

  • 1 month later...

I dropped a new v0.21 7800basic release at github. Changes include...

  • Bankset support added
  • Hi-Score controller callback functions added, to allow score entry with non-joystick controllers.
  • Keypad driver updated to allow for slower-than-spec keypads
  • SNES control driver updated to recover from sync loss
  • bugfix: allow pokey sfx to change pitch
  • docfix: documented 0 to 0 decrementing loop edge case
  • docfix: mutesfx added to docs

I wanted to level-set 7800basic and get banksets out into developer hands, but I'm planning to put out another release in the next month or so, to add RMT pokey tracker support.

  • Like 4
  • Thanks 6
Link to comment
Share on other sites

8 hours ago, RevEng said:

I dropped a new v0.21 7800basic release at github. Changes include...

  • Bankset support added
  • Hi-Score controller callback functions added, to allow score entry with non-joystick controllers.
  • Keypad driver updated to allow for slower-than-spec keypads
  • SNES control driver updated to recover from sync loss
  • bugfix: allow pokey sfx to change pitch
  • docfix: documented 0 to 0 decrementing loop edge case
  • docfix: mutesfx added to docs

I wanted to level-set 7800basic and get banksets out into developer hands, but I'm planning to put out another release in the next month or so, to add RMT pokey tracker support.

Thank you for continuing to update 7800basic - especially the availability of bankset support.

 

Attack of the Petscii Robots speaks volumes.   Arguably the gold standard of all the ports, considering how much was 'borrowed' from it and incorporated into the other platforms.

 

Nevertheless, Bankset is such a wonderful and awesome technique to add to the 7800 platform arsenal.

  • Like 3
  • Thanks 1
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...