Jump to content

jzintv osx


Recommended Posts

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".


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:


jzIntv v1.0

Copyright 2016, Joseph Zbiciak
Portions Tim Lindner, John Tanner, Rick Reynolds, Pedro Giffuni,
copyright: Joe Fisher, Frank Palazzolo, Kjell Breding, Daniele Moglia,
Marco Turconi, Andrea Mazzoleni (scale2x/3x/4x),
Markus Oberhumer (minilzo), Oscar Toledo (AVI),
Jean-loup Gailly (zlib), Mark Adler (zlib)

jzintv [flags] gamefile

Specifying a game image:
jzIntv supports most, if not all, known formats for Intellivision
game ROM images. When invoking jzIntv, provide the full path to
the game-image file. If you omit the file extension, jzIntv will
search for an appropriate file by trying the following extensions:
.rom, .bin, .int, and .itv. The overall ROM search process is
somewhat involved. See the jzIntv documentation for details.

If the filename ends in .bin, .int, or .itv, or if jzIntv does not
recognize the file's extension, it will assume the file is in BIN+CFG
format. In that case, jzIntv will look for a matching .cfg file.

Systems with case-sensitive file names (Linux, UNIX, etc.) need to
ensure the filename extensions are in lower-case. On all systems,
jzIntv expects to receive file names with lower-case extensions.

ROM Image Flags:
-e /path/to/exec.bin Specifies path to the EXEC ROM image.
--execimg=/path/to/exec.bin By default, jzIntv looks in current dir.

-g /path/to/grom.bin Specifies path to the GROM ROM image.
--gromimg=/path/to/grom.bin By default, jzIntv looks in current dir.

-E /path/to/ecs.bin Specifies path to the ECS ROM image
--ecsimg=/path/to/ecs.bin By default, jzIntv looks in current dir.
Only needed when ECS is enabled.

Intellivision Hardware Flags:
-s# --ecs=# ECS. 0: Disable, 1: Enable
-v# --voice=# Intellivoice. 0: Disable, 1: Enable
-W# --voicewindow=# Sets averaging window for voice filter.
-Vname --voicefiles=name Saves voice WAV files to name####.wav.

Video and Sound Flags:
-z --displaysize= Desired display mode:
can be a string of the form
XDIMxYDIM,DEPTH such as "320x200,8"
or a single digit specifying a built-in
resolution from the following set.
0: 320x200,8bpp
1: 640x480,8bpp
2: 320x240,16bpp
3: 1024x768,8bpp
4: 1680x1050,8bpp
5: 800x400,16bpp
6: 1600x1200,32bpp
7: 3280x1200,32bpp

--resolution= Synonym for --displaysize
-f# -x# --fullscreen=# Full screen display:
0: Windowed
1: Full screen
--prescale= Enable prescaler . Use the flag
"--prescale=-1" to print a list of the
supported prescalers.
--gfx-palette= Load alternate palette from
-G# --gramsize=# Change number of GRAM tiles
0: 64 tiles (standard)
1: 128 tiles
2: 256 tiles (INTV88)

-a# --audiorate=# Audio sampling rate. 0 disables audio.
--audio=# Synonym for --audiorate.
-Fname --audiofile=name Records all audio to specified file.
-w# --audiowindow=# Sets averaging window for audio filter.
-B# --audiobufsize=# Internal audio buffer size.
-C# --audiobufcnt=# Internal audio buffer count.
-M# --audiomintick=# Minimum Intellivision cycles between
explicit calls to snd_tick().

Input Configuration Flags:
Currently, jzIntv does not offer a flexible method to re-bind keys.
The kbdhackfile does allow you to crudely specify key bindings.

--kbdhackfile=/path/to/file Configure key bindings.

-m# --kbdmap=# Specify initial keyboard map (0-3)

Analog and USB joysticks have a rich set of configuration parameters.
Run jzIntv with an empty configuration string to find out defaults
are for your joystick and operating system. For more information on
configuring joysticks, see the file jzintv/doc/jzintv/joystick.txt

--js0="config string" Configures Joystick #0
--js1="config string" Configures Joystick #1
--js2="config string" Configures Joystick #2
--js3="config string" Configures Joystick #3

The Classic Game Controller can drive either the Master Component or
the ECS' controller inputs. The following flags associate CGCs with
controllers. They also specify the path to the CGC's device node:

--cgc0=/path/to/cgc CGC for Master Component inputs.
--cgc1=/path/to/cgc CGC for ECS inputs.

Intellicart .ROM emulation specific flags:
-c# --icartcache=# Change caching policy for Intellicart
.ROM programs:
0: Cache bankswitched memory (default)
1: Don't cache bankswitched memory
2: Only cache read-only, non-banksw.
3: Do not cache anything.

Debugger flags:
-d --debugger Enable jzIntv's debugger.
--sym-file=path Load symbol table from 'path'.
--src-map=path Load source/listing map from 'path'.
--script=path Execute debug commands from 'path'.
--rand-mem Randomize memories on startup

Misc Flags:
-r# --ratecontrol=# \_ Speed up by factor #. Setting #
--macho=# / to 0 disables rate control.

-p path --rom-path=path Append path to the ROM search path.

-q --quiet Hide jzIntv's non-error output.

--gui-mode Tells jzIntv to listen for commands from
a GUI over stdin.

-J path --jlp-savegame=path Enable JLP-style save-game support with
'path' as the save-game file.

--file-io Enable Emu-Link File-IO support
(See examples/fileio/fileio.asm)

-l --license License information
-h -? --help This usage info

JZINTV_ROM_PATH Controls ROM search path. Components of
the ROM search path should be separated
by ":" characters. jzIntv examines
dirs specified by --rom-path before
dirs specified by JZINTV_ROM_PATH.



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


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.


  • Like 1
Link to comment
Share on other sites

Guiintv is a good idea and should help many people. I have a question.


Is it possible, on a mac, to turn jzintv into an "Automator" application with a bash script?



Making an "automator" application on a mac is quick and easy. The bash script can be similar to your command line but with "$1" (include quotes) in place of romimagename. I would try it but I don't have a mac.


Edited by mr_me
Link to comment
Share on other sites


i have no idea

but i can give it a try, but i'm suspect to handle the automator costs me more effort as to write 150 batch files, even if i used it just a week ago (for the first time).


the idea is to mark a romimage in the finder and to select "service -> jzintv" as i suggest.

certainly a nice idea and the icons can even be attached to the roms if someone likes that.


but i'm not sure how flexible it is to tell "this rom needs ecs" (if not turned on automatically) or "this game i like to play with keymap 1" or a different keyhack file

(very handy if you need to start with ecs keyboard support "-m2").


that's why i like the batch files even better as GUIntv, i can configure a game seperately if that is needed.

if i need a list that tells which rom needs which flags, of what i can imagine to use in a automated process, i can also write the batch files it's almost the same effort.




and in the end we have another GUIntv?

Edited by Gernot
Link to comment
Share on other sites

a very simple way to use the automator is,


select application (or program) as new project

drop "execute shell script" (or similar i work with a german osx) in the process window


enter a command string like this into "execute shell script"

applications/jzIntv/jzintv -p applications/jzintv/rom -z3 -a11025 --kbdhackfile=applications/jzintv/keyhack.txt "$1"

and save it as program (.app)


the resulting "progrämmli" will try to send any file to jzintv you drop on it or mark and doubleclick together with it.

unfortunately each with the same settings.



but well a real GUI should offer the game in a window along with it's overlays and manual.

it should offer to configure each game seperately by supporting all options.

they should run from by doubleclick on a icon or the box front-image

(while to large is as bad as to small and i don't need to know the checksum, year, developer, distributor, but i like to see what game it is).

a comfortable way to edit (and load different) keyhack file(s) would be sugar (DOS-Box offers this internally and it's really simple and good, it also just uses a keyhack file).



but as long as i don't have such i'm satisfied with my executables, but i will see what i can get out of the automator.

Edited by Gernot
  • Like 1
Link to comment
Share on other sites

Thanks for your help.


So does your automator application work?


Does it fail without the -p switch specifying the rom path? Is the -a switch required?


In Windows I have two bat scripts, one for ecs and one for everything else. Each script checks for a hackfile with the same filename and path as the game rom file. If no such hackfile exists it falls back to a common hackfile. That way each game can have a unique hackfile.

Link to comment
Share on other sites

of course, while it's still the simple application which stupidly runs jzintv with the dropped on file, but it's handy i.e. to see if a image works.


except for the script it will look pretty the same on my windoze at home, i'm using a mac only when i stay in my moms house.

i can see no use of many hackfiles, imo one is enough, a two player profile (or even four if you like) and a second one player profile with l/r seperated disc and number input,

that's enough if you use a 10 or 12 btn pad with at least one analog stick and a hat.

of course i can imagine that many games profit from a special keymapping.

on the other hand if it's mapped always the same you know instinctively which to press. you can reach the numbers with the hat except 5 and 0, both can be mapped well on a 12 btn pad.

if you use a dual stick controller you can map both sticks to the same disc for the single player mapping to move and press numbers simultaneousely.

a cosoles controller is usually mapped always the same unlike dos games where you have to map half of the keyboard to your gamepad.


the rom path must be specified except jzintv is called from the directory the roms stay in (in the case for the app it would be enough "where the system roms stay", i recognized i can play roms from any folder since the app runs jzintv from thev folder the dropped on rom stays in) else it will fail, but you can define a environment variable which remembers the rom path(s), i never tried it doesn't make it simpler from my pov, it will be handy for a GUI i guess.

-p as well as "env" allows to specify multiple paths.


-a isn't required and honestly i don't know what the default sample frequency of jzintv is, but i found out lower sounds to me better, even 8000Hz (do i really wrote kHz before? shame on me).


personally i like to have the games in a folder where i can run each without noticing that a emulator is running, just doubleclick on it and play.

whatever that might be, amiga, mame, dos, inty.


you can use one script i guess and set the ecs flag in the shortcut if your batch asks for %1 (or %2 etc), similar to my example.

  • Like 1
Link to comment
Share on other sites

Just to confirm; you are putting exec.bin and grom.bin in the "applications/jzIntv/rom" folder and it fails if you don't include "-p applications/jzintv/rom" switch.


If that is the case it's different behaviour on Windows. On Windows [and Linux], exec and grom are found without the -p switch.

Edited by mr_me
Link to comment
Share on other sites

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.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...