Jinks Posted May 22, 2014 Share Posted May 22, 2014 (edited) Someday I will.. someday before I die I swear I will make an Atari game.. heres hoping it dont totally blow!! Without this basic 7800 program you have to be a wizard. Thank you!! Its amazing somebody stepped up to the plate! Edited May 22, 2014 by Jinks 3 Quote Link to comment Share on other sites More sharing options...
Cybearg Posted May 27, 2014 Share Posted May 27, 2014 I'll definitely be using 7800 basic as well. I had wanted to do something on the NES, but that means raw 6502 Assembly. Why do that when I could use what I learned from batariBasic with 7800basic instead? I'm excited! Won't be able to start for a while, though. I have some other projects to complete and then I want to make a full-fledged 2600 game before moving on to the 7800, but I'm looking forward to seeing what 7800basic and updated releases of the tool bring! 1 Quote Link to comment Share on other sites More sharing options...
BioForceApe Posted May 31, 2014 Share Posted May 31, 2014 Messing with the ramcharmap bas when... (7) ERROR, the bitdepth '4' of gfx\tileset_ramchars.png doesn't match the requested display mode. This happens if I have an extended tileset which doesn't support 160A. changing incgraphic gfx/tileset_ramchars.png 160A to incgraphic gfx/tileset_ramchars.png 160B solves the problem but i'm stuck with this: Yea.... Included tileset below for more info. Quote Link to comment Share on other sites More sharing options...
RevEng Posted May 31, 2014 Author Share Posted May 31, 2014 Well, the reason it doesn't support 160a is because it has 6 colors.The alternate mode for 160a is 160c. If you import 160b graphics and try to display them in 160a they won't display properly.So either reduce the colors in the image and use 160a, or use 160c for the incgraphic command. 2 Quote Link to comment Share on other sites More sharing options...
BioForceApe Posted June 1, 2014 Share Posted June 1, 2014 Well if there is such thing as 160c then why isn't it included in the manual? Quote Link to comment Share on other sites More sharing options...
RevEng Posted June 1, 2014 Author Share Posted June 1, 2014 (edited) Erp! Sorry, late night post from my cell. 160A and 160B are it for 160 modes. I was thinking of the 320 modes. If you post the source I can see why the 160B mode didn't display properly. Just speculating... did you actually define P#C# values for all 12 160B color indexes? If not, its likely that's the cause of the graphics not being displayed as you wanted. Edited June 1, 2014 by RevEng Quote Link to comment Share on other sites More sharing options...
BioForceApe Posted June 1, 2014 Share Posted June 1, 2014 (edited) ** Edited June 1, 2014 by BioForceApe Quote Link to comment Share on other sites More sharing options...
BioForceApe Posted June 1, 2014 Share Posted June 1, 2014 Removing the black&white line from the tileset and one line from the code worked like a charm! It compiles now!For the hell of it, just for fun: Like RGB but actually simulated on a gaming console! Quote Link to comment Share on other sites More sharing options...
BioForceApe Posted June 1, 2014 Share Posted June 1, 2014 What does this mean: alphadata ' ' is missing from alphachars. I have it defined: alphachars ' abcdefghijklmnopqrstuv', now what? Quote Link to comment Share on other sites More sharing options...
RevEng Posted June 1, 2014 Author Share Posted June 1, 2014 I'm not sure offhand, other than the fact that the compiler thinks alphadata has an undefined char. Does alphachars come before the alphadata? If so, can you post the source? Quote Link to comment Share on other sites More sharing options...
BioForceApe Posted June 1, 2014 Share Posted June 1, 2014 (edited) Here. It's basically the same ramcharmap code, a few lines removed (paint block code) but unmodified in the rest. http://pastebin.com/GhuhhaYp Tileset (if it helps) is in attachments. The square is supposed to be char ' '. Edited June 1, 2014 by BioForceApe Quote Link to comment Share on other sites More sharing options...
RevEng Posted June 1, 2014 Author Share Posted June 1, 2014 So the full error is "*** (144): ERROR, alphadata character ' ' is missing from alphachars." The "144" bit means the syntax error occurred on line 144. Taking a look at line 144, it appears you have tab characters in the alphadata. Change those to spaces and the code compiles. 3 Quote Link to comment Share on other sites More sharing options...
BioForceApe Posted June 2, 2014 Share Posted June 2, 2014 So the full error is "*** (144): ERROR, alphadata character ' ' is missing from alphachars." The "144" bit means the syntax error occurred on line 144. Taking a look at line 144, it appears you have tab characters in the alphadata. Change those to spaces and the code compiles. Oh you, TAB button! Quote Link to comment Share on other sites More sharing options...
RevEng Posted June 3, 2014 Author Share Posted June 3, 2014 There's an updated release in the first post, and as you may have noticed I also updated the thread title to make this a general release thread. (instead of just v0.1) Here's the quick list of changes... added "set mcpdevcart on" option and supporting bankswitch code added "dmahole #" command, which directs following basic code to a given DMA hole updated guide with information on above bumped version number to v0.2. The dmahole thing is a way of sticking your basic code in ROM space that would otherwise go unused. 3 Quote Link to comment Share on other sites More sharing options...
Dan Iacovelli Posted June 3, 2014 Share Posted June 3, 2014 I have to d/l this and mess to get started on 7800 programing,though I do need to work on my 2600 game Quote Link to comment Share on other sites More sharing options...
+Atarius Maximus Posted June 3, 2014 Share Posted June 3, 2014 I'm a bit late to the party, RT just told me about this yesterday. It's downloaded and working fine and I'm excited to start playing around with it. Thanks for all your hard work RevEng! Quote Link to comment Share on other sites More sharing options...
RevEng Posted June 3, 2014 Author Share Posted June 3, 2014 Thanks for the interest AM and all! Hopefully we can help the 7800 assembly programming guys usher in another 30 years of 7800 gaming. Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted June 3, 2014 Share Posted June 3, 2014 Thanks for the interest AM and all! Hopefully we can help the 7800 assembly programming guys usher in another 30 years of 7800 gaming. Too late.. I think we scared them off with the reference to #'ing their DMAHOLEs 2 Quote Link to comment Share on other sites More sharing options...
+Atarius Maximus Posted June 4, 2014 Share Posted June 4, 2014 Yes, the palette differs from the 2600 (and 5200/XL/XE non-GTIA) one, in that it is a 256 (16 hue x 16 chroma) palette as opposed to the 128 (16 hue x 8 chroma) one found on the 2600 and Atari 5200/XL/XE (when using non GTIA modes). What I have found, is that it's best if you can get a PNG of the Atari 256 palette and import it into the GIMP's palette dialog ... Here's a sample palette: atari 256.png Run GIMP, then take this picture above, load it into GIMP. Then do Windows/Dockable DIalogs/Palettes, and then when the Palette window. Right click inside the palette window and select Import Palette. From there, look for the radio button that says "Import from image" and select it. The do "Import". The new palette (called Untitled) is now available in GIMP. You might want to rename it to "Atari 7800 palette". The palette should read as 256 colors. Next, to reduce an image to, say, 12 colors (the number of colors available in 7800's 160B mode) you want to do this with your image: Image/Mode/Indexed ... and select a 13 color index. You want 13, because the 7800 in 160B mode uses 12 plus the background. Repeat this step (Image/Mode/Indexed) only this time, select "use Custom Palette". Click on the colored palette button, and select the 7800 palette you just created. Also, when you do your indexing, make sure you don't do any dithering on the image. The image should now be reduced to 12 colors which match the 7800 palette. From here, you can cut, paste, and put together an image which should import perfectly into 7800basic. The only issue is, it seems that 7800Basic operates on the PAL palette instead of the NTSC palette, which means that all chromas (except for grey) get shifted one value to the right. Great info. Can anyone tell me how to import the correct palette into Adobe Photoshop (I have CS3) or Corel PhotoImpact X3 (my go-to image app)? I could download Gimp but I've never used it before and there's a learning curve. Quote Link to comment Share on other sites More sharing options...
+Trebor Posted June 4, 2014 Share Posted June 4, 2014 Can anyone tell me how to import the correct palette into Adobe Photoshop (I have CS3) or Corel PhotoImpact X3 (my go-to image app)? I could download Gimp but I've never used it before and there's a learning curve. Take any one of the palette files from the download in this post. Rename the extension from *.pal to *.act. Import should work perfectly. Personally, recommending either one of the 26.2 degrees or 26.7 degrees phase shift palettes to keep in step with the documented color order for Atari consoles, which includes accounting for some system "warm-up" (auto phase shifting) after a system is calibrated. If you prefer a perfectly calibrated system - ignoring any 'auto' phase shifting, then one of the 25.7 degrees phase shift palettes would be your best bet. 1 Quote Link to comment Share on other sites More sharing options...
BioForceApe Posted June 4, 2014 Share Posted June 4, 2014 http://pastebin.com/Jhvs6hwk Good game, plotmap. Coding Errors 5, Me 0. If the plotmap line worked fine in adventurer, then why not here? Quote Link to comment Share on other sites More sharing options...
RevEng Posted June 4, 2014 Author Share Posted June 4, 2014 If you modify the sample program to use a zoneheight of 16 rather than 8, there are some more adjustments you need to make. You need to modify your level data and the plotmap command to work with 12 lines of data, rather than 24 lines. Similarly, you need to modify the y position to character position conversion from "mytemp2=heroy/16" to "mytemp2=heroy/8". [edit] you can also change the memcpy lines to copy 240 bytes, rather than 480. Quote Link to comment Share on other sites More sharing options...
BioForceApe Posted June 4, 2014 Share Posted June 4, 2014 (edited) That almost went well... The tiles are just one tile off from being in the right place and the character still thinks that he is reading a 24 line playfield... Man this language is fishy... But it's just a beta, it will keep getting easier by version! Besides, I'm still figuring out stuff. Edited June 4, 2014 by BioForceApe Quote Link to comment Share on other sites More sharing options...
RevEng Posted June 4, 2014 Author Share Posted June 4, 2014 Did you adjust your level data so there was something visible in those 12 rows of visible characters? And did you change the mytemp2 pixel to character calculation code? This morning I did the things I suggested to your posted code and it worked fine on my end. Regarding the language being terrible... I'm sorry you feel that way. So far I haven't seen any undocumented behaviour in your posts, its just that you're just telling it to do things that are contrary to how you want things displayed... e.g. giving it a 6 color png image for a 3 color sprite, changing the number of rows from 24 to 12 but not adjusting the rest of the code, ... This sort of thing won't improve as the language gets more features, so if you have specific suggestions I'm totally open to hearing constructive criticism. 3 Quote Link to comment Share on other sites More sharing options...
+Atarius Maximus Posted June 5, 2014 Share Posted June 5, 2014 This is fantastic! I've read the manual several times and I'm ready to get started. I had about an hour to play around with it during the day today and thanks to Trebor and Synthpopalooza's posts and a little bit of time messing with it I was able to get some custom images working in a demo. RevEng, I'd strongly suggest a more detailed tutorial in the manual about how to create images that are compatible. I wound up using Gimp and will have to spend a little time learning it, but it was much easier than trying to figure it out in Photoshop. If you lack experience using an advanced image editor that's going to be a major stumbling block to developing a game, IMO. Edit: I'd consider including Trebor/Synthpopalooza's palette files in the distribution as well, if they are ok with it. 3 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.