+darryl1970 Posted August 9, 2020 Share Posted August 9, 2020 Any suggestions as to why I have a problem with "7800preprocess"? I cannot find that specific issue anywhere. Thanks Quote Link to comment Share on other sites More sharing options...
RevEng Posted August 9, 2020 Author Share Posted August 9, 2020 Have a look to see if your AV has quarantined it. 7800basic is made from open source tools that AV vendors routinely false positive on. Quote Link to comment Share on other sites More sharing options...
+darryl1970 Posted August 10, 2020 Share Posted August 10, 2020 12 hours ago, RevEng said: Have a look to see if your AV has quarantined it. 7800basic is made from open source tools that AV vendors routinely false positive on. Thanks. I only run Malwarebytes and Windows Defender. Neither have anything int quarantine. I executed "7800preprocessWindows.exe" by itself, just to check. It gave the regular windows warning, and I chose 'Run Anyway'. It appears to be fine. So, everything is fine, except for "7800Preprocess" is not an internal or external command. Quote Link to comment Share on other sites More sharing options...
+SmittyB Posted August 10, 2020 Share Posted August 10, 2020 Even if it's not being quarantined see if you can set it to be a trusted program. Even though you might be able to run it directly your antivirus might still be stopping the compilation process from running it on your behalf. 1 Quote Link to comment Share on other sites More sharing options...
+darryl1970 Posted August 10, 2020 Share Posted August 10, 2020 I figured out the issue. The batch file referenced 7800basicpreprocess, 7800basic, etc. The programs I downloaded have "Windows" appended to the end of the file names. I altered the batch file to match the naming. It compiled. I haven't tested the a78 yet, because I need to start work. It seems hopeful though. Thanks for all of the suggestions. I hope this helps somebody else. 2 Quote Link to comment Share on other sites More sharing options...
+Karl G Posted August 27, 2020 Share Posted August 27, 2020 I was pleased to discover that 7800basic has pointer support. The example in the manual doesn't show how to set the constant for the high byte, however: dim mempointer=a dim mempointerhi=b dim memindex=c rem ** each data statement you wish to point at should have a similar rem ** const statement. const mydataplo=#mydata rem ** set the memory pointer to point to "mydata" mempointer=mydataplo mempointerhi=mydataphi rem ** an example of indirect variable array access if mempointer[[memindex]]=0 then goto drawelephant data mydata 0,3,5,8 end If you use #mydata to set the constant for the low byte, how do you set it for the high byte? Edit, based on bB syntax, I would expect this to work for setting the constants, but in a test program it did not: const mydataplo=<mydata const mydataphi=>mydata 1 Quote Link to comment Share on other sites More sharing options...
RevEng Posted August 27, 2020 Author Share Posted August 27, 2020 9 minutes ago, Karl G said: If you use #mydata to set the constant for the low byte, how do you set it for the high byte? Oops. Looks like a documentation bug I'll need to fix. The setting of the two constants should look like this... const mydataplo=#<mydata const mydataphi=#>mydata 1 1 Quote Link to comment Share on other sites More sharing options...
RevEng Posted August 27, 2020 Author Share Posted August 27, 2020 Actually, it looks right in the pdf version of the docs. It's just wrong in the web docs. @Random Terrain could you have a look? 1 Quote Link to comment Share on other sites More sharing options...
+Karl G Posted August 27, 2020 Share Posted August 27, 2020 I spent a while chasing a weird bug with setting the pointer - it would only work if I used letter variables for the pointer variable. I'm guessing it works for those and not the varXX variables because the former are zeropage? The generated assembly below does not look correct: LDA #mydataplo STA mempointer .L09 ;; mempointerhi = mydataphi LDA #mydataphi STA mempointerhi The attached example works if mempointer and mempointerhi are set to letter variables, but not if they are set to varXX variables. pointertest.78b Quote Link to comment Share on other sites More sharing options...
RevEng Posted August 27, 2020 Author Share Posted August 27, 2020 Yeah, correct - only zp memory. This one's on me. I've just updated my local docs that the pointer needs to be dimmed from a-z. This will get pushed out with the pending 0.11 release. 1 Quote Link to comment Share on other sites More sharing options...
+Karl G Posted August 27, 2020 Share Posted August 27, 2020 One more comment/suggestion about this for now, and then I'll shut up for a while. I think it would be handy when data statements are defined if the compiler would generate tablename_lo and tablename_hi symbols automatically for those data tables in the same way that it already generates tablename_length symbols. 1 Quote Link to comment Share on other sites More sharing options...
RevEng Posted August 27, 2020 Author Share Posted August 27, 2020 Yeah, it's a good idea. ? Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted August 27, 2020 Share Posted August 27, 2020 5 hours ago, RevEng said: Actually, it looks right in the pdf version of the docs. It's just wrong in the web docs. @Random Terrain could you have a look? I see what the problem is. The less than and greater than symbols are messing things up. I'll have to replace them with < and > in the code. I better check the whole page and the bB page too. I'll post when I'm done. 1 Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted August 27, 2020 Share Posted August 27, 2020 Seems to be fixed: randomterrain.com/7800basic.html#indirect_variable_arrays Since the HTML tags use less than/greater than symbols, I couldn't search the HTML code for them. I had to search the PDF for a less than symbol, copy nearby text, search for that text on the HTML page, replace < with <, then repeat the process with > and >. Thanks to the PDF version, I was able to find all less than/greater than symbols without running into HTML tags. I can't do that for the bB page. I could search the WYSIWYG version of the bB page to ignore any HTML tags, but if any less than/greater than symbols are causing some text to be missing, the symbols would be missing in the WYSIWYG version. 1 Quote Link to comment Share on other sites More sharing options...
RevEng Posted August 27, 2020 Author Share Posted August 27, 2020 Thanks! ? Quote Link to comment Share on other sites More sharing options...
SlidellMan Posted August 27, 2020 Share Posted August 27, 2020 (edited) I know that I said this in my game thread, but after spending yesterday following the manual closer, I finally compiled a working ROM file. It needs to be said that still needs work, but I'm now enjoying 7800basic. Edited August 27, 2020 by SlidellMan 6 Quote Link to comment Share on other sites More sharing options...
RevEng Posted August 29, 2020 Author Share Posted August 29, 2020 7800basic v0.11 is now available at the github release page. Whats new, compared to v0.10: Support for paddle controls data statements now automatically create NAME_lo and NAME_hi constants Minor efficiency improvements to plotsprite Refinements to driving wheel and mouse drivers Added "canary" stack protection There's been a fair bit of time invested into making the rotation controls (paddle, mice, driving wheel) all behave similarly, with only minimal glue code required to support all of these in your game. See the "rotationalcontrols" sample for an example. To use non-joystick controls in the A7800 emulator, you need to switch the controller in the "controller selection" menu, and if your rom is running, hit the "reset" choice in the same menu. If anybody wants to pickup a cheap mouse option, searching ebay for "atari st mouse ps2" or "amiga mouse ps2". This should bring up inexpensive ps/2 mouse adapters that are compatible with the 7800. In fact, testing seems to indicate that these adapters are more likely to work with various 7800 consoles than legacy mice are. If you're handy with a soldering iron, these adapters can be had in kit form for $15 USD shipped. The Arkanoid WIP supports all of the 7800basic rotational controllers, including mice. I have a side project planned that will hopefully give users another good reason to buy/use these adapters, or legacy mice. I think these are a viable option for 7800 rotational paddle games, for target based lightgun-type games, for trackball type games, and more. [end transmission] 8 2 Quote Link to comment Share on other sites More sharing options...
+mksmith Posted August 29, 2020 Share Posted August 29, 2020 Great update Mike ??? Mike has been working so hard on the controller changes the past couple of months encountering a number of challenges getting them to work so amazingly well for our 7800basic community. I cannot thank you enough for your continued commitment to the language and the ongoing support you provide me personally and to the wider community. You can see with the increased number of games being created for the 7800 that 7800basic is driving this uptake and making your blood, sweat and tears so very much worth it. Thank you Mike ? 5 1 Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted August 30, 2020 Share Posted August 30, 2020 Do you have an extra "set pokeysound [on|off]" section in the PDF by mistake? 1 Quote Link to comment Share on other sites More sharing options...
RevEng Posted August 30, 2020 Author Share Posted August 30, 2020 Entirely accidental. Thanks for the catch! 1 Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted August 30, 2020 Share Posted August 30, 2020 Is the word "a" in the sentence below supposed to be something else or am I reading it wrong? "By default, only the first paddle a the controller port is read." 1 Quote Link to comment Share on other sites More sharing options...
RevEng Posted August 30, 2020 Author Share Posted August 30, 2020 Let's just change it to "in". I'll do the same in my pdf. 1 Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted August 30, 2020 Share Posted August 30, 2020 1 hour ago, RevEng said: Let's just change it to "in". I'll do the same in my pdf. Thanks. Page has been updated. randomterrain.com/7800basic.html 2 Quote Link to comment Share on other sites More sharing options...
+Karl G Posted August 30, 2020 Share Posted August 30, 2020 Are there any examples that switch charactersets, to e.g. display graphics background, then text? I seem to be missing something when I try. I display my screen successfully, but when I try to switch to the atascii characterset and do plotchars, the characters displayed are offset by the number of tiles in my other characterset. I thought that putting the atascii graphic in its own block by preceding it with a "newblock" command would fix the numbering, but it did not. Quote Link to comment Share on other sites More sharing options...
RevEng Posted August 30, 2020 Author Share Posted August 30, 2020 If I'm understanding you correctly, you're trying to display more than one character set on the screen at once? If so, that's not possible normally, outside of a mid-screen change. That would leave one character set active above the mid-screen change, and another character set active below the change. To accomplish that, it would be similar to the splitmode demo, except you'd add the character set changes you want in the topscreenroutine. (in pretty much the same place the demo has 320A to 160A mode changes.) 1 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.