Jump to content
IGNORED

7800basic beta, the release thread


RevEng

Recommended Posts

It's time to create a 7800basic page on your site, RT! I haven't used all of the commands or features yet, but I'd be willing to help.

If it's OK with RevEng, I could start working on it, but there's not much of a need for it since the PDF file is kind of like a web page already.

 

 

 

While I am wrapped up in this adventure game thing, my biggest feature request would be scrolling. I'd love to attempt a racing game.

Yeah, once we have scrolling, people could make all kinds of NES-style games.

  • Like 1
Link to comment
Share on other sites

What I'm loving about 7800basic is the lack of restrictions that exist compared to bB, there are so many compromises that need to be made in bB with the different kernel options. So far it seems like I could do anything the original developers could do with 7800basic, I wish I had more time to work on all my ideas. 20 multicolor sprites on screen with no flicker or slowdown, unlimited text graphics on screen, 8 color palettes with 3 colors each (+transparent) for sprites and the background, two six digit scores, up to 512k ROMs with bankswitching (48k without), tiled bitmapped graphics, tons of CPU cycles compared to the 2600... it's like an 8bit programmer's dream come true.

Thanks AM. I owe a huge debt to batari, due to his bB codebase being very extensible. Without the benefit of standing on his shoulders, I wouldn't have started this project.

 

I've been working hard to avoid compromises, and the 7800 architecture supports that in large part. There are presently a few features that assembly language programmers have over us right now, the main ones being fine-scrolling and zone-based changes. The latter would allow, for example, the programmer to change the color a palette is using or the active character set in a zone. All of this is on the roadmap, but both scrolling and zone-based changes are tough nuts to generalize and keep the interfaces simple. I'm still mulling over this problem space.

 

Anyway, these are features that many 7800 commercial games didn't have, so I agree with your overall assertion that it would be possible to recreate many of the classics in 7800basic without losing anything. Given the higher level language and homebrew timescales, I think that several of the classics could actually be improved upon with 7800basic.

 

 

If it's OK with RevEng, I could start working on it, but there's not much of a need for it since the PDF file is kind of like a web page already.

I'd welcome it!

 

The PDF has section indexes, but it's nowhere near as hyperlinked as your bB site. Even better, your bB site is a living document, getting updated as people ask questions and others provide answers. I don't have any intention of doing that with the PDF file - life it too short, and documentation is a major drag on the project as-is.

  • Like 2
Link to comment
Share on other sites

I'd welcome it!

 

The PDF has section indexes, but it's nowhere near as hyperlinked as your bB site. Even better, your bB site is a living document, getting updated as people ask questions and others provide answers. I don't have any intention of doing that with the PDF file - life it too short, and documentation is a major drag on the project as-is.

 

OK, I'll start working on it. Once the first draft is done, I'll have to figure out where to put it on the following page:

 

www.randomterrain.com/atari-2600-memories.html

 

 

Right now the table of contents for that page looks like this:

 

batari Basic Pages

General Atari 2600 Programming

Assembly Language Programming

Memories

Miscellaneous

Scanning Tips

The Fortress of infinitude

Stella: Debug Colors Mode Chart

 

 

Doesn't seem right to just stick the 7800basic page in the batari Basic section. It should probably have its own section in case more Atari 7800 pages are added over time. That whole page has been mostly about the Atari 2600, but once a link to the 7800basic page is added, I guess I'll need to change the title of the page. I called it "Atari 2600 Memories" long before any programming stuff was added, so maybe it's overdue for a name change anyway. I just won't be able to change any URLs to match a new name since that would screw up a lot of links in the forums and other places. If anyone has any name change ideas, please let me know.

  • Like 2
Link to comment
Share on other sites

Yeah, once we have scrolling, people could make all kinds of NES-style games.

 

The funny or particularly noteworthy part for 'NES-style games', like Zelda and Metroid for example, had hardware chip assistance with their scrolling providing multi-directional configurations for the console. The Mega Man series and Super Mario Bros. 2 & 3, also received scrolling help with additional chip hardware that provided a scanline based IRQ counter to make split screen scrolling easier to perform.

 

Still wish Maria (and the 7800 overall) had the scope and depth of additional hardware chip support the NES was provided back in the day. However, already demonstrated with games like Scrapyard Dog and even more so with Bentley Bear's Crystal Quest, scrolling is sweet on the 7800 despite no additional 'help'. :)

 

Looking forward to the time, when down the road, RevEng is able to add the (sweet) scrolling (possibilities) to 7800basic. :thumbsup:

Link to comment
Share on other sites

I called it "Atari 2600 Memories" long before any programming stuff was added, so maybe it's overdue for a name change anyway. I just won't be able to change any URLs to match a new name since that would screw up a lot of links in the forums and other places. If anyone has any name change ideas, please let me know.

 

Perhaps just "Atari Memories".

Heck, over time you may add a 5200/8-bit section too. ;)

  • Like 1
Link to comment
Share on other sites

So I've spent a few hours poking around with this, and I wrote a script up to a moving sprite similar to the simple sample, and using adventurer as a reference I tried to make the sprite change to turn, but it no longer compiles, and without a v7800b program, I can't seem to find the error myself. Can someone help me along?

pacgreg.bas

Link to comment
Share on other sites

You've dimensioned "temp1" and "temp2", but these are already used in 7800basic. You're welcome to reuse them, but just be aware that certain commands will overwrite them. (typically the plot* or drawscreen commands) Otherwise, just rename them to something else.

Link to comment
Share on other sites

You were nearly there. I made a couple of changes...

 

metalgear.bas

 

1. since the plot* commands change temp1, temp2, ... you can't use them as an argument to the same command. I dimensioned "mytemp1" and "mytemp2" and changed your code to use those instead.

2. the bottom plotsprite was using a different image reference than the top one. I fixed the bottom image name to match the top one.

 

Nice start :thumbsup:

  • Like 1
Link to comment
Share on other sites

Here it is, thanks.

 

Glad to see this topic pinned. :)

 

Great job so far, pacgreg. I love MetalGear and it's a great start, the sprite looks fantastic. I'd suggest to you and anyone else in the future to create your own thread when you start working on a new game. It'll get more attention from the the community and you'll likely get more assistance with your project. RevEng is the master and I'm just a padawan, but I'll help too when I have the time.

 

Here's a screenshot of pacgreg's binary.

post-2143-0-49452500-1403837945_thumb.png

  • Like 1
Link to comment
Share on other sites

 

Glad to see this topic pinned. :)

 

Great job so far, pacgreg. I love MetalGear and it's a great start, the sprite looks fantastic. I'd suggest to you and anyone else in the future to create your own thread when you start working on a new game. It'll get more attention from the the community and you'll likely get more assistance with your project. RevEng is the master and I'm just a padawan, but I'll help too when I have the time.

 

Here's a screenshot of pacgreg's binary.

Thanks, I had a pretty good looking 2600 version of metal gear running with functioning collisions, life bar, and ranks, and I was about to fix enemies before I stubled upon 7800 basic and suddenly now I feel the need to complete it on the 7800 in its full glory, but here's the bB version I had.

default.bas.bin

Link to comment
Share on other sites

I'm trying at this too and I get a "too many colors" error in one of my images. Is it from the image itself or the code? I tried to change the colors but to no avail.

 

I can't give you any specific advice at the moment as I'm just getting ready to leave, but I would suggest taking a look at the post I made in this forum about creating graphics images that are compatible with 7800basic.

 

Edit: After I did what was explained in that post, I'd simply edit an existing file (starting with one of RevEng's samples) and save it with a different name. Every image file I made after that imported perfectly into 7800basic.

  • Like 1
Link to comment
Share on other sites

I think I fixed it. Here's what I did:

 

Using Gimp, I made the images/tiles and made sure the character sprites are transparent and using the RGB mode.

 

 

post-18158-0-01209700-1404284711_thumb.png

 

When done, convert the image into Index Color by selecting Image--->Mode----> Indexed Color but don't click Convert yet!

 

post-18158-0-12890400-1404284839_thumb.png

 

Remember that Atari7800 custom palette? Tick the "Use Custom Palette" under the Colormap selection and select the Atari7800 palette.

 

post-18158-0-96362800-1404284910_thumb.png

 

 

 

 

 

 

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