RevEng Posted February 26, 2020 Author Share Posted February 26, 2020 On 2/26/2020 at 9:09 AM, RALPH! said: IF-Blocks would be very helpful. IF [THEN], ELSE, ELSEIF, ENDIF included with Basic, Pascal, C, and other programming language made from 30 year ago. It greatly simplifies programming complex game logic. Programming 7800 Basic is similar to programming in Atari or Commodore computer basic. If I were programming the language from ground zero, I'd do that. 7800basic reused the batari basic codebase, and as a result it inherits the same syntax. Changing the language syntax fundamentally at this point is a non-starter for me, and same with complicating the language parser with two different styles of conditional logic. There are also advantages to keeping the language syntax more or less in sync with bB. FWIW, you can get the same code block effect by testing for the absence of a condition you want the code block to handle, and skipping over the code block in that case. Yes, it's a bit less elegant, but it's a workable solution, and one you get used to soon enough. Quote Link to comment Share on other sites More sharing options...
RevEng Posted February 28, 2020 Author Share Posted February 28, 2020 I've put out a new 7800basic pre-release for v0.8 (RC2) at the github release page, which has a few more fixes. See the release page for details. If I get no more bugs reported in the next week or so, I'll promote this to an official v0.8. (otherwise I'll keep rolling in fixes) 7 Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted February 28, 2020 Share Posted February 28, 2020 19 hours ago, RevEng said: I've put out a new 7800basic pre-release for v0.8 (RC2) at the github release page, which has a few more fixes. See the release page for details. If I get no more bugs reported in the next week or so, I'll promote this to an official v0.8. (otherwise I'll keep rolling in fixes) Any changes to the PDF? Quote Link to comment Share on other sites More sharing options...
RevEng Posted February 28, 2020 Author Share Posted February 28, 2020 A couple slight changes to the section "Sprite Collisions with boxcollision", due to the fact that collisionwrap is now on as a default. 1 Quote Link to comment Share on other sites More sharing options...
RALPH! Posted March 1, 2020 Share Posted March 1, 2020 On 2/26/2020 at 9:39 AM, RevEng said: If I were programming the language from ground zero, I'd do that. 7800basic reused the batari basic codebase, and as a result it inherits the same syntax. Changing the language syntax fundamentally at this point is a non-starter for me, and same with complicating the language parser with two different styles of conditional logic. There are also advantages to keeping the language syntax more or less in sync with bB. FWIW, you can get the same code block effect by testing for the absence of a condition you want the code block to handle, and skipping over the code block in that case. Yes, it's a bit less elegant, but it's a workable solution, and one you get used to soon enough. Batari Basic was made in C and is compiled into assembler 6502? Can use programming from other Basic compiler that supports advanced logic add paste to Batari or 7800 Basic code base? Batari Basic was made in C and is compiled into assembler 6502? can we just take the next Basic compiler that supports advanced logic and add it to Batari / 7800 Basic? He'll have to find Bing in search of 6502-based things.I look up on Google to see lf something similar done before. Perhaps some did it for Apple, Commodore, Nintendo. Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted March 2, 2020 Share Posted March 2, 2020 On 2/28/2020 at 4:08 PM, RevEng said: A couple slight changes to the section "Sprite Collisions with boxcollision", due to the fact that collisionwrap is now on as a default. In case you want to know, I tried to download 7800basic-0.8-RC2-win-x64.zip using Google Chrome and it blocked it with the message "7800basic-0.8-RC2-win-x64.zip is not commonly downloaded and may be dangerous." They also give a link to this page: support.google.com/chrome/answer/6261569?hl=en I clicked on 'Keep,' but that warning might scare some people. 1 Quote Link to comment Share on other sites More sharing options...
Trebor Posted March 2, 2020 Share Posted March 2, 2020 4 hours ago, Random Terrain said: In case you want to know, I tried to download 7800basic-0.8-RC2-win-x64.zip using Google Chrome and it blocked it with the message "7800basic-0.8-RC2-win-x64.zip is not commonly downloaded and may be dangerous." They also give a link to this page: support.google.com/chrome/answer/6261569?hl=en I clicked on 'Keep,' but that warning might scare some people. It happens with every new MAME release for the first couple of days as well. A review of the file can be requested to Goggle, but it typically stops automatically with time (24-72 hrs). Quote Link to comment Share on other sites More sharing options...
RevEng Posted March 2, 2020 Author Share Posted March 2, 2020 Yay, another assault on hobby developers. Only google engineers could come up with this one; reporting updated software as suspicious, is pretty much anathema to basic security principals. A question for the google geniuses, how exactly does a small hobby project become "commonly downloaded" when Big Brother is scaring people away? The whitelist crap is the same stuff the antivirus vendors are pulling - the put the onus of effort on you, to prove their accusations are false, with each and every software revision you put out. I'm not playing that game. [edit - looks like google's whitelist is domain based, so I would need to own and whitelist all of github ?] Thanks for the heads-up, RT. Thanks for the info, Trebor. This will probably stick around longer for my software, compared to Mame, because my download volume is nothing. FU to you too, Google. 7 Quote Link to comment Share on other sites More sharing options...
RALPH! Posted March 2, 2020 Share Posted March 2, 2020 Google Issues seems to be an reoccurring thing on these threads. It is good to read that Double Buffer will work with other screen height. i use some 6502 assembler language for game I make. Wrote whole routine to handle collision between sprite and screen. Use screen values of font for walls that cannot go past. Quote Link to comment Share on other sites More sharing options...
RevEng Posted March 2, 2020 Author Share Posted March 2, 2020 nice Quote Link to comment Share on other sites More sharing options...
RALPH! Posted March 4, 2020 Share Posted March 4, 2020 I know you can make 8 or 16 fonts with high and double width and make a screen with tiles. Can 7800 Basic mix 2 text lines 8 x 8 320 pixels top of the screen to display information? maybe the result, level, life, points, short text "GAME OVER" "STAGE COMPLETE" Quote Link to comment Share on other sites More sharing options...
RevEng Posted March 4, 2020 Author Share Posted March 4, 2020 See the splitmode demo in the samples directory. For now though, it doesn't let you change the zoneheight or doublewide character setting of those lines. Quote Link to comment Share on other sites More sharing options...
RevEng Posted March 6, 2020 Author Share Posted March 6, 2020 I've released the official v0.8 at github. Since v.0.7 was released... mksmith found a longstanding bB and 7800basic bug with for...next using a step of -1 and end value of 0. (yes, bB was updated too) He also put the doublebuffer-with-screenheight bug back to my attention. SmittyB found a bankswitch bug. Revontuli also found bugs regarding high score display in alternate display modes, second player score entry, and sfx at priority 0. KarlG had some great usability suggestions, and manual updates. Muddyfunster inspired the ability to use wider banners. RT has thanklessly updated the 7800basic online manual. (thanks!) Sorry if I missed anyone. I really appreciate the bug reports and help guys! Very much a team effort. ? 7 Quote Link to comment Share on other sites More sharing options...
+mksmith Posted March 7, 2020 Share Posted March 7, 2020 @RevEng Thanks for your continued hard work and dedication to both 7800basic and bB Mike! You are also always willing to help and solve issues with either the languages or our code - cannot thank you enough ???? 2 Quote Link to comment Share on other sites More sharing options...
RevEng Posted March 7, 2020 Author Share Posted March 7, 2020 You're welcome. Glad to be on the team. Quote Link to comment Share on other sites More sharing options...
RALPH! Posted March 7, 2020 Share Posted March 7, 2020 Add function to set up Display List Interupt for text line at top or bottom. Change mode and color. The WYSNC method does not work correct on real 7800 system after adding some text to the line. Holds up The 6502 processor if using many WSYNC writes. The vertical size of the line does not remain constant. Quote Link to comment Share on other sites More sharing options...
RALPH! Posted March 17, 2020 Share Posted March 17, 2020 What memory addresses does 7800 Basic search for Pokey chip at? Have standard cartridge circuit board from Atari and know friend that may put together custom board with RAM and Pokey mapped at $7FF0 or $7F00. Ram located at $4000 to $7EFF or 7FEF. If use 7800 Basic, will game run? Quote Link to comment Share on other sites More sharing options...
RevEng Posted March 17, 2020 Author Share Posted March 17, 2020 It searches for the pokey at $450 and $4000. If you need it at a different location, you could hack the pokeysound.asm (POKEYCHECKLO and POKEYCHECKHI tables) to search at alternate addresses. Quote Link to comment Share on other sites More sharing options...
RALPH! Posted March 23, 2020 Share Posted March 23, 2020 Found issue. When doing split for text line in 320 mode plus rest of screen in 160 mode. The compile program shows normal with PROSYSTEM emulator. But with MAME one and running on real 7800, the line where it switches is 3 or 3 pixels below. Program is showing Score, Extra lives, Level. Almaybe at times extra debugging information. Not sure if this problem with 7800 Basic or PROSYSTEM. Had to reduce amount of WSYNCs so proper show on real system. Quote Link to comment Share on other sites More sharing options...
+SmittyB Posted March 23, 2020 Share Posted March 23, 2020 38 minutes ago, RALPH! said: Not sure if this problem with 7800 Basic or PROSYSTEM It's a problem with ProSystem and actually one of a handful of reasons I quickly moved to using MAME. ProSystem should just be avoided as it has too many problems compared to the current alternatives. 2 Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted March 29, 2020 Share Posted March 29, 2020 I still do use Prosystem for debugging some of my POKEY music... it is more accurate on some settings than A7800, depending on what you use. But that really is the only reason. Quote Link to comment Share on other sites More sharing options...
+SmittyB Posted April 27, 2020 Share Posted April 27, 2020 @RevEng I've been editing Voxolotl! and I've found a couple of odd issues that at the moment I can only put down to being caused by some change between the current build of 7800BASIC and whatever version I was using at the time. The first is/was a graphical issue when calling plotbanner on a pretty big 320B banner. It seems that the compiler was essentially not setting the width, drawing everything, then setting the width as expected and then drawing everything again with offsets to the x position and graphics locations. In the end I just took the assembly and commented out the bits I wasn't expecting to see and the seems to have done the trick. Without knowing what the compiler needs to do I guess I've probably just done something in such a way as to not set a flag in the background to give the my desired result. The second is with the right hand column of the keypad in the left port which I just can't get working on hardware while it works fine in A7800. I've tried both the new keypad support in 7800BASIC and the code I was using previously with the same results so at the moment I'm guessing something may be interfering with INTP0 but I haven't a clue where to start looking to troubleshoot this. I've verified that it's not the keypad or console as they work fine with BASIC Programming. The next thing I'll try is to compile it with an older version of 7800 BASIC, but I have a feeling I've since deleted the ones I had sitting around. Quote Link to comment Share on other sites More sharing options...
RevEng Posted April 27, 2020 Author Share Posted April 27, 2020 Ok, I'll take a look at both when I get a chance, and reply back here. The latest update that allowed for arbitrary-width banners is probably at fault for your first issue. Not sure about the second. 1 Quote Link to comment Share on other sites More sharing options...
+SmittyB Posted April 27, 2020 Share Posted April 27, 2020 I don't know why I didn't think of it earlier but I compiled the keypad sample program and that works absolutely fine. That made me think it must be something I'm doing so I've been cutting bits out to see where the issue might be, but I'm now down to just the following code and it's still happening so whatever the matter is it's beyond what I can figure out. changecontrol 0 keypad BACKGRND = $0F logoLoop if keypadmatrix0a then goto skipLogoLoop if keypadmatrix0b then goto skipLogoLoop if keypadmatrix0c then goto skipLogoLoop if keypadmatrix0d then goto skipLogoLoop drawscreen goto logoLoop skipLogoLoop BACKGRND = $00 mainLoop drawscreen goto mainLoop Quote Link to comment Share on other sites More sharing options...
+mksmith Posted April 27, 2020 Share Posted April 27, 2020 I noticed the banner issue just yesterday when I went back and had a quick look at Arkanoid. I've attached an example to help ? banner.zip 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.