Jump to content
IGNORED

7800basic beta, the release thread


RevEng

Recommended Posts

I'm just wondering if I should look at bBasic examples to rely on coding in 7800basic? For one thing, I nearly flunked algebra in high school and looking at the mathematics involved on how it all works makes me bewildered. I do understand movement in X and Y variables from using Multimedia Fusion 2 but that's about it. Anything else, and I have to look, and rely, at other examples.

 

bB examples can help, if you're unsure of syntax or general programming methodology. But anything to do with screen output will vary greatly between the two languages, so bB examples won't fully teach you to program in 7800basic.

 

 

 

Just checking in here.

 

AWESOME!!

 

Very well done RevEng. When the original Batari Basic came out, I sat down for a quick jam session and made something work in like an hour. Fred really knocked it out of the park, with just enough function to make it possible to get things done, but not so much that people would get bogged down in the details.

 

This looks like a very similar balance for the 7800, and I can't wait to see all the great creations people make with it.

 

Cool beans man. :-D

 

Thanks, potatohead! Its been an interesting experience trying to keep it bB flavored while interfacing with hardware a lot more advanced than the 2600.

 

Maybe someone will come out with Ooze 7800. :P

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...
  • 3 weeks later...

Hello,

 

I just installed the 7800basic on Windows 8.1

I start the command prompt and do:

 

7800basic helloworld.bas

 

It does create a file a78info.cfg within a second (1 kb)

and a file 7800.asm (0 bytes)

 

Then I wait and nothing seems to happen takes very long after a while I did decide to do CONTROL+C

 

Then I get

 

7800.asm (1 kb)

7800basic_variable_redefs,h (1 kb)

 

Does compiling from helloworld really take more then 5 minutes ??? My machine is a core2duo so it should be fast enough I think...

 

I did add the stuff its created. I did try with cmd normal and as admin no difference.

helloworld.zip

Edited by TXG/MNX
Link to comment
Share on other sites

So simple sorry to make that stupid mistake :-) thanx... now I can start coding...

 

Question what is the best emulator to use to test my code ?

Not a problem at all!

 

The recent MESS version is the most accurate compared to real hardware. This is the one I use.

 

 

7800 Basic? Interesting. Is this to use the keyboard controllers? Has any storage media been lined up?

Nope. Its a compiled basic, which creates ROM/Cart images that run on the 7800 (using a flash cart, or creating a real one) or in an emulator. The compiler itself runs on modern OSes. (Windows, OS X, Linux)

Link to comment
Share on other sites

RMT loading isn't available yet. Its on the roadmap, but I have a few other features to code first.

 

For now, Pokey or TIA music is a "hit the registers" affair. TIA sound effects have a high level routine that plays the effect on whichever voice is unused, or (if both voices are used) interrupts a playing effect based on priority.

Link to comment
Share on other sites

I've shared some of the roadmap features here and there in the forums, but the map is mostly in my head, and subject to change. :)

 

At the top of the list is banner plotting (think large tall pictures for title screens), scrolling, and I might take a whack at buffering the graphic plotting. (it's a performance thing, not that performance is a big issue) After those are done, I'll likely look at support for HSC cart, SaveKey, AtariVox, and RMT import. In the distance after that is YM2151 support, and possibly some custom controller support. I had it in my mind to try and do something like the BallBlazer riffology engine, with the user supplying the riffs, but I'm not sure where that will fall.

MIDI isn't a great import format choice, since its a bit expansive - it's all "performance" note on/off and modulation data, without loop/repeat information of any kind. This tends to waste ROM.

 

While MIDI->TIA (the native 7800 sound chip) is possible in theory (I did a MIDI conversion for a TIA rendition of the MULE theme a while back) the MIDI file has to be created/massaged and customized specifically for the conversion. TIA has 2 voices and the frequencies don't usually line up perfectly with musical scales. Using an on-cart or XM Pokey is better, but 4 voices isn't a whole lot for unmassaged MIDI either. Of course, the YM2151 in the XM module is ideal for this, though its only sort of multitimbral, since there's a single shared LFO.

The "free space" information for your ROM is in the compilation output. The code area is displayed by the "XXXXX bytes of ROM space left in the main area."

The free space will be a fair bit less than 32k for an empty program, since 7800basic reserves that last 4k for its own routines, and each graphics block used will also take 4k. (or 2k, if the zone height is 8 )

 

Here's some compilation output...

7800basic 0.2 Jul 14 2014 15:45:17

*** (): INFO, GFX Block #0 starts @ $E000
        tileset_blanks tileset_rocks scoredigits_8_wide alphabet_8_wide
        herodown1 herodown2 heroleft1 heroleft2 heroup1 heroup2 heroright1
        heroright2
*** (): INFO, GFX block #0 has 1792 bytes left (112 x 16 bytes)


7800basic compilation complete.
User-defined 7800.asm found in current directory
   23860 bytes of ROM space left in the main area.

Complete.
Read $8000 bytes of cartridge data.
Cartridge hash area is from $F000 to $FFFF.
Cartridge signature for 'C:\7800basic.0.2beta20140714\samples\adventurer\adventurer.bas.bin' appears to be empty.
Encrypting... 00 01 02 03 04 05 06 07 08 success!

A valid cartridge signature is:
06 db 6b 39 3a 4e 52 29  ad 9a 97 e1 cd 01 fb 7a
53 e5 9b da 92 71 b0 a0  17 28 e3 6d cb f8 a2 5b
87 fb 8f 49 97 75 b8 54  b6 7f 5e 29 74 38 1f 46
70 90 3d 02 f3 c4 eb 7b  a2 9f d0 60 01 8c 14 a0
8b 2b c4 6a 1f 7b 61 8c  38 21 c6 f1 f4 25 d2 e8
69 fc 76 3f f7 70 b9 07  14 6a 56 0f 52 5f f2 0a
52 ce 84 0f 6a 4d 3b 50  e3 e5 83 6f 09 34 7b 67
c2 57 00 d7 bf 83 be ce

Wrote back 120 bytes to 'C:\7800basic.0.2beta20140714\samples\adventurer\adventurer.bas.bin'.

7800header 0.2 Jul 14 2014 15:45:17
  opened parameter file a78info.cfg
Link to comment
Share on other sites

Are there also scrolling features on the roadmap...

 

 

At the top of the list is banner plotting (think large tall pictures for title screens), scrolling, and I might take a whack at buffering the graphic plotting. (it's a performance thing, not that performance is a big issue) After those are done, I'll likely look at support for HSC cart...

 

;)

Link to comment
Share on other sites

That's probably not the typical case, so it won't likely won't flow like that... holding a raw 640x480 4 color screen would take up about 75k of memory.

 

Scrolling will rely on the game using character/tile mapped graphics for large backgrounds. The scroll command will adjust the displayed character maps with an offset.

Link to comment
Share on other sites

  • 2 weeks later...

I know that 7800basic has POKEY support (which seems like a must-have if you want your audio to be taken seriously), but will there be cartridges available for homebrews that include POKEY chips at reasonable prices?

 

Also, I hope that the relative slowness of this thread isn't discouraging for you, RevEng. I'm super excited to try out 7800basic, but I've just taken a detour to IntyBasic-land to try a step up from batariBasic before another step up to 7800basic. :)

 

Thanks for putting in all this work! I can't wait to get into the 7800!

Link to comment
Share on other sites

I know that 7800basic has POKEY support (which seems like a must-have if you want your audio to be taken seriously), but will there be cartridges available for homebrews that include POKEY chips at reasonable prices?

 

Also, I hope that the relative slowness of this thread isn't discouraging for you, RevEng. I'm super excited to try out 7800basic, but I've just taken a detour to IntyBasic-land to try a step up from batariBasic before another step up to 7800basic. :)

 

Thanks for putting in all this work! I can't wait to get into the 7800!

 

Yep, there will be a new pokey replacement chip, check here: http://atariage.com/forums/topic/223420-another-mystery-device/

  • Like 2
Link to comment
Share on other sites

Will it be able to do speech synthesis, or is there a different module for the 7800 for that? Or would you just use an AtariVox?

Well, Bob was able to get TIA to say the opening line in his Astro Blaster port for the 7800. (That was really awesome.) Anyway, my guess is that, in competent hands, you could probably get Hokey to do speech. I imagine that it will replicate POKEY sound output pretty much sound-for-sound.

 

With the inclusion of POKEY sound in 7800basic and this new chip, by the way, I think we've permanently had our game upped; expect POKEY sound to become the way of the future on 7800, with TIA sound as an adjunct for sound effects. Couple this with CPUWiz's new cart board and the XM as options and we game designers have plenty of riches at our disposal.

 

As far as apparent lack of activity, I actually have a couple of games that I'm nudging along when I have a moment. I have three kids and other responsibilities, so it's catch as catch can as far as finding time for them goes. There have been a number of projects, though, that people have been showing off. I think we're actually off to a fair start.

  • Like 3
Link to comment
Share on other sites

I know that 7800basic has POKEY support (which seems like a must-have if you want your audio to be taken seriously)...

 

TIA is definitely no POKEY. However, the audio in these two games is super impressive:

 

This entire game is within 4K under the 2600 and the TIA sound is...well, hear for yourself:

 

http://www.youtube.com/watch?v=clddb79LQcM

 

 

Another example of TIA sound handled extremely well:

 

http://www.youtube.com/watch?v=_Y6vhLDN3dI

 

 

Personally and absolutely love to have POKEY sound in all 7800 games. Nonetheless, the above TIA sound examples are very inspirational.

 

Additionally, Midnight Mutants is all TIA sound and also handled very well. Many times throughout the game, I found myself not believing it was only TIA sound.

 

The point is, for those that chose not to implement POKEY and stick with TIA sound, for whatever reason, don't shy away from 7800 game development. :)

  • Like 2
Link to comment
Share on other sites

As far as apparent lack of activity, I actually have a couple of games that I'm nudging along when I have a moment. I have three kids and other responsibilities, so it's catch as catch can as far as finding time for them goes. There have been a number of projects, though, that people have been showing off. I think we're actually off to a fair start.

 

Yep. Have to finish 2 Atari 2600 projects before I can dive in. Then it's all 7800bas, Sega Genesis and Jaguar in assembly. Totally understand why there's more lurkers than definite projects :)

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