Jump to content

Search the Community

Showing results for tags 'IntyBASIC'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • Atari Systems
    • Atari General
    • Atari 2600
    • Atari 5200
    • Atari 7800
    • Atari Lynx
    • Atari Jaguar
    • Atari VCS
    • Dedicated Systems
    • Atari 8-Bit Computers
    • Atari ST/TT/Falcon Computers
  • Classic Consoles
  • Classic Computing
  • Modern Consoles
  • Gaming General
  • Marketplace
  • Community
  • Community
  • Game Programming
  • Site
  • PC Gaming
  • The Club of Clubs's Discussion
  • I Hate Sauron's Topics
  • 1088 XEL/XLD Owners and Builders's Topics
  • Atari BBS Gurus's Community Chat
  • Atari BBS Gurus's BBS Callers
  • Atari BBS Gurus's BBS SysOps
  • Atari BBS Gurus's Resources
  • Atari Lynx Programmer Club's CC65
  • Atari Lynx Programmer Club's ASM
  • Atari Lynx Programmer Club's Lynx Programming
  • Atari Lynx Programmer Club's Music/Sound
  • Atari Lynx Programmer Club's Graphics
  • The Official AtariAge Shitpost Club's Shitty meme repository
  • The Official AtariAge Shitpost Club's Read this before you enter too deep
  • Arcade Gaming's Discussion
  • Tesla's Vehicles
  • Tesla's Solar
  • Tesla's PowerWall
  • Tesla's General
  • Harmony/Melody's CDFJ
  • Harmony/Melody's DPC+
  • Harmony/Melody's BUS
  • Harmony/Melody's CDFJ+
  • Harmony/Melody's General
  • ZeroPage Homebrew's Discussion
  • Furry Club's Chat/RP
  • PSPMinis.com's General PSP Minis Discussion and Questions
  • PSPMinis.com's Reviews
  • Atari Lynx 30th Birthday's 30th Birthday Programming Competition Games
  • 3D Printing Club's Chat
  • Drivers' Club's Members' Vehicles
  • Drivers' Club's Drives & Events
  • Drivers' Club's Wrenching
  • Drivers' Club's Found in the Wild
  • Drivers' Club's General Discussion
  • Dirtarians's General Discussion
  • Dirtarians's Members' Rigs
  • Dirtarians's Trail Runs & Reports
  • Dirtarians's Wrenching
  • The Green Herb's Discussions
  • Robin Gravel's new blog's My blog
  • Robin Gravel's new blog's Games released
  • Robin Gravel's new blog's The Flintstones Comic Strip
  • Atari Video Club's Harmony Games
  • Atari Video Club's The Atari Gamer
  • Atari Video Club's Video Game Summit
  • Atari Video Club's Discsuuions
  • Star Wars - The Original Trilogy's Star Wars Talk
  • PlusCart User's Bug reports
  • PlusCart User's Discussion
  • DMGD Club's Incoming!
  • DASM's General
  • AtariVox's Topics
  • Gran Turismo's Gran Turismo
  • Gran Turismo's Misc.
  • Gran Turismo's Announcements
  • The Food Club's Food
  • The Food Club's Drinks
  • The Food Club's Read me first!
  • The (Not So) Official Arcade Archives Club's Rules (READ FIRST)
  • The (Not So) Official Arcade Archives Club's Feedback
  • The (Not So) Official Arcade Archives Club's Rumor Mill
  • The (Not So) Official Arcade Archives Club's Coming Soon
  • The (Not So) Official Arcade Archives Club's General Talk
  • The (Not So) Official Arcade Archives Club's High Score Arena
  • Adelaide South Australia Atari Chat's General Chat & Welcome
  • Adelaide South Australia Atari Chat's Meets
  • Adelaide South Australia Atari Chat's Trades & Swaps
  • KC-ACE Reboot's KC-ACE Reboot Forum
  • The Official Lost Gaming Club's Lost Gaming
  • The Official Lost Gaming Club's Undumped Games
  • The Official Lost Gaming Club's Tip Of My Tounge
  • The Official Lost Gaming Club's Lost Gaming Vault
  • The Official Lost Gaming Club's Club Info
  • GIMP Users's Discussion
  • The Homebrew Discussion's Topics
  • Hair Club for Men's Bald? BEGONE!


There are no results to display.

There are no results to display.


  • AtariAge Calendar
  • The Club of Clubs's Events
  • Atari BBS Gurus's Calendar

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start










Custom Status



Currently Playing

Playing Next

Found 19 results

  1. Hey all, I have no idea if this would be helpful to anyone else, but I thought I'd share it. I wrote a quick reference sheet for IntyBASIC because I kept catching myself paging back and forth between the manual and my work a lot. It's four pages long and definitely not a substitute for the manual's documentation, but if you're like me and like to print things out it might be useful. The link is here: https://docs.google.com/document/d/15rkNWb8at6ngUrI_q6qRIscpEizQxnL8gn7bZeLDEIg/edit?usp=sharing I don't know if my real name is attached to this or not (Google Docs is weird), but if it is please don't stalk me. This community is so wonderful. I hope this helps someone!
  2. Intellivision IntyBASIC Programming Contest 2015 Welcome to the first IntyBASIC game programming contest held on AtariAge (thanks Albert!). The contest is open to all IntyBASIC programmers and is sponsored by GroovyBee, nonner242, nanochess, CollectorVision and Albert. Further prizes are being offered by revolutionika and cmart604, and awards will be given to entries that place 1st, 2nd and 3rd respectively. Drop us a PM if you'd also like to help out with some more prizes! THE RULES So you can get started, the basic rules are laid out below: The competition starts today (Wednesday 1st of July 2015) and the deadline for submissions is 00:00 GMT on the 1st of January 2016 (midnight on the 31st of December) - this gives you around 6 months of development time. There will be no competition unless a minimum of six entries are submitted by the deadline. Your game(s) must be developed in IntyBASIC and use the default prologue/epilogue files. The only assembly language statement allowed within your game is the ORG statement so that you can develop a larger game. However, bank switching is not permitted. All submitted games must meet the entry criteria to be valid. The games submitted do not necessarily need to be new, but must be your own work, not sold commercially or released in cartridge format previously. NTSC must be supported, with additional PAL support optional (but encouraged). The maximum number of single entries from a person or group is set at three. If more entries are made, the applicant has the opportunity to replace a previous entry with a new one. The 1st prize winning game may be published by CollectorVision (should it's developer enter into an agreement to do so). This matter will be discussed privately with the parties concerned and if an agreement is reached a public announcement will be made later. There will be a panel of judges (announced in full over the coming weeks), and entries will be scored on a points basis across several criteria. The decision of the panel is final. All game ROMs below 1st prize (2nd, 3rd etc.) will be published after judging has been completed. However, if the 1st prize game is to be published by CollectorVision its ROM will be distributed after game sales have completed. All entries must be submitted via email to [email protected] by the closing date. The judges will declare the results of the contest by 12:00 GMT on the 31st of January 2016. GAME ENTRY Each entry into the contest must consist of the following items to be valid :- Game image in *.rom or *.bin+*.cfg. Brief instructions on how to play the game. IntyBASIC source code (and any data files). Instructions on how to build the IntyBASIC source code (this must also include IntyBASIC compiler version number). As part of the validation process, each entry's source code will be built using its instructions and the final binary produced must match the submitted binary image 100%. Any entry that fails this criteria will not be judged. It is not necessary for any contestant to publish the source code to their entry. However, if they wish to do so before the contest closes, they will be awarded an extra 5 points. Competition contestants are free to discuss their game's progress, provide source code and WIP ROMs and to also help other contestants should they wish to do so. Your entry must be submitted via email to [email protected] by the competition's closing date. THE JUDGING PANEL The panel of judges is as follows :- Albert Yarusso (Albert) Mark Ball (GroovyBee) nonner242 Oscar Toledo G. (nanochess) J-F (retroillucid) Judges are not permitted to enter the contest themselves. However, they are permitted to answer technical questions and provide assistance to applicants publicly when required. DZ-Jay will validate the entries. His role is to ensure that only the permitted assembly language is used in the game and that an exact game binary can be produced. SCORING SYSTEM The criteria that each game will be evaluated on are: Originality (1 ro 10) - Is the game based on a new idea or a twist on an established design? Concept (1 to 10) - Quality of game design. Execution (1 to 10) - Execution of design, taking into account controls, NTSC/PAL compatibility. Graphics (1 to 10) - Quality of graphics and animation. Sound (1 to 10) - Quality of music and sound effects. Presentation (1 to 10) - Overall presentation. Game play (1 to 10) - A measure of how enjoyable the game is to play. Lasting Appeal (1 to 10) - Replay value, addictiveness. Source code (5) - These points are awarded to any coder that publishes his/her game's source code publicly. When the panel has scored each game accordingly, the totals for each criteria will be added together for each game to give it a final score. PRIZES First prize: Game on Bee3 cartridge (1 copy only). End label and a box designed by nonner242 (1 copy only). Hive Multi-cart Deluxe Edition. 2 blank Bee3s. 1 Bee3 programmer adapter (donated by DZ-Jay). Optional: CIB publication with CollectorVision. CIB Copter Command Deluxe (donated by revolutionika). One console from CIB Intellivision I, CIB Intellivision II or CIB Sears (donated by cmart604). 30 pack of CIB common games (donated by cmart604). Choice of D1K or D2K (donated by cmart604). Second prize: Game on Bee3 cartridge (1 copy only). End label by nonner242 (1 copy only). Hive Multi-cart Standard Edition. CIB Copter Command (donated by revolutionika). One console from the remaining choice of CIB Intellivision I, CIB Intellivision II or CIB Sears after the 1st prize winner has picked theirs (donated by cmart604). 20 pack of CIB common games (donated by cmart604). Third prize: Game on Bee3 cartridge (1 copy only). A simple end label by nonner242 (1 copy only). CIB Space Raid (donated by nanochess). CIB Copter Command (donated by revolutionika). The remaining CIB Intellivision/Sears console after 1st and 2nd prize winners have picked theirs (donated by cmart604). 10 pack of CIB common games (donated by cmart604). Note: These rules are based on RGCD's Programming Contest 2014 rules and are used with permission. DEVELOPMENT The development tools and emulators needed to create and play your games can be found here.
  3. I am starting to see why games take so long to finish. you never reach the end but you want to start start working on something different. Anyway, I was messing around with the Colorsquare demo/line drawing example from GroovyBee and I can't say how exactly but I ended up with something that is starting to look a little like Asteroids. totally concept at this stage. there is no collision detection, the astroids don't blow up and split into two but I think it looks kind of neat. If you try the ROM it should display a screen with a space ship on it. Left side of disc rotates ship counter clockwise. Right side of disc rotates ship clockwise. Up on disc fires thruster to move ship. There is some overlap so you can rotate and move at the same time. Pressing any button will fire the gigantic torpedo. (Color Square Bloxel) When you fire the first time the "Asteroids" will show up. This is just to randomize their speed and directions. Thoughts?? Source and Rom if anyone wants to play with it. SHIP_012416.BAS ship_012416.rom
  4. Hi all. I'm about to release officially IntyBASIC v1.4.0 with new features, corrections and enhancements. But before doing it "officially" I need your help to check if your current programs compile with this new version of compiler and post here with your OK. I've been careful but I'm trying not to release version after version because small bugs Thanks! Edit: for some reason I couldn't upload the ZIP here, so find it here https://github.com/nanochess/IntyBASIC/releases/tag/1.4.0 o Tracker allows playing 8 channels of music (using ECS PSG) o Now detects failure of flow control when using GOTO to jump wrongly between procedures. o Detects wrong flow of control (GOTO to PROCEDURE or GOSUB to non-PROCEDURE) o Name mangling for assembler now uses original names, easing assembler interface. o Support for local labels (using period character before a label, uses last global label as prefix) o Added MUSIC GOSUB, MUSIC RETURN, MUSIC VOLUME and MUSIC SPEED. o Added contrib/accel.bas it shows how to move sprites by fractions of pixel (contributed by intvnut) o VOICE INIT now "shuts up" the Intellivision (contributed by intvnut) and the initializatin is done in automatic form at start of program. o FLASH INIT SIZE to choose Flash memory size. o Allows constants in DATA PACKED. o Added ON expr FAST to avoid two instructions. o Generates warnings for AND/OR/XOR and small operators non-parenthesized. o Now direct CONT1, CONT2, CONT3 and CONT4 generate 8-bit results. o Solved bug where IF CONT.B0 THEN wouldn't work, also ABS and SGN. o Compatibility with Tutorvision consoles.
  5. Hey, all, I've been working on my own implementation of a halfwidth alphabet printer for my current project, a roguelike for the INTV. I am having an incredibly difficult time trying to diagnose an error I'm having in the stub program I intend to turn into my halfwidth print routine, and I could *really* use some help. The program is about 65 lines (not including the INCLUDEd data file full of BITMAP statements) and is attached to this post in a .zip file along with a compiled binary. The problem is somewhere in the math routines in my FOR loops -- it's pushing the right half of my text display ahead in the buffer a little too far, but I can't for the life of me figure out why. Any help you could give me would be so very greatly appreciated. Thank you so much in advance. petit chou - alphabet test.zip
  6. Hey all, There isn't a whole lot of technical information on the JLP flashcarts in the IntyBASIC manual, so I wanted to ask some questions for clarification. I'm wanting to store some (overly) complicated data structures in the onboard flash memory and need to know some specific information: * Are FLASH.FIRST and FLASH.LAST guaranteed to point to the same place every time the cart runs? * Can I trust that there will always be a certain amount of continuous storage available on the cart? (i.e., will FLASH.LAST - FLASH.FIRST ever change?) * How fast are the FLASH READ and FLASH WRITE operations? Will it be approximately the same speed on real hardware as it is in jzintv? * Is using flash memory damaging to a physical cartridge over time or can I read and write as much as I'd like to without worrying? Thanks a ton in advance! (edit: fixed a typo)
  7. IntyBASIC Programming Contest 2018 Results What a wonderfully fun trip it's been! I am pleased to announce the results for the IntyBASIC 2018 Programming Contest. A few quick notes: Thanks to Óscar Toledo G. (nanochess) for IntyBASIC, to Albert for providing us a subforum for the contest, and to our awesome judges: -^Cro§Bow^-, DZ-Jay, Intymike, mthompson, nanochess, and Tarzilla. Like the authors of this year's entries, our judges reside around the globe, and put a great deal of thought and effort into their deliberations. Additional thanks go of course to our main sponsors: Rev, cmart604, intvnut and Albert. Here are the brave souls who took the challenge (in alphabetical order): artrag, atari2600land, boardgamebrewer, carlsson, decle, digress, emerson, Kiwi, mmarrero, postpostdoc, PuzZLeR, and Zendocon. Blah blah blah. Tell us who won already! With the fascinating mix of offerings here, it is clear that IntyBASIC offers the power and versatility to enable people to unleash their creativity. With six stellar judges on hand this time out, the maximum possible score was 510 points. As the results rolled in, a clear winner emerged. Even so, our creative classic computing colleagues created consternation as the next few finishers were separated by wafer-thin margins. The winners of the 2018 IntyBASIC Programming Contest are: Deep Zone (434) - By artrag Upmonsters (399) - By atari2600land The Crimson Tower (397) - By emerson Congratulations to artrag for a truly impressive effort on many fronts! All of the entries proved entertaining in unexpected, surprising, and fun ways. The talents and creativity of this community continue to show no limits. A heart-felt Thank You! to each and every one of you for devoting so much time, care, and attention to your entries. The runners up: 4. MazezaM (387) - By postpostdoc 5. Boot Hill (383) - By digress 6. Princess Lydie (379) - By mmarrero 7. Dwarven Mine (364) - By boardgamebrewer 8. A Sparrow Goes Flapping (349) - By Kiwi 9. Ouranos! (340) - By carlsson 10. Deadly Balls (299) - By PuzZLeR 11. Hunt the Wumpus (287) - By Zendocon 12. mINTY (260) - By decle Downloads Final Score Card: IntyBASIC Contest 2018 - Judges Scorecard - Final.pdf All Entry ROMs: IntyBASIC Contest 2018 - Entries.zip Contest Entries Following are links to each entry's results post. Deep Zone results Upmonsters results The Crimson Tower results MazezaM results Boot Hill results Princess Lydie results Dwarven Mine results A Sparrow Goes Flapping results Ouranos! results Deadly Balls results Hunt the Wumpus results mINTY results Here is the full score breakdown: ============================================================================================================================================ Title Originality Concept Execution Graphics Sound Presentation Game Play Lasting Appeal Source Code Total ============================================================================================================================================ Deep Zone 48 49 50 49 59 53 48 48 30 434 -------------------------------------------------------------------------------------------------------------------------------------------- Upmonsters 45 46 46 41 44 50 49 48 30 399 -------------------------------------------------------------------------------------------------------------------------------------------- The Crimson Tower 51 54 47 42 41 43 43 46 30 397 -------------------------------------------------------------------------------------------------------------------------------------------- MazezaM 54 57 46 38 10 44 56 52 30 387 -------------------------------------------------------------------------------------------------------------------------------------------- Boot Hill 51 48 48 49 45 49 45 48 0 383 -------------------------------------------------------------------------------------------------------------------------------------------- Princess Lydie 47 46 40 46 43 48 39 40 30 379 -------------------------------------------------------------------------------------------------------------------------------------------- Dwarven Mine 56 47 44 33 35 35 45 39 30 364 -------------------------------------------------------------------------------------------------------------------------------------------- A Sparrow Goes Flapping 47 47 46 47 34 40 44 44 0 349 -------------------------------------------------------------------------------------------------------------------------------------------- Ouranos! 44 44 40 33 33 39 39 38 30 340 -------------------------------------------------------------------------------------------------------------------------------------------- Deadly Balls 27 35 40 37 31 28 37 34 30 299 -------------------------------------------------------------------------------------------------------------------------------------------- Hunt the Wumpus 33 32 37 17 36 33 36 33 30 287 -------------------------------------------------------------------------------------------------------------------------------------------- mINTY 56 35 36 9 43 36 6 9 30 260 ============================================================================================================================================
  8. Hey everybody, I apologize if anyone has asked these question before -- I tried searching with limited success. I am working on writing a roguelike for the INTV, now using IntyBASIC ideally to be part of the contest. The problem is that the program I want to write, including its art assets, is kind of huge and unwieldy and I have genuine worries that I'm not going to be able to cram everything I'd like into the address space. The IntyBASIC manual has this to say about the subject: The memory_map.txt file in the SDK, however, has what appears to be a much larger selection of addresses: So, the questions I have: Does IntyBASIC attach to the areas listed in the memory map but not listed in its documentation ($4000-$4FFF, $7000-$7FFF, $8040-$9FFF) in order to store variables? What about its prologue/epilogue routines? Clearly those routines have to go somewhere, but I'm a little confused about what determines where they show up. The prologue looks like it starts at $5000 and it looks like the epilogue is using some of the address space in the $4000 block to store some routines, but is there any extra space that can be squeezed out of these areas? There is no ORG directive at the beginning of the epilogue. Do those routines just go wherever the compiler's location counter happens to be pointing when it goes to include this? Will I need to worry about the epilogue writing itself to bizarre or inappropriate places if my code stops near one of the memory boundaries, or will the BASIC compiler make sure that doesn't happen? Where is the entry point for IntyBASIC programs? I'd like to make a custom title screen if possible. If I start my program with ASM ORG $7000, will it begin execution there and bypass the EXEC? (Does IntyBASIC need the EXEC?) I noticed that there's some code at $4800 in the epilogue pertaining to the Intellivoice, but it looks like it may not be present if the Intellivoice isn't used. (I realize half the reason for using BASIC instead of assembly language is to not have to worry about fiddly details like this, but I want to make good, appropriate decisions about how to organize my program and figure out what all I will be able to include as far as assets go before I begin any major coding.) Thanks a bunch!
  9. Hey all. I killed a bunch of productivity time for myself recently by forgetting to put appropriate guard statements in places in an IntyBASIC program. I am now considering making a little Win32 program "iblint" to scan my .bas file and make recommendations where problems might exist, for example no WAIT between MODE and PRINT, or no MUSIC REPEAT/STOP at the end of a song sequence, et . Please share your comments on what rules should be followed, could be followed, etc. I have not thought this all the way through, but if I port some table-driven rule logic from work, it would be easy to turn checks on/off as IntyBASIC (or a coder) matures. *don't code tired.
  10. Is there currently a way to use the JLP save and restore functions within IntyBASIC? I'm doing some preliminary planning for a game I'd like to write for the Intellivision and having this feature available would be extremely useful. Thanks!
  11. When I compile the following code and run it, I get a strange (to me) result: MODE 1 #A1 = $0800 #A2 = $0816 PRINT AT 160 COLOR 7, <>#A1 PRINT AT 180 COLOR 7, <>#A2 WHILE 1:WAIT:WEND This prints 65535 twice. What's going on here? Is there something involving variable assignment that I'm just not getting? Thanks! (Edit: I'm using the --jlp switch.) (Edit 2: Compiling without the switch makes the error go away. Do I have to do something special to use the variable space afforded in the switch?)
  12. I am so confused. I am typing to compile a simple program (http://pastebin.com/wSdYfPAq) which appears to be causing IntyBASIC and as1600 to have a bit of a disagreement. I'll link the INCLUDEd file if needed -- it's just halfwidth alphabet data as a bunch of DATA statements with no execution. Anyway, IntyBASIC with the --jlp switch is processing it just fine: ...but as1600 doesn't like what it's outputting and won't compile it: When I look in the .lst file that as1600 generates for the error, a few thousand lines in I see the following: 50F6 0283 033F MVI _color,R3 50F8 0284 033E MVI _screen,R4 CALL PRNUM16.l alphabet2.asm:3216: ERROR - undefined symbol PRNUM16.l 50FA 0004 0100 0000 50FD 0244 033E MVO R4,_screen Does anyone have any idea what's going on here? I'm still trying to learn IntyBASIC but I'm absolutely baffled here. Thanks in advance!
  13. Results thread for the IntyBASIC Programming Contest - 2018 is here for those of you who may fear to tread into the (no longer quite so) scary Programming sub-forum.
  14. Hey all, Is there a (preferably clean) way to get a substring out of a string in IntyBASIC? I don't know if it's just a notation thing or what, but if it's in the manual I'm missing it. I'm hoping to implement a thin font implementation sort of similar to what GroovyBee posted a while back and it would be convenient for me to pass an entire string to a printing routine and pick it apart two letters at a time. Thanks a bunch!
  15. Hi. I went ahead at full speed for IntyBASIC v0.9 with new powerful features to ease programming, in order to help to the many programmers that are using actively IntyBASIC: Cybearg, catsfolly, freeweed, atari2600land, Tarzilla, grips03 and many other people. (put a message in this thread if I missed you!) Most suggestions made it and some really needed features: Added ON [expr] GOTO/GOSUB statement (to alleviate the need for dozens of IF statements and it's faster!) STACK_CHECK statement to verify your code on the go for unwanted recursion (GOSUB without RETURN) INCLUDE statement to separate your code/graphics/music in different files (needed for bigger games!) DEFINE statement with expressions as parameters. (atari2600land suggestion) Fixed numbers and two fixed operators for playing with them (+. and -.) (GroovyBee suggestion) Multiplication and division operators optimized for constant 256. (intvnut suggestion) Remainder operator optimized for constants 32, 64, 128 and 256. Extra comments in manual for SOUND, MUSIC, MODE and DEFINE. (freeweed suggestion) IntyColor limited to 16 GRAM per block in order to support PLAY without modifications. Thanks everyone for using IntyBASIC, it feels great to contribute! Enjoy it! intybasic_compiler_v0.9.zip
  16. Hi guys. I got extra inspiration for this version after fighting with complex IF in one line, now you can use block structured IF while preserving the old-style IF, even better the new DO/LOOP statement construct and a way to exit loops with EXIT. Check the manual for the full syntax. Also some enhancements to DEF FN to make it more powerful. The IntyColor utility got a much needed revamp, now it allows to use MOBs in your images for extra graphics definition, automatically or with an instructions file provided by you Note: if you have downloaded version 1.2 before, download now latest one, it solves a bug when compiling the multiline IF statement. Changes, enhancements and fixes in version 1.2: Support for multiline IF/ELSEIF/END IF Added statement DO WHILE expr...LOOP, DO UNTIL expr...LOOP, DO...LOOP WHILE expr, DO...LOOP UNTIL expr. Added statement EXIT, use as: EXIT FOR, EXIT WHILE or EXIT DO. Added #BACKTAB array to access screen directly (without using PEEK/POKE) DEF FN now accepts strings in definition. New LEN() function to get size of string. New POS() function to get current screen position. Initializes ECS sound generator. Added automatic seed of pseudorandom generator with RAM trash (courtesy of GroovyBee) Warnings now can be disabled with option -w Macro replacement now accepts string as arguments. Shows file causing error or warning when inside INCLUDE. (some very big programs developed in IntyBASIC were needing this ) Optimized generation of code for plus constant followed by minus constant. Optimized generation of code for POKE. Solved bug where nested macros doesn't worked. Solved several bugs in macros for multiplication by constant (not so used numbers) Added a new contribution (tcg.bas) by Catsfolly. Superb enhancements for IntyColor utility: (run without arguments to see usage) Option -m for creating MOB automatically (for third/fourth color in same block) Option -c to not include constants.c (option -m) Option -r to create BMP report colored (error/GRAM/GROM) Option -g to indicate how to use the MOB (use with -m) Options -fx and -fy to flip in X and Y directions. New in version 1.2.2: Support for reading/writing JLP in-flash memory using the FLASH statement, now you can make your game to save your high-score tables, achievements, current position in game, etc. (new sample flash.bas) Stack is now always allocated to system memory, some things moved in intybasic_epilogue.asm. Generates warnings when using constants bigger than 8 bits for assignment to 8-bits variables or for TO value. Generates errors if labels are redefined, undefined and warnings if never used. (instead of waiting for assembler pass to catch them) New contribution 42k.bas by GroovyBee, shows how to make a maximum-sized IntyBASIC program. New in version 1.2.3: Added SIGNED statement to indicate arrays or variables of 8-bits signed. At start of your program, for example, add SIGNED a,my_array,b,c SPRITE statement now allows expression on MOB index. So it's easy to write FOR A=0 TO 7:SPRITE A,0:NEXT A SCREEN allows for sixth argument to support a wide origin screen, useful for horizontal scrolling or to display a fraction of a big map. (check landscape.bas) Solved bug where warnings were treated as errors for final return code of command line. (it interrupted SDK compilation) Solved bug where some warnings couldn't be disabled. Solved bug where 16-bits variables counting was wrong. New sample: landscape.bas (additional SCREEN syntax) New in version 1.2.4: Optimizes sequences of ANDI/XORI instructions. Gives warning in case of assignment to variable previously declared as CONST. Solved bug where ELSEIF had to be finished with ELSE. A few warnings returned wrongly an error code in command-line. Warns about assignment to variables reserved for IntyBASIC use. Updated constants.bas IntyColor: Updated for new SCREEN syntax. IntyColor: MOB data for assembler mode output is now in hardware order and generates better data. IntyColor: Solved color bug introduced in 1.2.1 New in version 1.2.5: Added UNSIGNED statement, allows to make unsigned comparisons. Added PLAY VOLUME statement. Added NO DRUMS syntax to PLAY. Added MUSIC JUMP statement. Added MUSIC.PLAYING expression. Added CALL statement (like USR but outside expressions) DATA allows for string literal. DO statement followed by colon now isn't taken as label. Corrected bug in PAL detection. Updated constants.bas (corrections and new constants for Coloured Squares mode) and keypad.bas sample. Added contrib/ColouredSquares.bas a sample of drawing lines in Coloured Squares mode by GroovyBee. Added samples/bats.bas (animated bats) Added samples/envelope.bas (using envelope sounds) New in version 1.2.6: Detects when PROCEDURE isn't finished at end of source code. Also starting a new PROCEDURE without closing the previous one now is an error instead of a warning. Added DATA VARPTR to allow arrays of pointers to arrays and/or variables. Generates warning when using DEFINE and requesting more than 16 GRAM to define. Internal: the mode_select variable now preserves in bit 0 the actual mode. Solved bugs in multiplication by 126 and 127. Solved bug in usage of JLP acceleration. (wrongly cached registers) Corrected contrib/clowns.bas (catsfolly) it broke with a change in constants.bas Added contrib/Gram2GromFont.bas (GroovyBee) showing how to take the GROM font and creating an entirely new font. Added contrib/TinyFont.bas (GroovyBee) showing how to display 40 columns using a 4 pixel wide font. Added manual notes about assembly language conventions for USR and CALL. New in version 1.2.7: Allows to concatenate lines using the character \ at the end of a line. (suggested by GroovyBee) Now optimizes access to arrays when using same index even if different array or offset. (double speed in common cases!!! intvnut suggested it a long of time ago) Solved bug where DEFINE VARPTR swallowed one extra lexical component. Solved bug where 1024-x*x generated wrong code. Solved bug where PRINT "string" as first statement would write in non-screen memory. Minor edit in manual (definition of BORDER) New in version 1.2.8: Added DATA PACKED for strings, same as DATA but fits two characters per word. Added OPTION EXPLICIT to force declaration of variables using DIM (without index), for example DIM A,B Added OPTION WARNINGS to disable compilation warnings. Warns about strange use of constants in FOR/NEXT Changed CC3/JLP memory flags to "=RM" for as1600 (needed for LTO-Flash) Solved three minor bugs. (optimization: reused register already trashed, weird expression a<5>b crashing, array optimization would trigger as1600 error because of "big" constant) New in version 1.2.9: Moved screen clearing at the very start of program to avoid brief title screen in Sears Intellivision. Added missing C7 note in internal tables. Solved MUSIC.PLAYING failing with MUSIC JUMP. More optimization saving flags state across instructions. Solved bug in PEEK optimization when source address was incremented between two PEEKs. More indications in manual, including documenting CONT3 and CONT4. VOICE.AVAILABLE for checking Intellivoice available. VOICE.PLAYING for checking Intellivoice playing. Solved several bugs in IntyColor and added some new features (replacement of color, generation of cards without checking duplicates, and process of images in chunks of 16 pixel high for MOB generation) Enjoy it! intybasic_compiler_v1.2.1.zip intybasic_compiler_v1.2.2.zip intybasic_compiler_v1.2.3.zip intybasic_compiler_v1.2.4.zip intybasic_compiler_v1.2.5.zip intybasic_compiler_v1.2.6.zip intybasic_compiler_v1.2.7.zip intybasic_compiler_v1.2.8.zip intybasic_compiler_v1.2.9.zip
  17. Good morning all. I took a break from my other Intellivision development projects and tinkered with the IntyBASIC music program. I changed the music to a couple tunes from NES games. I'm really happy with the way it turned out. Enjoy. music.bas
  18. Before we announce IntyBASIC Showcase Volume 2, let's actually have the contest I mentioned a few months ago First, the Prizes: The IntyBASIC Showcase Volume 1, umm, Showcase. a 3D printed stand to display your copy of IntyBASIC Showcase Volume 1. Comes with a stand that can hold both the box and cartridge, or just the box if desired. Included are the iconic main characters from the 3 games that easily snap into slots in the base. A copy of the game IntyBASIC Showcase Volume 1 is also included courtesy of Rev at Intellivision Revolution Note that the rough prototype is shown, the actual final product is much nicer. Also, giant Japanese toys, TV are NOT included (And before the question is asked, I've designed the base to be universal, I will be making bases and character packs available for other games in the future.) The Warship!: Goat VS Zyx board game. Adorned with game graphics, play epic games of Warship! when you are away from the Intellivision. Large Poster of the graphic that was used for the PRGE banner. This poster is larger than the one rolled up inside many copies of IntyBASIC Showcase Volume 1. A set of PRGE buttons courtesy of Rev at Intellivision Revolution. A copy of the PRGE Air Raid Early Bird pack featuring: a pair of ChromaDepth 3D glasses an art print (in 3d) a $5 off code redeemable when the game is released. 3d printed ships from the game Other prizes may be added later. How to Enter: This volume of games started as entries in the first IntyBASIC contest (big thanks to the team behind that!) Counting comments (not many,) graphics/music definitions, and some occasional blank lines, each games started with a certain number of lines of code in the file. Not counting any usage of CONSTANTS.BAS the numbers were: Battleship:1331 Goatnon:3119 Zyx:976 for a total 5,426 lines Adding the TV menu and merging 3 games by 3 different programmers into one codebase was "interesting..." When we were complete and the final rom passed testing by the team involved, we ended up with a new total number of lines of code, graphics and music (and a few more comments, but only a few ) So the contest is simple: How many lines of IntyBASIC code are in the final version? Closest to the number, over or under, wins. In case of a tie, a random draw will be held with the tied entries. Email your entry to: tarzilla @ telusplanet . net (remove any spaces) Include CONTEST in the subject line and your AtariAge handle in the message body along with your guess. and then post in this thread that you entered, don't post your email, but just the last digit of your guess so I can cross reference. One entry per person. Unfortunately for nanochess, he is disqualified from entering, mainly because I'll be sending the answer to him so no one accuses me of cheating, plus he is automatically getting most of the prizes anyway Also disqualified are the members of the testing team, they will be getting their just reward... Contest closes at January 20th, 2017 at 11:59pm Mountain Standard Time. PS:This is my first contest, so be gentle and I reserve the right to modify the rules in case I forgot something. Thanks to Rev, I have now edit my post to say that a CIB copy of IntyBASIC Showcase Volume 1 IS now part of the prize pack, thanks!
  19. Hi. Just I worked out this IntyBASIC demo of bats flying and attacking on screen. It uses the new structured programming features (block IF and DO loop) so when you check the source code, there are no labels! Also the SPRITE expr feature available now in IntyBASIC v1.2.3 Enjoy it! REM REM Bats REM Demo for IntyBASIC REM by Oscar Toledo G. http://nanochess.org/ REM Sep/01/2015 REM ' Note there is no use of labels, thanks to the use of the structured loops include "constants.bas" DIM x(,y(,f(,dx( ' Put in random coordinate each bat FOR a = 0 TO 7 x(a) = RANDOM(152) + 8 y(a) = RANDOM(48) + 24 f(a) = $2d ' Uses M and W letter ($2d and $37), V for attack ($36) dx(a) = 1 NEXT a bats = 8 ' Main loop DO ' Show bats FOR a = 0 TO 7 SPRITE a,x(a)+VISIBLE,y(a),f(a)*8+(a AND 1)*3+2 NEXT a WAIT ' Move bats FOR a = 0 TO 7 IF f(a) = $36 THEN ' Attacking? IF y(a) < 104 THEN y(a) = y(a) + 1:IF y(a) > 103 THEN bats = bats - 1 ELSE ' Bats goes left to right and back x(a) = x(a) + dx(a) IF x(a) = 8 OR x(a) = 160 THEN dx(a) = -dx(a) ' Vertical movement is random (-2 to +2) y(a) = y(a) + RANDOM(5) - 2 IF y(a) < 8 THEN y(a) = 8 IF y(a) > 80 THEN y(a) = 80 ' Move wings each 4 frames IF (FRAME AND 3) = 0 THEN IF f(a) = $2D THEN f(a) = $37 ELSE f(a) = $2d END IF NEXT a IF (FRAME AND 255) = 0 THEN ' Each 256 frames, a bat attacks FOR a = 0 TO 7 IF f(a) <> $36 THEN f(a) = $36:EXIT FOR NEXT a END IF LOOP UNTIL bats = 0 WAIT FOR a = 0 TO 7 SPRITE a,0 NEXT a bats.bas
  • Create New...