Jump to content

Search the Community

Showing results for tags 'jzintv'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Atari Systems
    • Atari 2600
    • Atari 5200
    • Atari 7800
    • Atari Lynx
    • Atari Jaguar
    • Dedicated Systems
    • Atari 8-Bit Computers
    • Atari ST/TT/Falcon Computers
  • Gaming General
    • Classic Gaming General
    • Classic Computing
    • Modern Gaming
    • Prototypes
    • Arcade and Pinball
    • Emulation
    • Hardware
    • Gaming Publications and Websites
    • International
  • Marketplace
  • Community
  • Game Programming
  • Site
  • Classic Gaming News
  • 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 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

Blogs

There are no results to display.

There are no results to display.

Calendars

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

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website


Facebook


Twitter


Instagram


YouTube


eBay


GitHub


Custom Status


Location


Interests


Currently Playing


Playing Next

Found 16 results

  1. I put a couple files up on Google Docs that might help people trying to get binaries working with jzIntv. Instructions: If the file's name has any spaces, consider removing the spaces. jzIntv has no problems with spaces in filenames, but the same can't be said of all the other software in the system. If the binary file is an odd number of bytes, it's probably a .ROM file. (Exception: If it's a multiple of 4096 plus one byte, it's a .BIN file that came from a particular website that added a mystery byte to their ROM images.) Rename to with the extension .ROM and try the file. If it works, stop there. If not, let's try it as a .BIN, and rename the file's extension to ".bin" [*]Look up the game title in the config list spreadsheet here: Intellivision Game Memory Maps Make a note of the memory map number in the rightmost column. [*]Copy the corresponding configuration file from this set of generic configurations to the same name as the game, only with .cfg as the extension. Example: You're trying to get diner.bin to work. Looking at the file size, it's 32768 bytes, so it's a .BIN file. Looking it up in the spreadsheet, you see it takes memory map #2. So, copy "2.cfg" from the ZIP file to "diner.cfg" et voila! It should start working. Example 2: You're trying to get diner.bin to work, but its file size 32829. That's most likely a .ROM file someone had renamed .BIN. Rename it to .ROM and it should start working.
  2. I have the scripts I wrote to select a few options from a menu, but it's all command-line. I've never developed for X11 before, so I thought I'd ask if any such thing exists already before I go reinventing the wheel.
  3. I opened this thread because of two reasons, i know it's problematic to run a program like jtintv from terminal, GUIintv is a very good solution. but also i expect that a lot of users will stumble over the need of "SDL 1.2" to start jzintv in OSX. though to first remind of this fact and offer the link to "SDL 1.2". https://www.libsdl.org/download-1.2.php release 2.0 won't work with jzintv osx! second to give some hints how to start jzintv from the osx terminal and to offer my "run from file" compilation of batch files start the emulator from a gamespecific icon. how to run jzintv from terminal? in general it's something like this: path/jzintv -p path/rom romimagename where "path" is your path to the jzintv folder (wherever you unpacked jzintv), assuming the system roms are named exec.*, grom.* and ecs.*, and present in the "rom" folder of "jzintv", as well as the romimage you like to load is present in "rom". romimagename is the name of the romimage to load without suffix (.int,.bin,.rom), jzintv recognizes the type itself. if there are spaces in the path or in the names like "home/my jzintv" or "some game.bin" the whole path or name will have to be in quotes with this call jzintv will open in a 320x200 sized window. we want a larger window or fullscreen of course. there are a vast amount of flags you can set for jzint if you type path/jzintv -help jzintv will type out all the flags for jzintv the flags for jzintv: that's quite alot! we won't need the most if you just like to run a game path/jzintv -p path/rom -z1 -a11025 romimagename -z is the resolution mode (640x480,8bitplanes) in this case, -a the samplerate or path/jzintv -p path/rom -p path/romz -z960x600,8 -f1 -a11025 -q romimagename -z is now a custom resolution, -f1 determines it should open in fullscreen mode, -q suppresses the output in the terminal. an interesting flag is the scaler (--prescale=), looks a bit funny if the games loose their blockyness. after all no big thing to start jzintv. no one except a keyboard fetishist likes to type in these commands each time he likes to play a game. it's obvious if you don't have a GUI like GUIintv is you will need small executables witch contain your most used flags to run jzintv this is how "run from file" was born, i made the tedious work to create for almost all games a small batch file on which i attached my icons while they will call a general batch with the most used flags the games batch are still editable to set specific flags like -s1 (use ecs). i hope this covers the questions one can have how to run jzintv osx. but of course as long as i'm present in web i can answer questions.
  4. The LTO Flash! User Interface Software (LUI) finally has an integrated jzIntv launcher! Is it actually ready? Maybe you'll help decide! Are there willing guinea pigs, or should I just unleash this update and hope for the best? Of note: Includes the very latest build of jzIntv (or you can point it to your own copy) You provide your own EXEC, GROM and ECS ROMs Integrated with 'LUI', you can easily choose a ROM from your ROM list and run it You can browse for other ROMs not in your list, too By default, LUI uses information associated with the ROM to determine jzIntv settings (if the ROM is in your ROM list) -- stuff like enabling ECS, et. al. You can customize command line to your heart's content if 'automagic' isn't your cup of tea Includes other bug fixes, too! There's even an update to the LTO Flash! firmware Available for Mac and Windows It's a bit different than Arnauld's UI, but hopefully still simple to use. If you're working on ROMs that use special features such as JLP flash, etc. you may find the rough edges. LUI does offer a way to help with this, via the 'Edit ROM Features' feature. Also of note: I haven't tested with keyboard hackfiles, or joystick configurations. I tend to play directly on the console almost exclusively. These options can be configured in the settings, of course - and as mentioned, you can forgo all the 'magic' and fully specify the command line if you wish. This was supposed to be ready for PRGE, but a hard drive failure a week before the show and other events conspired to delay this far longer than I'd hoped.
  5. Hi All, Hoping someone can help me. I am trying to get a wireless 8BITDO controller working with jzintv on RetroPie with World Championship Baseball. I can use the keyboard and I can switch to the controller by toggling F7 - but I can only use the directional keys which are mapped to the keypad - but not the disc. That is, I can activate or throw to a player but can't move the player with the joystick. I know that my keyboard hackfile is working - the reset and power mappings work. For some reason the disc mappings do not work on this game alone. My hackfile is below. Any ideas? Other games are working fine. Thanks in advance. ; ----------------------------------------------------------------------------------------- MAP 0 ; keymap 0 (default keymap) ; ----------------------------------------------------------------------------------------- ; ***** Joystick #0 - Left Controller ***** ; ** Side Buttons and Numeric Keypad ** JS0_BTN_06 PD0L_A_T JS0_BTN_07 PD0L_A_T JS0_BTN_08 PD0L_A_L JS0_BTN_09 PD0L_A_R JS0_HAT0_NW PD0L_KP1 JS0_HAT0_N PD0L_KP2 JS0_HAT0_NE PD0L_KP3 JS0_HAT0_W PD0L_KP4 JS0_BTN_04 PD0L_KP5 JS0_HAT0_E PD0L_KP6 JS0_HAT0_SW PD0L_KP7 JS0_HAT0_S PD0L_KP8 JS0_HAT0_SE PD0L_KP9 JS0_BTN_04 PD0L_KPC JS0_BTN_01 PD0L_KP0 JS0_BTN_00 PD0L_KPE JS0_BTN_10 RESET JS0_BTN_11 QUIT ; ** Direction Disc ** JS0_N PD0L_J_N JS0_NNE PD0L_J_NNE JS0_NE PD0L_J_NE JS0_ENE PD0L_J_ENE JS0_E PD0L_J_E JS0_ESE PD0L_J_ESE JS0_SE PD0L_J_SE JS0_SSE PD0L_J_SSE JS0_S PD0L_J_S JS0_SSW PD0L_J_SSW JS0_SW PD0L_J_SW JS0_WSW PD0L_J_WSW JS0_W PD0L_J_W JS0_WNW PD0L_J_WNW JS0_NW PD0L_J_NW JS0_NNW PD0L_J_NNW ; ***** Joystick #1 - Right Controller ***** ; ** Side Buttons and Numeric Keypad ** JS1_BTN_06 PD0R_A_T JS1_BTN_07 PD0R_A_T JS1_BTN_08 PD0R_A_L JS1_BTN_09 PD0R_A_R JS1_HAT0_NW PD0R_KP1 JS1_HAT0_N PD0R_KP2 JS1_HAT0_NE PD0R_KP3 JS1_HAT0_W PD0R_KP4 JS1_BTN_04 PD0R_KP5 JS1_HAT0_E PD0R_KP6 JS1_HAT0_SW PD0R_KP7 JS1_HAT0_S PD0R_KP8 JS1_HAT0_SE PD0R_KP9 JS1_BTN_04 PD0R_KPC JS1_BTN_01 PD0R_KP0 JS1_BTN_00 PD0R_KPE JS1_BTN_10 RESET JS1_BTN_11 QUIT ; ** Direction Disc ** JS1_N PD0R_J_N JS1_NNE PD0R_J_NNE JS1_NE PD0R_J_NE JS1_ENE PD0R_J_ENE JS1_E PD0R_J_E JS1_ESE PD0R_J_ESE JS1_SE PD0R_J_SE JS1_SSE PD0R_J_SSE JS1_S PD0R_J_S JS1_SSW PD0R_J_SSW JS1_SW PD0R_J_SW JS1_WSW PD0R_J_WSW JS1_W PD0R_J_W JS1_WNW PD0R_J_WNW JS1_NW PD0R_J_NW JS1_NNW PD0R_J_NNW ; ----------------------------------------------------------------------------------------- MAP 1 ; ECS 1 (ECS keymap) ; ----------------------------------------------------------------------------------------- ; ***** Joystick #0 - Left Controller ***** ; ** Side Buttons and Numeric Keypad ** JS0_BTN_06 PD0L_A_T JS0_BTN_07 PD0L_A_T JS0_BTN_08 PD0L_A_L JS0_BTN_09 PD0L_A_R JS0_HAT0_NW PD0L_KP1 JS0_HAT0_N PD0L_KP2 JS0_HAT0_NE PD0L_KP3 JS0_HAT0_W PD0L_KP4 JS0_BTN_04 PD0L_KP5 JS0_HAT0_E PD0L_KP6 JS0_HAT0_SW PD0L_KP7 JS0_HAT0_S PD0L_KP8 JS0_HAT0_SE PD0L_KP9 JS0_BTN_04 PD0L_KPC JS0_BTN_01 PD0L_KP0 JS0_BTN_00 PD0L_KPE JS0_BTN_10 RESET JS0_BTN_11 QUIT ; ** Direction Disc ** JS0_N PD0L_J_N JS0_NNE PD0L_J_NNE JS0_NE PD0L_J_NE JS0_ENE PD0L_J_ENE JS0_E PD0L_J_E JS0_ESE PD0L_J_ESE JS0_SE PD0L_J_SE JS0_SSE PD0L_J_SSE JS0_S PD0L_J_S JS0_SSW PD0L_J_SSW JS0_SW PD0L_J_SW JS0_WSW PD0L_J_WSW JS0_W PD0L_J_W JS0_WNW PD0L_J_WNW JS0_NW PD0L_J_NW JS0_NNW PD0L_J_NNW ; ***** Joystick #1 - Right Controller ***** ; ** Side Buttons and Numeric Keypad ** JS1_BTN_06 PD0R_A_T JS1_BTN_07 PD0R_A_T JS1_BTN_08 PD0R_A_L JS1_BTN_09 PD0R_A_R JS1_HAT0_NW PD0R_KP1 JS1_HAT0_N PD0R_KP2 JS1_HAT0_NE PD0R_KP3 JS1_HAT0_W PD0R_KP4 JS1_BTN_04 PD0R_KP5 JS1_HAT0_E PD0R_KP6 JS1_HAT0_SW PD0R_KP7 JS1_HAT0_S PD0R_KP8 JS1_HAT0_SE PD0R_KP9 JS1_BTN_04 PD0R_KPC JS1_BTN_01 PD0R_KP0 JS1_BTN_00 PD0R_KPE JS1_BTN_10 RESET JS1_BTN_11 QUIT ; ** Direction Disc ** JS1_N PD0R_J_N JS1_NNE PD0R_J_NNE JS1_NE PD0R_J_NE JS1_ENE PD0R_J_ENE JS1_E PD0R_J_E JS1_ESE PD0R_J_ESE JS1_SE PD0R_J_SE JS1_SSE PD0R_J_SSE JS1_S PD0R_J_S JS1_SSW PD0R_J_SSW JS1_SW PD0R_J_SW JS1_WSW PD0R_J_WSW JS1_W PD0R_J_W JS1_WNW PD0R_J_WNW JS1_NW PD0R_J_NW JS1_NNW PD0R_J_NNW
  6. Hey all. I am creating a large program in IntyBASIC, and after it compiles and I feed it to as1600 like this: as1600 -o "mybas" -l "mybas.lst" -j "mybas.smap" -s "mybas.sym" "mybas.asm" I get the text below. However, I don't know what to fix, there is no other feedback on-screen. ERROR SUMMARY - ERRORS DETECTED 1 - WARNINGS 0 What logs should I check, etc to understand where the problem might be? Thanks.
  7. I have a slight problem with Armauld's game "Stack 'Em". Using the recent release of JZintv the screen is deranged if i use a earlier release (a win32 release running in "Wine") the screen is centered. Any ideas how to fix that? The game and the source is still available here (hosted by arnauld chevalier): http://www.pouet.net/prod.php?which=19769
  8. hi folks, yes, i'm still alive. after a big loss of data and a big loss of blood. while i still recover from a surgery i used the time to fiddle around with the new jzintv osx release resp. GUIintv. following is only relevant for OSX quickly i grabbed out my icons and attached them to the rom images, resulting in a nice looking GUIintv intyicons.zip to attach the icons to the files folders and aliases i used "fasticns" (i used the intellicart rom format to keep the rom folder clean) additionally i attached a icon to jzintv though it displays a symbol when it's runnig but i'm not very satisfied with the limited flexibility of GUIintv, thus i created some batch files to start the games in a neat folder showing large icons to identify the games. i named the whole tard "MyIntellivision" and it looks like this, it's very comfortable to start a game and the batch files can be easy edited with any hex editor. it was quite a work to create all the batch files for almost all available rom images. thus i decided to share this special jzintv installation. the most flags are set in "run_a" which executes jzintv the rom images path and and few flags are set in the game specific batch files the attached zip file contains everything to run jzintv out of the box IF IT'S EXTRACTED TO APPLICATIONS (as well as the complete jzintv, miniexec, minigrom, miniecs and a couple of PD rom images, documentations) i hope i didn't infringed any copyrights. inty171111.zip when uncompressing this folder or included compressed folders make sure you don't clean off mac specific system files, else the attached icons get lost this is what you should see when you open the alias "INTY"
  9. My last update to jzIntv was over 7 months ago. That doesn't mean I haven't touched jzIntv. Au contraire! I've added support for ECS cassette and printer, I've extended the debugger, I've added "raw input" mode for controllers such as the Retronic USB, and so on. See below for full details. Find it here: http://spatula-city.org/~im14u2c/intv/ ________ Release notes for 2018-12-25. Updates since 2018-05-09. --------------- New features: --------------- * Added Carl Mueller's IDIV, JDIV, ISQRT. This was an oversight from long ago, and now these are added under jzintv/examples/library/. * Raw-bits mode for controller adaptors such as Retronic that can provide raw input bits from native controllers. See PDxx_BIT_x in jzintv/doc/jzintv/kbdhackfile.txt & jzintv/doc/jzintv/retronic-usb-raw.kbd. * Debugger features: (see jzintv/doc/debugger.txt for updated docs) b? lists active breakpoints t? lists active tracepoints w? lists active write-watches @? lists active read-watches ?? outputs the debugger's current status * Add "button" mode to support analog joysticks that have analog buttons that report themselves as analog axes. * Add support for saving/loading ECS cassettes and printing to the ECS printer. ---------- Changes: ---------- * Updated the NTSC and PAL palettes based on experiments with TV capture cards and eyeballing several games. (Congo Bongo is a tough one to nail.) Also, NTSC and PAL now have different palettes. * macOS builds are now 64-bit only, driven by recent changes in macOS. jzIntv should still run with OSX 10.7.x or later. * A raw semicolon ';' in a kbdhackfile now introduces a comment. To bind the semicolon event, use the word SEMICOLON. ------------------------- Cleanups and bug fixes: ------------------------- * Fix "voice_compat" in internal ROM database. It accidentally requested ECS rather than Intellivoice for known voice games. * Myriad fixes to allow compiling with MSVC, along with an MSVC Makefile. * Myriad fixes to allow compiling with Clang from Xcode. * Many waves of 'const' correctness, and occasional 'restrict' qualifiers. * Many 'sanitizer' directed fixes. * Many minor memory leaks cleaned up. * Fix event scanning to actually allow <5ms granularity. Deepened the event queue as well. * Fix JSx_BTN_28, which has been b0rken for almost 20 years. * Fix the spelling of ecs_compat, version, publisher in metadata code. * Improve handling of build/release dates in metadata. * Fix HH:MM parsing for UTC offsets in metadata. * Remove C++14-isms; restrict to C++11 as baseline. * Use modern C++ style casts and 'nullptr' rather than 0/NULL in C++ code. * Fix include guards to not use _CAPS, but rather CAPS_. * Fall back to ECS-disabled if game sets ecs_compat to "enhanced" but no ecs.bin is available. * Fix documentation for -J flag in --help info. * Only print "diagonal bias" for 4diag mode in joystick status output. ------- Misc: ------- * Experimental Emscripten build. * Experimental Termux build.
  10. OK, I've made a raft of improvements since last week's release. All this is now available in the 2018-01-08 release. NEW: Add _EXPMAC keyword, to force macros to expand in both the taken and not-taken branches of an IF. This is needed for IF-statements inside a RPT block, whose taken/not-taken behavior varies across loop iterations. NEW: Increase resolution of release_date to include hours, minutes, seconds, and timezone. NEW: Add build_date and version CFGVARs. build_date takes the same format as release_date. version is an arbitrary format string. Both tags can appear an arbitrary number of times. NEW: Add %z specifier to TODAY_xxx. Reports timezone as +HHMM in TODAY_STR_xxx. Reports timezone as minutes relative to UTC in TODAY_VAL_xxx. NEW: Add _ROTL16, _ROTL32, _ROTR16, _ROTR32 operators.Same precedence as SHL, SHR, SHRU. Internal: Increase IF-ELSE-ENDI stack depth from 32 to 256. Internal: Additional infrastructure for normalizing metadata between different object file types. BUGFIX: Add missing __FEATURE.TODAY for the TODAY_xxx feature. This was supposed to be in the last release, but a fatfingered edit fail deleted it. BUGFIX: Fix some nested RPT cases. Multiple RPTs inside a nested RPT now work. RPT guarded by an IF also now works. BUGFIX: Fix some metadata tag behavior when loading ROMs w/ tags. Misc: Start marking stuff 2018. Misc: Update documentation for new features.
  11. Hey all. Can someone have mercy on my dumb ass and show how to remap the [enter] key to the spacebar for both controller 1 and controller 2? I am trying to get some emulator goodness on a netbook and stuff that works on my desktop is not responding. Thanks.
  12. My last update to jzIntv was over 7 months ago. That doesn't mean I haven't touched jzIntv. Au contraire! I've added support for ECS cassette and printer, I've extended the debugger, I've added "raw input" mode for controllers such as the Retronic USB, and so on. See below for full details. Find it here: http://spatula-city.org/~im14u2c/intv/ ________ Release notes for 2018-12-25. Updates since 2018-05-09. --------------- New features: --------------- * Added Carl Mueller's IDIV, JDIV, ISQRT. This was an oversight from long ago, and now these are added under jzintv/examples/library/. * Raw-bits mode for controller adaptors such as Retronic that can provide raw input bits from native controllers. See PDxx_BIT_x in jzintv/doc/jzintv/kbdhackfile.txt & jzintv/doc/jzintv/retronic-usb-raw.kbd. * Debugger features: (see jzintv/doc/debugger.txt for updated docs) b? lists active breakpoints t? lists active tracepoints w? lists active write-watches @? lists active read-watches ?? outputs the debugger's current status * Add "button" mode to support analog joysticks that have analog buttons that report themselves as analog axes. * Add support for saving/loading ECS cassettes and printing to the ECS printer. ---------- Changes: ---------- * Updated the NTSC and PAL palettes based on experiments with TV capture cards and eyeballing several games. (Congo Bongo is a tough one to nail.) Also, NTSC and PAL now have different palettes. * macOS builds are now 64-bit only, driven by recent changes in macOS. jzIntv should still run with OSX 10.7.x or later. * A raw semicolon ';' in a kbdhackfile now introduces a comment. To bind the semicolon event, use the word SEMICOLON. ------------------------- Cleanups and bug fixes: ------------------------- * Fix "voice_compat" in internal ROM database. It accidentally requested ECS rather than Intellivoice for known voice games. * Myriad fixes to allow compiling with MSVC, along with an MSVC Makefile. * Myriad fixes to allow compiling with Clang from Xcode. * Many waves of 'const' correctness, and occasional 'restrict' qualifiers. * Many 'sanitizer' directed fixes. * Many minor memory leaks cleaned up. * Fix event scanning to actually allow <5ms granularity. Deepened the event queue as well. * Fix JSx_BTN_28, which has been b0rken for almost 20 years. * Fix the spelling of ecs_compat, version, publisher in metadata code. * Improve handling of build/release dates in metadata. * Fix HH:MM parsing for UTC offsets in metadata. * Remove C++14-isms; restrict to C++11 as baseline. * Use modern C++ style casts and 'nullptr' rather than 0/NULL in C++ code. * Fix include guards to not use _CAPS, but rather CAPS_. * Fall back to ECS-disabled if game sets ecs_compat to "enhanced" but no ecs.bin is available. * Fix documentation for -J flag in --help info. * Only print "diagonal bias" for 4diag mode in joystick status output. ------- Misc: ------- * Experimental Emscripten build. * Experimental Termux build.
  13. I just uploaded jzintv-20180509 to the webserver. This is primarily a bugfix release, motivated by a semi-serious bug that crept into AS1600 back in December. In this release: BUGFIX: AS1600: Fix right shifts of negative values. This was a pants-on-head stupid bug. BUGFIX: jzintv, dasm1600: Display JR R5 instead of MOVR R5, R7 in disassembly. It was always intended to. Bug caught by upgrade to GCC 8.1. Compile fix: Change 'macosx' to 'PLAT_MACOS' to allow building on MacOS X 10.13 and later. Typo in as1600 docs: __FEATURE.LISTCOL, not __FEATURE.ROTATE Minor improvement: Improve dis1600's handling of an opcode that may, or may not be, an SDBD. Misc: Upgraded to GCC 8.1 on Linux and MacOS X. Get it at the usual spot: http://spatula-city.org/~im14u2c/intv/
  14. All, I've made a minor but useful update to AS1600 in this release. jzIntv should be unchanged, other than to be freshly compiled. Download the update here: http://spatula-city.org/~im14u2c/intv/ Updates: The -m (aka --show-map) flag now works again. This will print a memory map summary for your program at the end of assembly. The new -e flag (aka. --err-if-overwritten) flag now enables ROM overwrite checks. (More below.) The new directives ERR_IF_OVERWRITTEN and FORCE_OVERWRITE now provide the ability to warn about overwriting already-assembled ROM, with the ability to override the warning. What is ROM overwrite? First, the tl;dr: The most common symptom is that your program has started crashing and you don't know why. Add the '-e' flag to your assemble script, and this will become an assemble time error than a run time error. Longer explanation: Consider the following simple example: . ORG $5000 DECLE 1, 2, 3, 4, 5, 6, 7, 8 ORG $5004 DECLE 8, 7, 6, 5, 4, 3, 2, 1 . This code assembles 8 words at $5000 - $5007, and then assembles 8 more words at $5004 - $500B. The second part overwrites the ROM assembled at $5004 - $500F. AS1600 currently does not warn about this. Usually, when this happens, it is an error, but occasionally it's a feature. For example, I'll often assemble a fixed pattern into memory, and then assemble my game over top of that, so I have a consistent fill value for the portions of ROM I'm not using yet. The latest release of AS1600 adds directives to control this behavior. I'll just paste the documentation from jzintv/doc/utilities/as1600.txt here: . ------------------------------------------------------------------------------ ERR_IF_OVERWRITTEN expr Mark code as "not intended to be overwritten" FORCE_OVERWRITE expr Force code to be overwritten anyway ------------------------------------------------------------------------------ By default, AS1600 lets you assemble new code over addresses you've already assembled code into. That allows for some interesting tricks; however, most often this is really an error. The ERR_IF_OVERWRITTEN directive controls a flag that indicates whether the code that follows may be safely overwritten. 0 means "safe to overwrite", while 1 means "throw an error if overwritten." >>> Note: ERR_IF_OVERWRITTEN defaults to 0. You can change the default at >> the command line by adding the flag -e or --err-if-overwritten For example, if I wanted to fill some ROM with a fixed pattern, and then overwrite it with final code, I could do something like this: ERR_IF_OVERWRITTEN 0 ; About to write some filler data ORG $6000 REPEAT 4096 / 8 DECLE -1, -1, -1, -1, -1, -1, -1, -1 ENDR ERR_IF_OVERWRITTEN 1 ; Now overwrite it with real code ORG $6000 ; The following generates no errors or warnings. fun: PROC MVII #ISR, R0 MVO R0, $100 SWAP R0 MVO R0, $101 ;... ENDP ; This code, however, will trigger an error, because it's overwriting ; the code we just assembled at 'fun': ORG $6000 DECLE 12, 34 ; ERROR - ROM overwrite error on $6000 - $6001 The FORCE_OVERWRITE directive gives you the ability to forcibly overwrite code that was previously assembled with ERR_IF_OVERWRITTEN == 1. Revisiting the previous example: ERR_IF_OVERWRITTEN 1 ; Now overwrite it with real code ORG $6000 fun: PROC MVII #ISR, R0 MVO R0, $100 SWAP R0 MVO R0, $101 ;... ENDP ; With FORCE_OVERWRITE, this code now assembles without errors. FORCE_OVERWRITE 1 ORG $6000 DECLE 12, 34 The FORCE_OVERWRITE directive is meant for use in specialized macros that may wish to "back-patch" code that otherwise should have ERR_IF_OVERWRITTEN turned on. Use it sparingly. There is no way to query the current state of ERR_IF_OVERWRITTEN or FORCE_OVERWRITE. If you need to track that for some reason, wrap these in macros. Truth table: ERR_IF_OVERWRITTEN FORCE_OVERWRITE Result on an overwrite off off No error off ON No error ON off Report an error ON ON No error Note that ERR_IF_OVERWRITTEN tags current code to detect _future_ attempts to overwrite, while FORCE_OVERWRITE affects the code you're assembling right now. For example, this still generates an error, because the first DECLE was assembled with ERR_IF_OVERWRITTEN == 1: ERR_IF_OVERWRITTEN 1 ORG $6000 DECLE 1234 ERR_IF_OVERWRITTEN 0 ORG $6000 DECLE 3456 Conversely, this example does _not_ generate an error: ERR_IF_OVERWRITTEN 0 ORG $6000 DECLE 1234 ERR_IF_OVERWRITTEN 1 ORG $6000 DECLE 3456
  15. It's in the usual place: http://spatula-city.org/~im14u2c/intv/ jzIntv NEW: Randomize GRAM if --rand-mem set. NEW: bb and bi debugger commands to halt on dropped BUSRQ or dropped interrupt. NEW: Debugger now shows the exact range of instructions that triggered a NON_INT warning, as well as what cycle it started. Cycle accounting has changed slightly to include the first non-interruptible instruction in the total count. NEW: ni command to set the NON_INT threshold. Default threshold raised to 54 due to accounting changes. AS1600 BUGFIX: Fix minor memory leaks in the assembler. (Harmless, but a code hygiene issue.) NEW: Allow specifying the number of hex values to display on each line of the listing, and what column code begins in. See LISTCOL in doc/utilities/as1600.txt MISC: Remove some dead code. Example code BUGFIX: Fix NOT issues in util.mac, terminal/ansi.asm NEW: Add IV_HUSH command to Intellivoice driver (examples/library/ivoice.asm) MISC: Set default ECS compatibility to "tolerates" rather than "requires" in csumexec. The NON_INT related changes are particularly useful if you're running into weird graphic glitches related to non-interruptible instructions. The updated NON_INT tracker outputs more useful information than in the past.
  16. Happy holidays, y'all! I've put together a nice jzIntv / SDK-1600 update to round out the year with. Updates in this release: Lots of documentation updates for existing and new AS1600 features in ./doc/utilities/as1600.txt Improved documentation on expression list support Improved documentation on CFGVAR support, including tables describing the supported metadata variables and their meaning. NEW: TODAY_STR_xxx and TODAY_VAL_xxx functions that return the current date and time NEW: Expression-list slicing and indexing Updates to cart.mac NEW: Better documentation regarding static vs. dynamic-paged ROM segments NEW: Explicitly mark which segments are static vs. dynamic, and adapt ROMSEGSZ to select among static segments. NEW: Add CURROMSEG and CURROMPAG symbols to query the current ROM segment number and, for dynamic-paged segments, what Mattel page number it's using. Switch to DZ-Jay's ECS detection algorithm Updates to AS1600: NEW: Add a -v flag to report assembler version (SVN revision number) NEW: Add long-option spellings for flags NEW: Add --help (aka. -h or -?) usage information NEW: TODAY_STR_xxx / TODAY_VAL_xxx support (mentioned above) Bugfixes to expression-list handling Updates to jzIntv: NEW: Reports SVN revision number Randomize JLP memory and Intellicart memory when given --rand-mem Document flags which control border area in --help output Rename tutorvision_compat to tv_compat, as it was already tv_compat most places in the source. Minor cleanups suggested by various sanitizers and warnings from different compiler environments. (Trying to keep it clean for -Werror.) Also, the Windows build is now built with GCC 7.2.0 rather than GCC 6.3.0. Not sure that makes a huge difference. Go check it out: http://spatula-city.org/~im14u2c/intv/
×
×
  • Create New...