Sun Aug 30 14:33:21 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.75.

	* arch/msdos/petui.c: Added some menu shortcuts.

	* resources.c (resources_save): Copy the other emulators' sections
	correctly.

Sat Aug 29 21:06:44 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.74.

Sat Aug 29 17:06:23 1998  Dag Lem  <resid@nimrod.no>

	* Makefile.am: reSID library dependencies removed.

	* c64/Makefile.am: Workaround for automake AM_CONDITIONAL bug.

Sat Aug 28 14:27:51 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* arch/unix/xaw/c128ui.c: Updated SID menu to support reSID as the
	x64 does.

	* arch/msdos/c64ui.c, arch/msdos/c128ui.c: Separate toggle for
	reSID emulation.

Fri Aug 28 11:40:06 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.73.

	* arch/msdos/ui.c (ui_extend_image_dialog): Implemented, using
 	`tui_ask_confirmation()'.

	* arch/msdos/tui.c (tui_ask): New function.

	* 6510core.c (BRANCH): Do not increment PC before using `value'.

	* sounddrv/soundsb.c (interrupt_function): When underflowing,
 	repeat the last sample instead of playing zeros.

	* arch/msdos/vsync.c (my_timer_callback): Removed check for
 	`timer_patch' > 0.
	(do_vsync): Moved here.

Thu Aug 27 23:01:49 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* main.c (MAIN_PROGRAM) [__MSDOS__]: Do not print the boot path
	debugging message anymore.

Thu Aug 27 16:59:43 1998  Teemu Rantanen  <tvr@cs.hut.fi>

	* c64/sid.c (sid_reset): Oooops.  Use sound_store() instead of
 	store_sid().  Zero the siddata -array.

Thu Aug 27 18:51:17 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.72.

	* autostart.c (set_true1541_mode): Update menus.

	* 6510core.c (BRANCH): Aaargh!  Check for page boundary crossing
	was broken by accident on Jun 2, 1998.  Fixed now.

	* attach.c (file_system_attach_disk): If `serial_select_file()'
	fails, call `file_system_detach_disk()' on the same unit to make
	sure the FS is still visible if enabled.

	* c64/c64.c (machine_reset): Reset the VIC-II last.
	* c128/c128.c (machine_reset): Likewise.

Thu Aug 27 12:29:05 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* arch/msdos/menudefs.c: Menu items for selecting
 	`SoundSpeedAdjustment'.

	* arch/msdos/vsync.c: Made finetuning available to Allegro too.

Wed Aug 26 22:02:05 1998  Teemu Rantanen  <tvr@cs.hut.fi>

	* c64/arch/msdos/vsync.c (my_timer_callback, patch_timer,
 	do_vsync): Implemented VICE runspeed finetuning (`Exact'
 	-synchronization) for MSDOS too.

Wed Aug 26 19:23:36 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.71.

Wed Aug 26 18:09:23 1998  Andreas Boose  <boose@linux.rz.fh-hannover.de>

	* c64/c64iec.c (iec_cpu_write): Removed call to `set_atn()'.
	Call `viaD1_signal()' every time when the state of the ATN line
	changes.  New variable `iec_old_atn'.

Wed Aug 26 18:03:03 1998  Teemu Rantanen  <tvr@tekla.fi>

	* src/sound.c (sound_flush): Argh, mixed sound_adjustment
	modes and forgot to adjust if mode is flexible.

Wed Aug 26 14:31:01 1998  Teemu Rantanen  <tvr@cs.hut.fi>

	* c64/sid.c (read_sid, store_sid): Handle possible VIC-II DMA.

	* c64/sid.c: Added include "vicii.h".

	* c64/resid.cc (resid_sound_machine_calculate_samples): Make sure
 	clk -variables don't overflow.  Note that these are not directly
 	related to the `clk', so prevent_clk_overflow cannot be used.

Wed Aug 26 12:21:26 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* mon.c (mon_switch_checkpoint): Added missing braces around
	`else' statements.

	* sounddrv/soundsb.c (sb_write): Write warning message when
	attempting to write non-full fragments.

	* sound.c (sound_flush): Use `alloca()' instead of
	`xmalloc()'/`free()'.

Tue Aug 25 00:47:23 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.70.

	* sounddrv/soundsb.c (sb_write): Disable interrupts while writing
	the fragment.

	* arch/msdos/menudefs.c: Unified sample rates in the MIDAS and
	MIDAS-less versions.

	* arch/msdos/vsync.c (register_timer_callback): Setup the timer
	more precisely using `install_int_ex()' instead of
	`install_int()'.

	* c64/sid.c (read_sid) [HAVE_MOUSE]: Use the upmost 6 bits of the
	mouse position instead of the middle ones.

	* mos6510.h (MOS6510_REGS_GET_X): Fixed `a' -> `x' typo.
	(MOS6510_REGS_SET_X): Likewise.

	* mon.c [__MSDOS__]: Added some DOS-specific #includes.
	(mon) [__MSDOS__]: Setup the screen, and restore graphics mode on
	exit.

	* arch/msdos/menudefs.c (mon_trap): Removed screen setup.

	* mon.c (mon): `#ifdef __MSDOS' replaced with `#ifdef __MSDOS__'.

	* kbdbuf.c (kbd_buf_feed): Fill the queue from the correct
	starting position.

	* autostart.c (autostart_advance): Use `alloca()' instead of
 	`xmalloc()'/`free()'.
	(autostart_advance): If traps are disabled, feed `RUN' + RETURN
	into the buffer immediately.

	* kbdbuf.c (kbd_buf_feed): Flush buffer.

	* autostart.c (disk_attention_callback): New function.  Put `RUN'
 	+ RETURN in the keyboard buffer and set `disk_eof_callback()' as
 	the EOF callback function.
	(disk_eof_callback): Do not put `RUN' into the keyboard buffer
 	anymore.
	(autostart_advance): Instead of setting `disk_eof_callback()' as
 	the callback function for EOF, set `disk_attention_callback()' as
 	the callback function for ATN.

	* serial.c (serial_set_attention_callback): New function.
 	(serialattention): Call callback function.

Mon Aug 24 14:16:53 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.69.

	* autostart.h: #include "types.h".

	* serial.h (serial_set_eof_callback): Added (missing) prototype.

	* resources.c: Removed some warning messages.

	* pet/petsound.h: #include "types.h".

	* pet/petsound.c: #include "petsound.h".
	(sound_machine_open): Initialize rate to 4.

	* serial.c (parallelreceivebyte): Call `eof_callback_func()' at
 	EOF.

	* Version 0.14.2.68.

	* autostart.c: Use `serial_set_eof_callback()' to recognize end of
	loading instead of waiting for the `READY.' prompt.

	* serial.c (serial_set_eof_callback): New function; specifies a
 	callback function for the EOF condition on `serialreceivebyte()'.
	(serialreceivebyte): Call specified callback function on EOF.

	* traps.c (traps_handler): Save the resume address into a
 	temporary value before calling the trap function; use the
	temporary value instead of `p->trap->resume_address()'.  This way,
	the trap function can even remove trap themselves.

	* mon.c (mon_check_icount): If `MI_STEP' is set, disassemble the
	current instruction.
	(mon_delete_checkpoint): Do not free `bp' if NULL.

	* fs_cbm.h: Removed `C1541_VERSION_MAJOR', `C1541_VERSION_MINOR'
 	#defines.
	* c1541.c: Moved here.

	* mon_parse.y: Parser error values incremented by 1.

	* sound.h: #define `SOUND_ADJUST_FLEXIBLE',
 	`SOUND_ADJUST_ADJUSTING', `SOUND_ADJUST_EXACT'.
	* arch/unix/xaw/uisettings.c: Use them instead of hardcoded
	values.
	* sound.c (sound_flush): Use them instead of hardcoded values.

	* types.h: Typedef `SWORD' and `SDWORD'.

	* sound.h: Removed `SWORD' and `SDWORD' typedefs.

	* c64/sid.c (store_sid): RMW warning `#if 0'ed out.

Mon Aug 24 12:37:24 1998  Andreas Boose  <boose@linux.rz.fh-hannover.de>

	* via-tmpl.c (myviata): Removed incorrect fix by Ettore.
	(reset_myvia): Initialize timer values to 0xff.

Mon Aug 24 11:56:37 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* mon.c (mon_watch_push_load_addr): Removed `assert()'.
	(mon_watch_push_store_addr): Removed `assert()'.

	* 6510core.c (BRK): Removed bogus `INC_PC()'.

	* maincpu.c (reset): Preserve the `IK_MONITOR' condition.

	* 6510core.c (DO_INTERRUPT): No longer preserve the `IK_MONITOR'
 	condition.

	* true1541/1541cpu.c (true1541_cpu_reset): Preserve the
	`IK_MONITOR' condition.
	(reset): Likewise.

Sun Aug 23 18:51:37 1998  Teemu Rantanen  <tvr@cs.hut.fi>

	* arch/unix/xaw/uisettings.c (SoundSpeedAdjustment,
 	sound_settings_submenu, set_sound_adjustment_submenu,
 	sound_settings_submenu): Changed 'Speed adjustment' from toggle to
 	three-state radio button. States 0/1 are as earlier and new state
 	2 specifies exact 1:1 syncronization between soundcode and VICE
 	run speed.

	* arch/unix/vsync.c (timer_patch, patch_timer,
 	update_elapsed_frames): Implemented VICE runspeed finetuning.
  	VICE can go forward/backward one frame on request.  This is used
 	by exact 1:1 sound syncronization code.

	* arch/unix/vsync.c (do_vsync): Use sound_flush() return value to
	finetune VICE runspeed.

	* sound.c (speed_adjustment_enabled, resources): Renamed to
 	'speed_adjustment_setting'.

	* sound.c (set_speed_adjustment_enabled, resources): Renamed to
	set_speed_adjustment_setting'.

	* sound.c (cmdline_options): New option '-soundsync'.

	* sound.c (sound_flush): Finetune VICE runspeed every second if
 	using new exact 1:1 sound syncronization.

	* c64/sid.c (lastsidread): Store value read from SID last time.

	* c64/sid.c (read_sid): Modified to store read value to
 	'lastsidread'.

	* c64/sid.c (store_sid): Implement rmw -instructions.

	* c64/sid.c (sid_reset): We have 32 registers, not 64.

	* vic20/vic20sound.c: Major cleanup of obsolete code.

	* c64/resid.cc: Modified to use reSID-0.3 interface.

	* c64/resid.h (resid_sound_machine_open): New parameter (sid) model.

	* c64/resid.cc (resid_sound_machine_open): Added chip selection.

	* c64/sid.c (sid_useresid, set_sid_useresid, resources,
 	cmdline_options): Added new option 'SidUseResid'.

	* c64/sid.c (cmdline_options, sound_machine_open): Use new
 	'SidUseResid' -option.

	* arch/unix/xaw/c64ui.c (sid_model_submenu, SidUseResid,
 	sid_submenu): New toggle to use reSID.

Sun Aug 23 18:35:53 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.67.

	* mon_parse.y (parse_and_execute_line): Errors interrupt assembler
	mode.

	* mon.c: Type of `default_radix' changed to `RADIXTYPE'.  Type
	of `default_memspace' changed to `MEMSPACE'.

	* mon_parse.y: When `CMD_RADIX' is invoked without any parameters,
 	print the radix as a string instead of showing a number.

	* mon.c (mon_hunt_memory): Do not accept range if it's smaller
	than the size of the data to hunt.

	* mon_lex.l: Newline ends string.

	* c128/c128cpu.c (JAM): Use `reg_pc' instead of
	`maincpu_cpu_regs.pc', which does not exist anymore.

	* Version 0.14.2.66.

Sun Aug 23 17:45:42 1998  Andreas Boose  <boose@linux.rz.fh-hannover.de>

	* c64/cartridge.c (cartridge_attach_image): Do not detach
 	cartridge when attaching the same cart type again.

Sun Aug 23 16:28:33 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* mon.c: Implemented command descriptions.
	(mon_print_help): Display some real help.

	* mon.h: New members `param_names' and `description' in `struct
 	mon_cmds'.

Sun Aug 23 00:36:09 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.65.

	* true1541/1541cpu.c (true1541_cpu_execute): Let the CPU use
	`true1541_cpu_regs' instead of local copies of the registers.

	* true1541/true1541.c (true1541_trap_handler): Updated to use the
 	new `MOS6510_REGS_*' macros.

	* traps.c (traps_handler): Updated to use the new `MOS6510_REGS_*'
 	macros.

	* true1541/true1541.c: Removed unused variable `init_complete'.

	* tapeunit.c (findheader): Updated to use the new
 	`MOS6510_REGS_*' macros.
	(writeheader): Likewise.
	(tapereceive): Likewise.

	* 6510core.c (EXPORT_REGISTERS): Updated to use the
 	`mos6510_regs_t'.
	(IMPORT_REGISTERS): Likewise.

	* mon.c (mon_get_reg_val): Updated to use the new `MOS6510_REGS_*'
 	macros.
	(mon_set_reg_val): Likewise.
	(mon_print_registers): Likewise.

	* serial.c (serialcommand): Updated to use the new
 	`MOS6510_REGS_*' macros.
	(serialattention): Likewise.
	(serialsendbyte): Likewise.
	(serialreceivebyte): Likewise.
	(trap_serial_ready): Likewise.

	* misc.c (eff_address): Removed.

	* mos6510.h: `p' in `mos6510_regs_t' made a BYTE.  Added `_flag_n'
 	and `_flag_z'.  Definitions of `P_SIGN', `P_OVERFLOW', `P_UNUSED',
 	`P_BREAK', `P_DECIMAL', `P_INTERRUPT', `P_ZERO' and `P_CARRY'
 	moved here.  With these changes, `mos6510_regs_t' is compatible
 	with the setup used in the CPU emulations.
	(MOS6510_REGS_SET_A): New macro.
	(MOS6510_REGS_SET_X): New macro.
	(MOS6510_REGS_SET_Y): New macro.
	(MOS6510_REGS_SET_SP): New macro.
	(MOS6510_REGS_SET_PC): New macro.
	(MOS6510_REGS_SET_OVERFLOW): New macro.
	(MOS6510_REGS_SET_BREAK): New macro.
	(MOS6510_REGS_SET_DECIMAL): New macro.
	(MOS6510_REGS_SET_INTERRUPT): New macro.
	(MOS6510_REGS_SET_CARRY): New macro.
	(MOS6510_REGS_SET_SIGN): New macro.
	(MOS6510_REGS_SET_ZERO): New macro.
	(MOS6510_REGS_SET_STATUS): New macro.
	(MOS6510_REGS_GET_A): New macro.
	(MOS6510_REGS_GET_X): New macro.
	(MOS6510_REGS_GET_Y): New macro.
	(MOS6510_REGS_GET_SP): New macro.
	(MOS6510_REGS_GET_PC): New macro.
	(MOS6510_REGS_GET_OVERFLOW): New macro.
	(MOS6510_REGS_GET_BREAK): New macro.
	(MOS6510_REGS_GET_DECIMAL): New macro.
	(MOS6510_REGS_GET_INTERRUPT): New macro.
	(MOS6510_REGS_GET_CARRY): New macro.
	(MOS6510_REGS_GET_SIGN): New macro.
	(MOS6510_REGS_GET_ZERO): New macro.
	(MOS6510_REGS_GET_STATUS): New macro.

	* 6510core.c: Definitions of `P_SIGN', `P_OVERFLOW', `P_UNUSED',
 	`P_BREAK', `P_DECIMAL', `P_INTERRUPT', `P_ZERO' and `P_CARRY'
 	moved here.

	* mon_parse.y (monitor_state_rules): Use `_mon_space_strings'
	instead of `SPACESTRING'.

	* mon.c: New const `_mon_space_strings'.

	* mon.h (SPACESTRING): Removed.

	* mon.c (mon_assemble_instr): Use current memspace instead of
 	`ram'.
	(make_prompt): Turned into a static function.

	* via-tmpl.c: Code cleaned up a bit.  Some huge #defines turned
 	into inline functions.
	(myviata): If the latch is zero, always return 0.  I am not sure
 	this is correct, but at least it makes Chris' Geos 1.1 "beta"
 	image work.
	(update_myviatal): New parameter `rclk'.

	* arch/unix/xaw/uicommands.c (attach_disk): Added `[GDX] to the
 	file mask.

Sat Aug 22 19:52:12 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.64.

	* arch/msdos/menudefs.c (quit_callback): Removed greeting message.

	* arch/msdos/ui.c (ui_exit): Set 25-line mode and print greeting
 	message (using `cprintf()' to avoid being logged).

	* mon.c (mon): If `exit_mon' is 2, leave program.

	* mon_parse.y: `CMD_QUIT' sets `exit_mon' to 2 instead of calling
 	`exit()'.

	* mon.c: New variable `mon_input'.
	(mon) [!__MSDOS__]: Initialize it to `stdin'.
	(mon) [__MSDOS__]: Open "CON" as `mon_input' and `mon_output';
	close it on exit.

	* arch/msdos/log.c (log_disable): Do nothing.

	* mon.c: Removed static initialization of `mon_output'.
	(mon): Initialize `mon_output'.

	* arch/msdos/menudefs.c (quit_callback): Call `serial_remove(-1)'
	before `log_disable()'.

	* Version 0.14.2.63.

	* 6510core.c (DO_INTERRUPT): Reset keeps `IK_MONITOR'.

	* mon.c (mon_watch_push_store_addr): Check
 	`watch_store_count[mem]' for being less than 10 (not 5).
	(mon_watch_push_load_addr): Check `watch_load_count[mem]' for
 	being less than 10 (not 5).

	* arch/unix/xaw/uisettings.c (load_resources): Try to be a little
	more informative if an error happens.

	* arch/unix/xaw/ui.c (ui_init_finish): Don't add the `Close()'
 	action anymore.
	(ui_init): Do it here instead.
	(ui_popup): If no AppWindow is available, center to the root
 	window.
	(ui_create_transient_shell): Do not translate `WM_PROTOCOLS' into
	`Close()' on the newly created transient shell anymore.

	* main.c (MAIN_PROGRAM) [!__MSDOS__]: If the resource file is not
	valid, report an error message via `ui_error()'.

	* resources.c (resources_load): Return the proper error code.
	(resources_save): Likewise.

	* resources.h: New error codes `RESERR_FILE_NOT_FOUND',
	`RESERR_FILE_INVALID', `RESERR_READ_ERROR'.

Fri Aug 21 13:52:47 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.62.

	* arch/unix/kbd.c (kbd_event_handler): Call `check_clr_joykeys()'
	and `check_set_joykeys()' with the correct `joynum' parameter.
	(check_clr_joykeys, check_set_joykeys): If neither of
	`joystick_port_map[0]' and `joystick_port_map[1]' is equal to
	`joynum', return 0.  Use the correct table.

	* arch/unix/joystick.c (joyport1select, joyport2select): Do not
 	call `kbd_flag_joykeys()'.

	* arch/unix/kbd.c: Removed `use_keypad[]'.
	(kbd_flag_joykeys): Removed.

	* arch/unix/joystick.c (joystick): Removed unnecessary operations
 	on `joy[1]'.

	* arch/msdos/joystick.c (joystick_handle_key): Inverted `joy[1]'
	and `joy[2]'.

	* arch/msdos/mouse.c (my_mouse_callback): Replaced `joy[2]' with
 	`joy[1]'.

	* c64/c64cia1.def (READ_CIAPB, READ_CIAPA): Inverted `joy[1]' and
 	`joy[2]'.

	* arch/unix/joystick.c (joystick): Inverted ports.

	* main.c (MAIN_PROGRAM) [!JOYSTICK]: Initialize joystick
	command-line options anyway.

	* arch/unix/vsync.c (do_vsync) [HAS_JOYSTICK]: Call `joystick()'.

	* arch/unix/Makefile.am: Add `@JOYSTICK@' to `INCLUDES'.
	* arch/unix/xaw/Makefile.am: Likewise.
	* Makefile.am: Likewise.

	* arch/unix/xaw/uimenu.c (make_menu_label): Updated
	`UI_HOTMOD_CTRL' -> `UI_HOTMOD_CONTROL'.

	* Version 0.14.2.61.

	* arch/unix/kbd.c (kbd_event_handler): Restore moded to
 	`XK_PageUp'.

	* arch/unix/xaw/petui.c (pet_ui_init): Added
 	`ui_smart_attach_commands_menu' to the left menu.

	* arch/unix/xaw/vic20ui.c (vic20_ui_init): Added
	`ui_smart_attach_commands_menu' to the left menu.

	* arch/unix/xaw/uihotkey.h: `UI_HOTMOD_CTRL' renamed to
 	`UI_HOTMOD_CONTROL'.

	* arch/unix/xaw/uicommands.c: All hotkeys use Meta instead of
 	Control.
	* arch/unix/xaw/uisettings.c: Likewise.
	* arch/unix/xaw/c64ui.c: Likewise.

	* arch/unix/kbd.c: #include "vice.h" before anything else.
	(kbd_event_handler): Filter keys when Meta is pressed, instead of
	when Control is pressed.

	* arch/unix/xaw/ui.h: `ALT_AS_META' #define moved here.

	* arch/unix/xaw/uihotkey.c: Removed `ALT_AS_META' #define.

	* arch/unix/xaw/uihotkey.c (ui_hotkey_event_handler): Use only
	Meta as a possible hotkey modifier.

	* vic20/vic20mem.c (initialize_memory): Let enabled cartridge ROM
 	blocks override RAM (instead of the opposite).
	(mem_attach_cartridge): Do not disable RAM where the cartridge is
	attached; just set the corresponding bit in `mem_rom_block' and
	call `initialize_memory()'.
	(mem_detach_cartridge): Do not disable RAM where the cartridge is
	detached; just unset the corresponding bit in `mem_rom_block' and
	call `initialize_memory()'.

Thu Aug 20 12:16:22 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* c64/sid.c: Default is MOS6581 now.

	* arch/msdos/c128ui.c [HAVE_RESID]: Added support for reSID in the
 	"SID Model" submenu.

	* arch/msdos/c64ui.c [HAVE_RESID]: Added support for reSID in the
 	"SID Model" submenu.

Wed Aug 19 12:03:19 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.60.

	* arch/msdos/video.h (canvas_refresh): If we are busy doing a
	previous flip, discard the frame.

	* printer.h: Removed.

	* serial.c: Do not #include "printer.h".

	* arch/unix/xaw/uisettings.c: "Serial settings" renamed to
	"Peripheral settings".  Printer settings moved to the "peripheral
	settings" submenu; emulator-specific UIs updated accordingly.

Tue Aug 18 21:55:52 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* arch/msdos/Makefile.am: Compile `vmidas.c' if `USE_MIDAS_SOUND';
	`vicesb.c' otherwise.

	* arch/msdos/menudefs.c [USE_MIDAS_SOUND]: Disable toggle menu
 	item for triple buffering.

	* arch/msdos/video.c [USE_MIDAS_SOUND]: Disable all the triple
 	buffering stuff.
	(canvas_set_vga_mode) [USE_MIDAS_SOUND]: Do not try to use triple
 	buffering.

Tue Aug 18 21:36:32 1998  Andreas Boose  <boose@unixserv.rz.fh-hannover.de>

	* drive.c (floppy_create_directory): Output some spaces after
	`BLOCKS FREE' message.  Do not calculate any basic link
	information, set it to $0101 instead.

Tue Aug 18 16:37:32 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* arch/msdos/kbd.c (my_kbd_interrupt_handler): Alt filters all the
 	keypresses and does not let them reach the emulator.  PgUp and F12
 	can now be used in keymappings.

	* vic20/vic20sound.c (store_sid): Removed unused variable `i'.

	* c128/c128mem.c (set_reu_enabled): Removed unused Action Replay
 	stuff.

	* pet/pet.c [__MSDOS__]: #include "petkbd.h".

	* arch/msdos/kbd.c (kbd_init): Now allows the caller to specify a
	different shift position for every map.
	(my_kbd_interrupt_handler): Updated accordingly.

	* arch/msdos/kbd.c (my_kbd_interrupt_handler): Reset moved to
	Alt-F12; hard reset moved to Alt-Ctrl-F12.

	* arch/msdos/menudefs.c: New True1541IdleMethod submenu, so that
 	it is possible to select the `TRUE1541_IDLE_NO_IDLE' method.
  	Items for loading/saving/restoring settings moved to a separate
 	`ui_settings_submenu'.
	Added 4x oversampling.

Mon Aug 17 13:33:31 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.59.

	* arch/unix/xaw/uicommands.c (browse_manual): Open
 	`html/vice_toc.html' instead of `MANUAL.html' in `DOCDIR'.

	* arch/unix/kbd.c (kbd_event_handler): Filter out keys when right
	control is pressed.

	* arch/unix/xaw/uihotkey.c (ui_hotkey_event_handler): Handle only
 	right Ctrl; don't handle Shift.  Hotkeys only work with Ctrl now.

Thu Aug 16 23:34:02 1998  Teemu Rantanen  <tvr@cs.hut.fi>

	* c64/resid.h (resid_sound_machine_dump_state): New prototype.

	* c64/resid.cc (resid_sound_machine_dump_state): Dummy until Dag
 	finds some use for it :-)

	* c64/resid.cc: Added include utils.h (stralloc).

	* c64/sid.c (sound_machine_dump_state): Call
 	resid_sound_machine_dump_state when using reSID.

	* vic20/vic20sound.c (store_sid): Added gateflip -check for voice
 	3.

	* vic20/vic20sound.c (sound_machine_dump_state): Dump clk+volume.
  	Feel too lazy for voices...

Sun Aug 16 21:02:39 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* arch/msdos/ui.c (ui_toggle_drive_status): If disabling the drive
 	LED, turn the corresponding LED off.
	(ui_autorepeat_on): Removed.
	(ui_autorepeat_off): Removed.

Sun Aug 16 13:54:07 1998  Andreas Boose  <boose@unixserv.rz.fh-hannover.de>

	* fsdevice.c (open_fs): Use parsed file name to find P00 files.

	* autostart.c (autostart_disk): Call `file_system_detach_disk()'
 	if attaching as a disk image fails.

Sun Aug 16 10:29:33 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* arch/msdos/joystick.c (handle_keyset_mapping): Return type
 	changed to `int'.  Return nonzero if the key was used; zero
 	otherwise.
	(joystick_handle_key): Return the correct value, as expected by
	the caller.

	* arch/msdos/c128kbd.c: Added special C128 keys.

	* c128/c128.c (machine_init): Enabled support for extended
	keyboard rows in the VIC-II and in the CIA #1.

	* c64/c64.c (machine_init): Disable support for extended keyboard
	rows in the VIC-II and in the CIA #1.

	* c64/vicii.c: Added support for the C128 extended keyboard rows.
	(vic_ii_enable_extended_keyboard_rows): New function.
	(store_vic): $D02F selects extended keyboard rows.

	* c64/c64cia1.def: Added support for the C128 extended keyboard
 	rows.
	(cia1_enable_extended_keyboard_rows): New function.
	(cia1_set_extended_keyboard_rows_mask): New function.
	(READ_CIAPB): Handle extended keyboard rows.

	* arch/msdos/vsync.c (register_timer_callback): Actually use the
	user-specified timer speed.

	* emuid.c: Fixed emulator ID: version 0.15; a couple of typos
 	corrected.

Sat Aug 15 23:53:51 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* arch/msdos/tuifs.c (file_selector_display_path): Draw an
	horizontal line under the path.

Sat Aug 15 16:33:52 1998  Andreas Boose  <boose@unixserv.rz.fh-hannover.de>

	* fsdevice.c (fsdevice_compare_pc64_name): Changed to
 	`fsdevice_compare_wildcards'.
	(fsdevice_compare_file_name): Added parameter `secondary'.  Do not
 	expand the file name of a P00 file.
	(open_fs): Added some debugging output.

	* c64/c64mem.c (store_io1, read_io1): Added banking for Simon's
	Basic cartridge.
	(initialize_memory, mem_attach_cartridge): Added support for generic
	16KB carts and Simon's Basic.

	* c64/cartridge.c (cartridge_attach_image): Handle Simon's Basic
	like a generic 16KB cartridge.

	* cartridge.h: New #define CARTRIDGE_SIMONS_BASIC.

Sat Aug 15 15:18:53 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.58.

	* sound.h: Fixed typo.

	* Version 0.14.2.57.

	* arch/msdos/tuifs.c (file_list_read_lfn): New function derived
 	from old `file_list_read()'; reads the directory with DJGPP's
 	`opendir()'.
	(file_list_read_nolfn): New function; read the directory with
 	MS-DOS `findfirst()'/`findnext()'.
 	(file_list_read): Call `file_list_read_lfn()' if running under
 	Windows 95; call `file_list_read_nolfn()' otherwise.
	(tui_file_selector): Do not redraw the whole window when updating
 	the file selector.

	* c128/c128.c [__MSDOS__]: #include "c128kbd.h".

	* c64/c64.c [__MSDOS__]: #include "c64kbd.h".

	* arch/msdos/menudefs.c (create_special_submenu): New menu item
	for toggling `UseLeds'.

	* arch/msdos/ui.c: #include "cmdline.h"; #include "resources.h".
  	New resource `UseLeds'; new command-line options `-leds' and
 	`+leds'.
	(set_kbd_leds): Do nothing if `UseLeds' is zero.

	* arch/msdos/menudefs.c (create_special_submenu): Fixed relative
 	speed submenu.

	* arch/msdos/vicesb.c: Removed some unused FM stuff.

	* arch/msdos/vicesb.c (vicesb_close): Do not clear the DSP
 	information.
	(vicesb_init): Clear audio buffers.

	* sounddrv/soundsb.c: New file.

	* arch/msdos/vicesb.c, arch/msdos/vicesb.h: New files.

Thu Aug 13 11:44:07 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* arch/msdos/tuimenu.c (tui_menu_handle): New parameter `hotkey'.
	If `hotkey' is nonzero, use its value instead of `getkey()' for
	the first keypress.

	* arch/msdos/kbd.c (kbd_flush_commands): Handle `ui_main()''s
 	`hotkey' parameter.  Alt+{letter,number} opens the main menu and
	the submenu with the matching hotkey, if any.

	* arch/msdos/ui.c (ui_main): Removed parameter `addr'.  Replaced
	by parameter `hotkey'.

	* pet/petvia.def (INCLUDES): #include "petsound.h".

	* c64/c64.c: #include "cartridge.h".

	* 6510core.c (DO_INTERRUPT): Use `do_trap()'; do not use
	`ack_trap()' anymore.

	* interrupt.h: New parameter `data' to member `trap_func' in
 	`struct cpu_int_status'; New member `data' in `struct
 	cpu_int_status'.
	(trigger_trap): New parameter `data', used to initialize
 	`trap_data'.
	(maincpu_trigger_trap, true1541_trigger_trap): New parameter
 	`data'.  Pass it to `trigger_trap()'.
	(ack_trap): Removed.
	(do_trap): Replaced by this one.

	* arch/msdos/kbd.c: Replaced `KCMD_ESC_PRESSED' with `KCMD_MENU'.
	`kcmd_command_t' turned into a struct.
	(queue_command): Parameter `c' replaced with `type' and `data'.

	* vic20/vic20.c: #include "cartridge.h".

	* arch/msdos/vsync.c: #include "sound.h".
	(set_warp_mode): Call `sound_set_warp_mode()'.
	(do_vsync): If warp mode is enabled, do not call `sound_flush()'.

	* sound.c: New variable `warp_mode_enabled'.
	(sound_set_warp_mode): New function.
	(sound_run_sound, sound_flush): If warp mode is enabled, just
 	return.

	* drive.c (floppy_create_directory): Assignment to `tl' moved to
	the correct position.

	* cmdline.c (cmdline_parse): Fixed error message for non-valid
	option parameters.

	* arch/unix/xaw/petui.c (pet_ui_init): Joystick settings moved
	to the second block of submenus.
	* arch/unix/xaw/c64ui.c (c64_ui_init): Likewise.
	* arch/unix/xaw/c128ui.c (c128_ui_init): Likewise.
	* arch/unix/xaw/petui.c (vic20_ui_init): Likewise.

	* arch/unix/xaw/petui.c: #include "peticon.xpm", not
 	"c64icon.xpm".

	* vic20/cartridge.c: #include "zfile.h".
	(cartridge_attach_image): Use `zfopen()'/`zfclose()' instead of
 	`fopen()'/`fclose()'.

	* arch/msdos/vic20ui.c (vic20_ui_init): Add menu items for
	detaching cartridge images to the detach menu.

	* fsdevice.c (fsdevice_set_directory): Removed kludge that deleted
 	the last file name from the path.

	* arch/msdos/mouse.c (my_mouse_callback): Handle the correct mouse
	port.

Wed Aug 12 23:46:58 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* zfile.c (zopen): Removed handling of recursive compression (it
 	caused `zclose()' not to work correctly anymore).

Wed Aug 12 10:20:26 1998  Andr Fachat  <a.fachat@physik.tu-chemnitz.de>

	* vic20/vic20mem.c (read_emuid): Removed toggle.
	(store_emuid): New function, toggles last byte.
	(initialize_memory): Use `store_emuid()' instead of
 	`store_dummy()' for $9f**.

Tue Aug 11 20:16:13 1998  Teemu Rantanen  <tvr@cs.hut.fi>

	* c64/sid.c (setup_voice,doosc): Keep pulse level up when test-bit
 	is set.  Fixes ACE (thanks to Dag).

Tue Aug 11 20:01:53 1998  Dag Lem  <resid@nimrod.no>

	* c64/resid.cc: Modified to use reSID-0.2 interface.

Mon Aug 10 21:18:38 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.56.

	* c128/c128.c (machine_init) [!__MSDOS__]: Call `c128_kbd_init()'
	instead of `c64_kbd_init()'.

	* Makefile.am (x128-all): Added `libc128' dependency.

	* arch/msdos/c128kbd.c, arch/msdos/c128kbd.h: New files.

	* arch/msdos/c128ui.c, arch/msdos/c128ui.h: New files.

Tue Jul 28 00:08:13 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.55.

	* main.c (MAIN_PROGRAM): Initialize joystick resources (even if
	`JOYSTICK' is not #defined).

	* arch/msdos/vsync.c (do_vsync): Do not flush sound when in warp
 	mode.

	* mon.c (readline): Remove all the trailing '\n's and '\r's, if
 	present.

	* arch/msdos/menudefs.c: Added menu to use and define keysets for
	joystick emulation.

	* arch/msdos/joystick.h: Added `JOYDEV_KEYSET1' and
	`JOYDEV_KEYSET2' to `joystick_device_t'.

	* arch/msdos/grabkey.h, arch/msdos/grabkey.c: New files.

	* arch/msdos/joystick.c (joystick_handle_key): Type of `kcode'
	changed to `kbd_code_t'.

	* arch/msdos/joystick.h: #include "kbd.h".

	* arch/msdos/kbd.h: enum `doskbd_codes' changed to a typedef
 	(`kbd_code_t').

	* arch/msdos/kbd.h: Removed `extended_key_tab'.
	* arch/msdos/kbd.c: Moved here; renamed to `_kbd_extended_key_tab'.

	* sounddrv/soundallegro.c: New variable `written_samples'.
	(allegro_bufferstatus): Never return a value greater than
 	`written_samples'.
	(allegro_write): Update `written_samples'.
	(allegro_resume): Set `written_samples' to zero.
	(allegro_init_sound): Likewise.

	* arch/msdos/joystick.c (joystick_update): Fixed `1' -> `2' typo.

Mon Jul 27 11:30:13 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* arch/msdos/video.c (enable_text): Uninstall keyboard interrupt
	before setting gfx mode, instead of after it.

	* sound.c: If audio is running too slow, just don't write anything
	to the sound device.

	* arch/msdos/joystick.c: Default for `JoyDevice1' changed to
 	`JOYDEV_NONE'.

Sun Jul 26 01:52:17 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.54.

	* sounddrv/soundallegro.c (allegro_resume): New function.

	* arch/msdos/menudefs.c: New menu item for toggling `WarpMode'.

	* arch/msdos/c64ui.c: New meny entry for toggling mouse emulation.

	* c128/c128.c (machine_init_resources): Initialize mouse resources.
	(machine_init_cmdline_options): Initialize mouse command-line
 	options.
	(machine_init): Initialize mouse.

	* c64/c64.c (machine_init_resources): Initialize mouse resources.
	(machine_init_cmdline_options): Initialize mouse command-line
 	options.
	(machine_init): Initialize mouse.

	* c64/sid.c [HAVE_MOUSE]: #include "mouse.h".
	(read_sid) [HAVE_MOUSE]: Read mouse position from registers $19
	and $1A.

	* arch/msdos/mouse.h (mouse_get_y, mouse_get_x): New file, new
 	functions.

	* arch/msdos/mouse.c (mouse_init): New file, new function.
	(my_mouse_callback): New function.
	(mouse_init_cmdline_options): New function.
	(mouse_init_resources): New function.

	* vice.h [__MSDOS__]: #Define `HAVE_MOUSE'.

	* sounddrv/soundallegro.c (allegro_suspend): New function.

	* arch/msdos/kbd.c: Removed `escape_requested' hack; replaced by
	`KCMD_ESC_PRESSED' command.

	* arch/msdos/vsync.c (do_vsync): Call `ui_set_warp_status()'.

	* arch/msdos/ui.c (ui_dispatch_events): New function.  Updates
 	keyboard LEDs.
	(ui_set_warp_status): New function.
	(ui_display_drive_led): Update keyboard LED status.

	* arch/msdos/vsync.c (do_vsync): Handle warp mode.
	(set_timer_speed): If in warp mode, remove timer callback.
	(do_vsync): Call `ui_dispatch_events()'.  Do not handle ESC
 	anymore.

	* arch/msdos/kbd.c (my_kbd_interrupt_handler): Cartridge freeze
	moved to Alt-Pause instead of just Pause.  Scroll Lock triggers a
	new command `KCMD_TOGGLE_WRAP' for toggling WrapMode.
	(kbd_flush_commands): Handle `KCMD_TOGGLE_WRAP'.

	* arch/msdos/ui.c (ui_main): Call `sound_suspend()' instead of
 	`sound_close()'.

	* arch/msdos/vsync.c (do_vsync): If speed eval has been suspended,
	set `elapsed_frames' to zero and remove the timer callback.

	* sounddrv/soundallegro.c (allegro_startup): Do not set the volume
	anymore.

	* vice.h [__MSDOS__ && !USE_MIDAS_SOUND]: #define
	`SOUND_SAMPLE_RATE' to 22727.

	* arch/msdos/menudefs.c [!USE_MIDAS_SOUND]: Sound sample rates in
 	the sample rate menu changed to the ones used by the Allegro setup
	program.

	* sounddrv/soundallegro.c (allegro_startup): Do not prevent
 	multiple initialization anymore.  Call `remove_sound()' before
 	detecting audio type.  New parameter `freq'; set the `sb_freq'
 	configuation parameter accordingly, before installing sound.

	* arch/unix/xaw/widgets/FileSel.c (ButtonGoto) [HAVE_REGEX_H]:
	Enable directory pattern.
	(UpdateTextLines): Likewise.

	* arch/unix/xaw/ui.c (ui_select_file): Removed Alpha-specific
 	workaround.

	* arch/unix/xaw/widgets/RegExp.h (RETURN) [HAVE_REGEXP_H]: Return
 	NULL.

	* arch/unix/xaw/widgets/DirMgr.c (DirectoryMgrFilterName):
 	Removed.

	* arch/unix/xaw/widgets/DirMgr.h, arch/unix/xaw/widgets/RegExp.h:
	Always provide the function prototypes.

	* arch/unix/xaw/widgets/DirMgr.c: Always use functions from
 	`RegExp.c', even if `HAVE_REGEX_H' and `HAVE_REGEXP_H' are both
 	#undefined.  Removed `DIR_MGR_FSM_SIZE' constant.  Adapted all the
	functions to use the new functions in `RegExp.h'.

	* arch/unix/xaw/widgets/RegExp.c: Implemented POSIX <regex.h>
	support.  Use it if available.

	* arch/unix/xaw/widgets/RegExp.h (RegExpCompile, RegExpMatch):
	Made const-safe.
	(RegExpPatternToRegExp): Made const-safe.

	* sound.c (sound_suspend): Free `p' after writing it to the sound
	device, not afterwards!

Sat Jul 25 03:08:37 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.53.

	* vic20/vic20sound.c (sound_machine_calculate_samples): Call
 	`setup_sid()'; call `setup_voice()' on all of the 4 voices.  Type
 	of `o0', `o1', `o2', `o3' changed from WORD to `DWORD'.

	* pet/pet.c (machine_reset): Call `petsnd_reset()'.

	* pet/petvia.def: Removed all `#ifdef SOUND's; always behave as it
 	used to when it was #defined.

	* vic20/vic20sound.c (sound_machine_store): Removed warning
 	message.

	* pet/petsound.c (sound_machine_calculate_samples): Removed
	warning message.

	* arch/msdos/c64kbd.c: Left Ctrl mapped to CBM, Left Alt mapped to
	nothing.
	* arch/msdos/vic20kbd.c: Likewise.

Fri Jul 24 13:18:59 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.52.

	* arch/msdos/kbd.c: New variable `freeze_function'; new command
 	`KCMD_FREEZE'.
	(kbd_set_freeze_function): New function.
	(kbd_flush_commands): Handle `KCMD_FREEZE', calling
 	`freeze_function()' if not NULL.
	(my_kbd_interrupt_handler): Added handling for the Pause key
	(`K_PAUSE').  `K_PAUSE' now triggers `KCMD_FREEZE'.
	(my_kbd_interrupt_handler): Hard reset moved from `Ctrl-F12' to
 	`Alt-F12'.

	* arch/msdos/c64ui.c (toggle_REU_callback): Switched to standard
 	`TUI_MENU_DEFINE_TOGGLE'.
	(toggle_IEEE488_callback): Likewise.

	* arch/msdos/tuimenu.h (TUI_MENU_DEFINE_TOGGLE): If
	`resources_toggle()' returns -1, simply get the current value with
	`resources_get_value()'.

	* arch/msdos/ui.c: New variable `drive_led_status'.
 	(ui_display_drive_led): Store `status' into `drive_led_status'.

	* arch/msdos/kbd.c (_led_set, kbd_led_set): Removed.

	* arch/msdos/tuifs.c (file_selector_display_item): Display
	directory items with a trailing `\' instead of a trailing `/'.
	(tui_file_selector): `chdir()' to the new path when it changes.

	* vic20/cartridge.c (cartridge_get_file_name): New function.

	* cartridge.h: Prevent multiple #inclusion via CPP.  #include
 	"types.h".

	* arch/msdos/menudefs.c (hard_reset_callback): Always set
	`*become_default' to zero.
	(soft_reset_callback): Likewise.

	* arch/msdos/petui.c: Added model options under "Special Options";
	added double-size switch to the video submenu.

	* pet/crtc.c [__MSDOS__ || NEED_2x]: Enable the `DoubleScan'
 	resource.

	* pet/crtc.c (crtc_set_screen_mode) [__MSDOS__]: Enable double
	size when in 80-column mode; disable it in 40-column mode.

	* arch/msdos/petui.c (pet_ui_init): Enable support for two
 	joysticks.

	* c64/cartridge.c (cartridge_detach_image): Free `cartfile' and
	set it to NULL.

	* arch/msdos/c64ui.c (c64_ui_init): Cartridge menu entries.

	* arch/msdos/joystick.c (joystick_handle_key): Added diagonal
 	directions.

	* c64/cartridge.c (cartridge_get_file_name): New function.

	* arch/msdos/menudefs.c (attach_disk_callback): Free `name'.
	(attach_tape_callback): Free `name', `directory', `default_item'.

	* arch/msdos/petui.c (pet_ui_init): Enable tape in UI.

	* arch/msdos/vic20ui.c (vic20_ui_init): Enable tape in UI.

	* utils.c (get_current_dir): If `getcwd()' returns NULL and
 	`errno' is not `ERANGE', return NULL.
	(string_to_long): Initialize `last_letter' to make compilers
 	happy.

	* pet/petvia.def (show_keyarr): Removed.

	* c64/c64cia1.def (READ_CIAPA, READ_CIAPB): Use `8' instead of
	`KBD_ROWS' and `KBD_COLS'.
	(show_keyarr): Removed.

	* vic20/vic20via1.def (READ_PRA, READ_PRB): Use `8' instead of
	`KBD_ROWS' and `KBD_COLS'.

	* emuid.c: Updated `emulator_id'.

	* emuid.h: Prevent multiple #inclusion using CPP.

	* arch/msdos/petkbd.h (pet_kbd_init): Removed parameters.

	* arch/msdos/c64kbd.c (c64_kbd_init): Adapted to the new
 	`kbd_init()'.

	* arch/msdos/vic20kbd.c (vic20_kbd_init): Adapted to the new
 	`kbd_init()'.

	* arch/msdos/petkbd.c (pet_kbd_init): Install the 40-column and
	80-column keyboard maps.

	* arch/msdos/kbd.c: Renamed `keyconvmap' to `keyconvmaps'; it is
 	now an array of available convmaps.
	(kbd_init): Store vararg keyconvmaps into `keyconvmaps'.
	(my_kbd_interrupt_handler): Access the right convmap through
	`keyconv_base'.

	* arch/msdos/tuifs.c (tui_file_selector): When handling Ctrl +
 	letter, don't switch drive if the working directory on the
 	requested drive cannot be read.

	* arch/msdos/menudefs.c (detach_disk_callback): Detach with
	`file_system_attach_disk()' instead of `serial_remove()'.

Thu Jul 23 17:12:51 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* arch/msdos/kbd.c, arch/msdos/kbd.h (kbd_init): Added vararg
	parameters to install more than one keyboard map.

Thu Jul 23 16:51:05 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* pet/pet.c (machine_init) [__MSDOS__]: Call `pet_kbd_init()' with
	`PET_KBD_80' as the `type' parameter.

	* arch/msdos/petkbd.h, arch/msdos/petkbd.c: New type
	`pet_kbd_type_t'.
	(pet_kbd_init): New parameter `type'.

	* arch/msdos/kbd.c (kbd_init): Do not call `kbd_install()'.

	* arch/msdos/petui.c: Added `menu_item' member to `palette_items'.
	(add_palette_submenu): Use it.

	* arch/msdos/kbd.h: Always #define `KBD_ROWS' to be 11 (maximum
	value needed).

	* pet/crtc.c (crtc_set_screen_mode) [__MSDOS__]: Set `VGAMode'
	according to the screen mode being set.

Thu Jul 23 02:42:00 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.51.

	* arch/msdos/tuifs.c (file_selector_display_path): New parameters
 	`x', `y', `width'.
	(tui_file_selector): Display the current path on the bottom of the
 	window, using `file_selector_display_path()', instead of using the
 	bottom of the screen.  Display an help message at the bottom of
	the screen instead.
	(tui_file_selector): Do not try to call `read_contents_func()' if
 	NULL.

	* arch/msdos/menudefs.c: Added sound oversampling menu.

Thu Jul 23 02:28:42 1998  Nathan Huizinga  <nathan@chess.nl>

	* arch/msdos/log.c (log_enable, log_disable): Use `freopen()'
 	instead of `dup()'.

Thu Jul 23 02:05:51 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* arch/msdos/menudefs.c (quit_callback): Call `log_disable()'.

	* arch/msdos/ui.c (enable_log, disable_log): Removed.
	(mon_trap): Removed.
	(ui_init_finish): Call `log_enable()' instead of old
 	`enable_log()'.

	* arch/msdos/log.c (log_disable, log_enable): New file, new
 	functions.

	* arch/msdos/log.h: New file.

	* arch/msdos/menudefs.c (mon_trap): Fixed so that it works (at
	last!).

	* c64/vicii.c [__MSDOS__]: Disable video cache by default.
	* vic20/vic.c [__MSDOS__]: Likewise.
	* pet/pet.c [__MSDOS__]: Likewise.

	* arch/msdos/vsync.c (do_vsync): Call the `vsync_hook'.

	* autostart.c: Removed some debugging messages.

Wed Jul 22 15:19:08 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* arch/msdos/menudefs.c (ui_create_main_menu): Removed "Change
	Working Directory" menu item.
	(change_workdir_callback): Removed.

	* arch/msdos/tuifs.c (tui_file_selector): New commands (`C-a'
	... `C-z') to switch the current drive in the file selector.

	* arch/msdos/ui.c (ui_main): Do not update the menu before
	handling it.

	* arch/msdos/tuimenu.c (tui_menu_handle): Handle `become_default'.

	* pet/petsound.c (sound_machine_open): Reset the `psid' structure
 	after xmallocing it.

	* vic20/vic20sound.c (sound_machine_open): Reset the `psid'
	structure after xmallocing it.

	* arch/msdos/tuimenu.c (tui_menu_call_callback): New parameter
 	`become_default'.
	(tui_menu_update): If the callback sets `*become_default' to 1,
 	make the corresponding item the default for this menu.

	* arch/msdos/tuimenu.h: New parameter `become_default' in
 	`tui_menu_call_callback_t'.
	(TUI_MENU_CALLBACK): Added parameter `become_default'.
	(TUI_MENU_DEFINE_RADIO): Handle `become_default'.

	* arch/msdos/tuimenu.c: New member `default_item' in `struct
 	tui_menu'.
	(tui_menu_create): Initialize it.
	(tui_menu_handle): Position the highlighting bar on the
 	`default_item'th item on startup.  When an item is selected, set
 	`default_item' to it.
	(tui_menu_call_callback): `new_par_string' made const.

	* arch/msdos/tuimenu.c (tui_menu_handle): If the user presses
	`TAB', resume emulation.

	* arch/msdos/ui.c: #include "sound.h".
	(ui_main): Call `sound_close()' when called.

	* arch/msdos/tuimenu.c (tui_menu_handle): Update the menu if a
	hotkey is pressed.

	* arch/msdos/menudefs.c: New menu items for joystick settings
 	`ui_joystick_settings_submenu'.
	(ui_create_main_menu): New parameter `num_joysticks'; callers
 	updated.
	(speed_callback): If `tui_input_string()' returns a nonzero value
 	(the user left the input field with ESC), do not change the speed
 	index resource.

	* arch/msdos/vsync.c (do_vsync): Call `joystick_update()'.

Tue Jul 21 16:55:33 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* raster.c (handle_visible_line): Never use the cache if
 	`CANVAS_USES_TRIPLE_BUFFERING'.
	(handle_visible_line_without_cache): Do not do any caching if
 	`CANVAS_USES_TRIPLE_BUFFERING'.
	(handle_blank_line): Likewise.

	* arch/unix/video.h (CANVAS_USES_TRIPLE_BUFFERING): New macro
	(always 0).

	* arch/msdos/video.h (CANVAS_USES_TRIPLE_BUFFERING): New macro.

	* arch/msdos/video.h (canvas_refresh): Implemented triple
 	buffering.

	* arch/msdos/video.c (canvas_set_vga_mode): If `TripleBuffering'
	is nonzero, try to get a valid mode X resolution; if successfull,
	set `c->use_triple_buffering' to 1 and enable the vsync
	simulator.  Otherwise, disable it.
	If `c->use_triple_buffering' is nonzero, create the bitmaps.

	* arch/msdos/video.h: New members `use_triple_buffering',
 	`visible_page', `pages' and `back_page' in `struct _canvas'.

Sat Jul 18 03:54:12 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* sounddrv/soundallegro.c: Finished implementation.

	* arch/msdos/video.c: New resource `TripleBuffering' (integer
 	value stored in `try_triple_buffering'; new command-line options
 	`-triplebuf' and `+triplebuf'.

Fri Jul 17 20:10:09 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* sound.c (sound_init) [__MSDOS__]: Initialize the MIDAS device if
	`USE_MIDAS_SOUND' is #defined; the Allegro one otherwise.

	* arch/msdos/vsync.c: Removed any effect from `NO_SYNC' and
 	`USE_MIDAS_TIMER' #defines.  Removed machine dependencies and
 	relative #ifdef cruft.
	(register_timer_callback): New function; different versions
 	depending on whether `USE_MIDAS_TIMER' is #defined or not.
	(set_timer_speed): New version; uses `register_timer_callback()',
	thus becoming independent on the timer type.

Fri Jul 17 13:24:35 1998  Andr Fachat  <a.fachat@physik.tu-chemnitz.de>

	* vic20/cartridge.c (mem_attach_cartridge): If cartridge is too
 	small i.e. less or equal than 4k mirror it to the upper 4k.  Only
 	in $A*** if a $B*** image is already attached, attach a 4k image
 	instead.

Thu Jul 16 16:54:38 1998  Andr Fachat  <a.fachat@physik.tu-chemnitz.de>

	* arch/unix/xaw/vic20ui.c (attach_cartridge_image_submenu):
	New entries for 4/8k images at $2000 and $B000.

	* cartridge.h: New #defines `CARTRIDGE_VIC20_*' for 4k images and
 	addresses $2000 and $B000.

	* vic20/cartridge.c (cartridge_file_2, cartridge_file_B
	cartfile2, cartfileB): New variables similar to the existing.
	(set_cartridge_file_2, set_cartridge_file_B): New functions.
	(resources): New entries CartridgeFile2000 and CartridgeFileB000.
	(attach_cart2, attach_cartB): New functions.
	(cmdline_options): New options -cart2 and -cartB.
	(cartridge_attach_image): Check for $2000 and $B000 as startaddress
	when autodetecting.  Convert type to 4KB types when image is to
	small for 8KB.
	(cartridge_detach_image): Detach the new images.
	(cartridge_set_default): Set the new images.

	* vic20mem.c (cartrom, cartrom6, cartromA): Replaced cartrom6 and
 	cartromA by cartrom that holds all cartrom images.
	(read_rom6, read_romA): Removed.
	(read_cartrom): Replaces read_rom6 and read_romA, works for all
 	cartrom areas.
	(vic20_mem_enable_rom_block): Use read_cartrom instead of
 	read_rom*.
	(initialize_memory): Check for ROM in block 1 as well.
	(mem_attach_cartridge): Handle the new image types appropriately.
	(mem_detach_cartridge): Handle the new image types appropriately.

Wed Jul 15 14:55:02 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* arch/unix/xaw/uimenu.c (popdown_submenus_action): Just return if
	`menu_popup' is zero (prevents segfault when pressing both mouse
	buttons simultaneously).

Wed Jul 15 14:44:47 1998  Andr Fachat  <a.fachat@physik.tu-chemnitz.de>

	* c128/c128.c (cartridge_init_resources): Removed dummy.

	* pet/pet.c (cartridge_init_resources): Removed dummy.

	* c64/c64.c (machine_init_resources): Call
 	`cartridge_init_resources()'.

	* c64/cartridge.c (cartridge_attach_image): Second parameter is
	now const char*.

	* cartridge.h (cartridge_init_resources): Fixed prototype.
	(cartridge_init_cmdline_options): New prototype.
	(cartridge_attach_image): Fixed prototype.

	* main.c (MAIN_PROGRAM): Removed `cartridge_init_resources()'
 	call.

	* vic20/vic20.c: #include "cmdline.h".
	(attach_cart6, attach_cartA): New function to be called when
 	cmdline option gives cartridge filename.
	(cmdline_options, cartridge_init_cmdline_options): New
 	array/function for cartridge-related command line options.
	(cartridge_attach_image): Second parameter is now const char*.

	* vic20/vic20.c (machine_init_resources): Call
 	`cartridge_init_resources()'.
	(machine_init_cmdline_options): Call
 	`cartridge_init_cmdline_options()'.

	* vic20/vic20mem.c (cartrom6, cartromA): New arrays to hold the
 	cartridge ROM images.
	(read_rom6, read_romA): New functions to read cartridge ROMs.
	(vic20_mem_enable_rom_block): Use `read_rom6()' and `read_romA()'
 	instead of `read_ram()'.
	(mem_attach_cartridge): Copy ROM to cartrom* instead of ram.

Wed Jul 15 12:49:55 1998  Andr Fachat  <a.fachat@physik.tu-chemnitz.de>

	* Makefile.am: Removed seemingly redundant `NEED_READLINE' check.
	(base_sources): Removed `cartridge.c'.

	* arch/unix/xaw/uicommands.c: Do not #include "cartridge.h".
	(attach_cartridge, detach_cartridge, default_cartridge): Removed.
	(freeze_cartridge, attach_cartridge_image_submenu): Removed.
	(ui_cartridge_commands_menu): Removed.

	* arch/unix/xaw/c64ui.c: #include "cartridge.h".
	(attach_cartridge, detach_cartridge, default_cartridge): Moved
	from uicommands.c to here.
	(freeze_cartridge, attach_cartridge_image_submenu): Likewise.
	(ui_cartridge_commands_menu): Likewise.

	* arch/unix/xaw/vic20ui.c: #include "cartridge.h".
	(attach_cartridge, detach_cartridge, default_cartridge): Moved
 	from uicommands.c to here changed them to be VIC20 specific.
  	(freeze_cartridge, attach_cartridge_image_submenu): Likewise.
 	(vic20_cartridge_commands_menu): Likewise.

	* c128/c128.c, pet/pet.c (cartridge_init_resources): Dummy
 	function that replaces the cartridge file stuff.

	* c128/c128mem.c, pet/petmem.c (mem_attach_cartridge): Removed.
	(mem_detach_cartridge, mem_freeze_cartridge): Removed.

	* c64/Makefile.am (libc64_a_SOURCES): Added `cartridge.c'.

	* cartridge.c, c64/cartridge.c: Moved down to c64 subdirectory.

	* cartridge.h: New `CARTRIDGE_VIC20_*' #defines for VIC20
 	cartridges.

	* vic20/Makefile.am (libvic20_a_SOURCES): Added `cartridge.c'.

	* vic20/cartridge.c: New file modeled after `c64/cartridge.c',
	but much easier.  Handles 8k cartridges at $6000 and $A000.

	* vic20/vic20mem.c: #include "cartridge.h".  Moved `VIC_BLK*'
 	defines to top, use them as ROM enable flags as well.
	(mem_rom_blocks): New flag to see if block 3 and/or 5 are ROM.
	(vic20_mem_enable_rom_block): New function to set ROM mapping in
 	block 3 or 5.
	(initialize_memory): In blocks 3 and 5 check if ROM is enabled and
 	set mapping appropriately.
	(mem_attach_cartridge, mem_detach_cartridge): Fixed to handle
 	VIC20 cartridges
	(mem_freeze_cartridge): Removed.

Tue Jul 14 15:38:46 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* sounddrv/soundallegro.c: New file, Allegro driver.

Sun Jul 12 18:49:41 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.50.

	* Makefile.am: Added `printer_ldadd' to `x64_DEPENDENCIES',
 	`x128_DEPENDENCIES', `xvic_DEPENDENCIES' and `xpet_DEPENDENCIES'

Fri Jul 10 23:37:04 1998  Andreas Boose  <boose@unixserv.rz.fh-hannover.de>

	* c64/c64mem.c (store_io1, read_io1): Added banking for KCS
	power cartridge.
	(mem_freeze_cartridge): Added KCS freeze configuration.

	* cartridge.c (cartridge_trigger_freeze): Handle freeze function
	for KCS power cartridge too.

Fri Jul 10 21:55:22 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.49.

	* arch/msdos/joystick.c (joystick_init): Display joystick
	initialization messages to the console (with `cprintf()') instead
	of stdout.

	* vic20/vic20via2.def, pet/petvia.def: Printer-specific stuff
 	wrapped into `#ifdef HAVE_PRINTER's.

	* arch/msdos/tuimenu.c (tui_menu_call_callback): `new_par_string'
	made const.

	* arch/msdos/c64ui.c: Declare all the TUI menu callbacks using
 	`TUI_MENU_CALLBACK' instead of manually.

	* arch/msdos/menudefs.c: Declare all the TUI menu callbacks using
	`TUI_MENU_CALLBACK' instead of manually.

	* arch/msdos/tuimenu.h: Return type of `tui_menu_callback_t' made
 	`const'.
	(TUI_MENU_CALLBACK): Modified accordingly.

	* arch/msdos/c64ui.c: Members of `palette_items' declared const.
	New member `menu_item'.
	(add_palette_submenu): Use it.

	* c64/c64cia2.def: Printer-specific stuff wrapped into `#ifdef
 	HAVE_PRINTER's, serial-specific functions into `#ifdef
 	HAVE_RS232's.

	* arch/msdos/kbd.c (kbd_init_resources, kbd_init_cmdline_options):
	New (dummy) functions.

	* Makefile.am: New variable `$(READLINE)': set its value to
 	`@READLINE@' if the `NEED_READLINE' conditional is true, to null
 	if false.  Replaced all occurences of `@READLINE@' with
 	`$(READLINE)'.  Compile `pruser.[ch]' and `prdevice.[ch]' only if
 	the `HAVE_PRINTER' conditional is true.

	* mon.h: Do not attempt to #redefine `TRUE' or `FALSE' if already
 	#defined.

	* arch/msdos/menudefs.c: #include "attach.h".
	(ui_create_main_menu): Added missing `,' in call to
 	`tui_menu_add_submenu()'.

	* arch/msdos/kbd.c: #include "joystick.h".

	* arch/msdos/kbd.h (kbd_init_resources): Prototype.
	(kbd_init_cmdline_options): Prototype.

	* arch/msdos/kbd.c: Do not #define `_KBD_DOS_C' anymore.

	* arch/msdos/kbd.h [!_KBD_DOS_C]: Define `enum doskbd_codes'
 	anyway.

	* arch/msdos/joystick.h (joystick_handle_key): Fixed prototype.
	Return value changed to `int'.

	* arch/msdos/joystick.c: #include "joystick.h", "cmdline.h".
	(joystick_init_resources): Register `resources', not
 	`joystick_resources'.

	* c64/c64cia2.def (READ_CIAPB) [!HAVE_RS232]: Removed extra
 	parenthesis.

	* c64/Makefile.am: Added `c64acia1.c' to `BUILT_SOURCES'.  Compile
 	`c64acia1.c' and `rsuser.c' only if the `HAVE_RS232' conditional
 	is true.

Fri Jul 10 14:32:41 1998  Andr Fachat  <a.fachat@physik.tu-chemnitz.de>

	* arch/unix/xaw/widgets/FileSel.c: #Include "utils.h" instead of
 	"../../../utils.h".

	* arch/unix/xaw/widgets/Makefile.am: Add `-I$(top_srcdir)/src' to
 	`INCLUDES'.

	* c64/rsuser.c (cmdline_options): Fix `-rsuserdev' entry.

	* prdevice.c (cmdline_options): Fix `-pr4dev' entry.

	* pruser.c (cmdline_options): Fix `-pruserdev' entry.

	* arch/unix/xaw/uicommands.c (attach_tape): Remove t64 filemask to
 	show all files.

Thu Jul  9 14:09:52 1998  Andr Fachat  <a.fachat@physik.tu-chemnitz.de>

	* Version 0.14.2.48.

	* arch/msdos/kbd.c: #Include "machine.h", replace
 	`maincpu_set_nmi()' with `machine_set_restore_key()' for the
 	restore key.

	* arch/unix/kbd.c: #Include "machine.h", replace
 	`maincpu_set_nmi()' with `machine_set_restore_key()' for the
 	restore key.  If the key has been used, return; if not, allow
 	checking in the keymap: The PET uses the Tab key as RVS/OFF.

	* machine.h (machine_set_restore_key): New prototype.

	* c64/c64.c, c128/c128.c, pet/pet.c, vic20/vic20.c
 	(machine_set_restore_key): New function to handle restore key.

Wed Jul  8 18:58:50 1998  Andr Fachat  <a.fachat@physik.tu-chemnitz.de>

	* c128/c128mem.c (mem_get_basic_text, mem_set_basic_text): Pointer
 	addresses fixed.
	(store_bank_io, read_bank_io, peek_bank_io): New functions for
 	banked (i.e. monitor) IO access.
	(mem_bank_from_name, mem_bank_lists, mem_bank_read, mem_bank_peek,
 	mem_bank_write): New functions for monitor memory bank access.

	* c64/c64.c: Replace "tpi.h" with "c64tpi.h".

	* c64/c64cia.h (peek_cia1, peek_cia2): Add prototypes.

	* c64/c64mem.c: Replace "tpi.h" with "c64tpi.h".
	(store_bank_io, read_bank_io, peek_bank_io): New functions for
 	banked (i.e. monitor) IO access.
	(mem_bank_from_name, mem_bank_lists, mem_bank_read): New functions
 	for monitor memory bank access.
	(mem_bank_peek, mem_bank_write): More new functions.

	* mem.h (mem_bank_from_name, mem_bank_lists, mem_bank_read): Add
 	prototypes.
 	(mem_bank_peek, mem_bank_write): Add prototypes.

	* pet/petmem.c (mem_get_basic_text, mem_set_basic_text): Pointer
 	addresses fixed (for Basic2 and Basic4 only).
	(peek_bank_io): new functions for banked (i.e. monitor) IO access
	(mem_bank_from_name, mem_bank_lists, mem_bank_read): New functions
 	for monitor memory bank access.
	(mem_bank_peek, mem_bank_write): New functions for monitor memory
 	bank access.

	* tapeunit.c (is_valid_prgfile): Detect C128 and VIC Basic start
	addresses.

	* vic20/vic20mem.c (mem_set_tape_sense): Removed (->
 	vic20via2.def)
	(mem_bank_from_name, mem_bank_lists, mem_bank_read): New functions
 	for monitor memory bank access.
	(mem_bank_peek, mem_bank_write): New functions for monitor memory
 	bank access.

	* vic20/vic20via2.def: #Include "mem.h".  New variable
 	`tape_sense'.
	(mem_set_tape_sense): New function.
	(READ_PRA): Add `tape_sense' flag check.

Wed Jul  8 23:18:40 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* resources.c (resources_toggle): Do not set `*new_value_return'
 	if `new_value_return' is NULL.

Wed Jul  8 14:05:55 1998  Andr Fachat  <a.fachat@physik.tu-chemnitz.de>

	* arch/unix/xaw/c128ui.c (io_extensions_submenu): Added EmuID
 	toggle.

	* arch/unix/xaw/petui.c (model_settings_submenu): Added EmuID
 	toggle.

	* autostart.c (check): Removed check fo 0 and 255.
	(autostart_init): If parameter _min_cycles = 0 then disable
 	autostart.

	* c128/c128.c: #include "c64tpi.h" instead of "tpi.h"
	(c128_tape_traps): Tape traps for the C128.
	(machine_init): Call tape_init appropriately.  Fix calls to
 	`autostart_init' and `kbd_buf_init()'.

	* c128/c128mem.c: #Include "c64tpi.h" instead of "tpi.h", #include
 	"emuid.h"
	(read_io): Enable emulator ID output.

	* kbdbuf.c (kbd_buf_init): If `mincycles' is zero then disable
 	`kbd_buf'.

	* pet/pet.c (machine_init_resources, machine_init_cmdline_options):
	Add call to `pet_init_resources()' and `pet_init_cmdline_options()'.

	* pet/petmem.c: #include "emuid.h".
	(emu_id_enabled, mem_toggle_emu_id, resources,
 	pet_mem_init_resources, cmdline_options,
 	pet_mem_init_cmdline_options): New stuff with complete
 	emu_id_enabled flag handling.
	(read_io): Check emu_id_enabled and return emulator id if
 	appropriate
	(mem_load): In the beginning, disable autostart, kbd_buf and tape
 	before (re)loading the ROM.

	* pet/pets.c (pet_init_resources): Renamed from
 	`pet_mem_init_resources'.
	(pet_init_cmdline_options): Renamed from
 	`pet_mem_init_cmdline_options'.

	* pet/pets.h: New prototypes for
 	`pet_init_{resources|cmdline_options}'.

	* vic20/vic20mem.c (set_emu_id_enabled): Return valid value.

Tue Jul  7 21:30:30 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.47.

	* true1541/Makefile.am: Added dependencies to build `viad1.c' and
 	`viad2.c' from `viad1.def' and `viad2.def' respectively.

Tue Jul  7 21:26:48 1998  Andreas Boose  <boose@unixserv.rz.fh-hannover.de>

	* c1541.c (disk_gcrformat): Use `write_dword' to write variables
	of type DWORD.

	* c64/c64cia2.def (READ_CIAPA): Use `iec_info->cpu_port' to
	calculate new value.
	(RESET_CIA): Aquire pointer to the `iec_info' structure.
	(PRE_CIA_FUNCS): `iec_info' new variable.

	* c64/c64iec.c: Reorganised IEC bus handling. Put `drive_bus',
	`drive_port', `drive_data', `cpu_bus', `cpu_port' and
	`iec_fast_1541' into `iec_info' structure.
	(iec_get_drive_port): New function.

	* c64/c64iec.h: Added prototype for `iec_get_drive_port'.

	* iecdrive.h: New structure `iec_info_t'.

	* true1541/true1541.c (read_image_gcr): Changed to use
	`read_dword' and `write_dword' to access variables of type DWORD.
	(write_track_gcr): Changed likewise.
	(true1541_read_viad2_prb): New function.

	* true1541/true1541.h: Added prototype `true1541_read_viad2_prb'.

	* true1541/viad1.def (STORE_PRB): Changed to use `iec_info'
	structure.
	(READ_PRB): Changed likewise.
	(RESET_VIA): Aquire pointer to the `iec_info' structure.

	* true1541/viad2.def (STORE_PRA): Removed redundant call to
	`true1541_rotate_disk'.
	(READ_PRB): Changed to call `true1541_read_viad2_prb'.

	* utils.c (read_dword, write_dword): New functions.
	* utils.h: #include <types.h>.
	Added prototypes for `read_dword' and `write_dword'.

	* vic20/vic20iec.c (iec_get_drive_port): New function returning
	NULL as VIC20 still uses the old IEC access method.
	* vic20/vic20iec.h: Added prototype `iec_get_drive_port'.

	* c64/c64mem.c (initialize_memory): Initialize generic 8KB
	cartridges too.

	* cartridge.c (cartridge_attach_image): Fixed some typos.
	Call `cartridge_detach_image' before attaching new cartridge.
	(cartridge_detach_image): Also handle CRT cartridges.
	(cartridge_trigger_freeze): Make freeze function available for
	both raw and CRT Action Replay cartridge.

	* arch/unix/xaw/uisettings.c (set_true1541_idle_method_submenu):
	Fixed typo.

Tue Jul  7 16:06:31 MEST 1998  A. Fachat  <a.fachat@physik.tu-chemnitz.de>

	* arch/unix/xaw/vic20ui.c: Add ui_tape_command_menu to left mouse
 	button menu.

	* vic20/vic20.c: #Include `tapeunit.c'.
	(vic20_tape_traps): New tape traps for the VIC20.
	(machine_init): Add call to tape_init() with appropriate
 	parameters.

Tue Jul  7 15:13:08 MEST 1998  A. Fachat  <a.fachat@physik.tu-chemnitz.de>

	* Makefile.am: Added emuid.h and emuid.c to file list.

	* arch/unix/xaw/vic20ui.c: Add UI_MENU_DEFINE_TOGGLE(EmuID)
	and appropriate entry to memory menu.

	* c64/c64mem.c (emulator_id): Removed - moved to emuid include
 	emuid.h

	* emuid.c, emuid.h: New files, hold the the emulator ID.

	* vic20/vic20mem.c: #Include "emuid.h".
	(emu_id_enabled, set_emu_id_enabled, mem_toggle_emu_id): New
 	variable and function to set/toggle it.
	(resources): Add EmuID resource.
	(cmdline_options): Add +/-emuid cmdline options.
	(read_emuid): New function to read memory at $9f**.
	(initialize_memory): Set read_emuid for the address range $9f**.

Sun Jul  5 15:58:06 MEST 1998  A. Fachat  <a.fachat@physik.tu-chemnitz.de>

	* c64/tpi.c: Removed file.

	* pet/petmem.c (pet3_tape_traps, pet2_tape_traps): New trap lists
 	for PET basic for 20** and 30** models.
	(mem_load): Add appropriate tape_init calls for PET 20** and 30**.

	* tpi-tmpl.c: #Include "tpi.h".

Sat Jul  4 22:17:11 1998  Andr Fachat  <a.fachat@physik.tu-chemnitz.de>

	* arch/unix/xaw/petui.c (pet_ui_init): Add ui_tape_commands_menu
 	to left button menu.

	* c64/c64.c (machine_init): Add appropriate parameters to call to
 	tape_init.

	* pet/pet.c (machine_init_resources): Call traps_init_resources.
	(machine_init_cmdline_options): Call traps_init_cmdline_options.
	(machine_init): Call traps_init.

	* pet/petmem.c (pet4_tape_traps): Trap list for PET basic 4.
	(mem_load): Call tape_init when Basic 4 ROM detected (40** or
 	80**)
	(mem_set_tape_sense): Removed (to pia.c).
	(mem_rom_trap_allowed): Check appropriate memory address and
 	config

	* pet/pia.c (is_peek_access): Variable to distinguish read/peek.
	(tape1_sense): Sense line from tape #1.
	(mem_set_tape_sense): New function to set tape #1 sense state.
	(read_pia1): Port A bit 4 is tape #1 sense.
	(read_pia1, read_pia2): Check is_peek_access before clearing IRQ
 	on read.
	(peek_pia1, peek_pia2): Set is_peek_access and call read_pia*.

	* tapeunit.c (bufpaddr, status, verfl, irqtmp, irqval, stal, eal,
 	kbdbuf, nkeys): New static variables with memory addresses to use
 	when handling tape.  Variables are set when tape_init is called
 	All functions use those address variables now.  IRQTMP became
 	irqtmp and is now handled as a complete address.
	(tape_is_initialized): Do not alloc new TAPE struct if already
 	done
	(tape_init): New parameters to set addresses.
	(findheader): Change filetype from CAS_TYPE_BAS (relocatable,
 	basic) to CAS_TYPE_PRG (binary) because PET understands _PRG only!
	(t64_find_next): ditto.

	* tapeunit.h (tape_init): New parameters in prototype.

Thu Jul  2 09:26:47 1998  Andr Fachat  <a.fachat@physik.tu-chemnitz.de>

	* pet/petvia.def: [STORE_PRB] add check for Killer Poke.

Wed Jul  1 19:22:36 1998  Andr Fachat  <a.fachat@physik.tu-chemnitz.de>

	* arch/unix/xaw/ui.c: New variables `n_allocated_pixels',
 	`allocated_pixels' variables to keep track with the X pixel values
 	we have allocated already.
	(do_alloc_colors): Removed allocated_colors (replaced by
	[n_]allocated_pixels).  Fix bug that would fill up default
 	colormap when loading other mappings: we can free colors in the
 	default map, if we only try to free our own colors
 	([n_]allocated_pixels)
	(ui_canvas_set_palette): If not truecolor, handle the
 	X_DISPLAY_DEPTH==0 case appropriately: save all the tables before
 	we try to call do_alloc_colors().  If this fails, restore the
 	tables if allocation works, free previously allocated colors.

	* c64/vicii.c (set_palette_file_name): Moved to raster.c

	* pet/crtc.c (set_palette_file_name): Moved to raster.c
	(init_drawing_tables): New function, is called by the new
 	`set_palette_file_name()', simply calls `crtc_init_dwg_tables()'
 	to rebuild pixel tables

	* vic20/vic.c (set_palette_file):  references renamed to
	set_palette_file_name, the function is then from raster.c
	definition removed.
	(init_drawing_table): Renamed to init_drawing_tables.

	* raster.c (set_palette_file_name): New function to set the name
 	of the palette file.  Sets all necessary pixel tables.

Wed Jul  1 14:27:28 1998  A. Fachat  <a.fachat@physik.tu-chemnitz.de>

	* arch/unix/video.c: #Include <sys/utsname.h> and "utils.h".
  	Changed default for mitshm to -1 (autodetect).
	(cmdline_options): Added `-mitshmauto' for shm autodetection.
	(init_video): If try_mitshm < 0 then check if the display is local
 	by checking the hostname.

	* Makefile.am: Added `tpi.h' and `tpi-tmpl.c' to file list.

	* c64/c64tpi.h, c64/c64tpi.def, c64/c64tpi.c: New files made for
 	the C64 TPI for the IEEE488 emulation (from `tpi.c').

	* c64/tpi.c, c64/tpi.h: Removed (moved stuff to other files).

	* tpi-tmpl.c, tpi.h: New files with TPI template and TPI register
 	definitions.

Tue Jun 30 19:40:52 MEST 1998  A. Fachat  <a.fachat@physik.tu-chemnitz.de>

	* autostart.c: Changed `blnsw', `pnt', `pntr', `lnmx' from
 	#defines to static variables that are set in `autostart_init()'.
	(autostart_enabled): New flag to disable autostart if
 	`autostart_init()' has not been called.
	(check): Read memory addresses from variables.  If `lnmx' is < 0
 	then take it as the negative direct value.
	(autostart_init): Set memory address variables from parameters set
 	autostart_enabled.
	(autostart_disable, autostart_tape, autostart_disk, autostart_device):
	Check if `autostart_enable' is set before doing anything.

	* autostart.h (autostart_init): New prototype.

	* c128/c128.c, c64/c64.c, vic20/vic20.c (machine_init): Add new
 	parameter to `autostart_init()'.

	* fsdevice.c: Changed default for FSDevice[8|9|10|11]Dir from "/"
 	to "."

	* kbdbuf.c (kbd_buf_enabled): New flag to disable kbd_buf stuff
	if kbd_buf_init has not been called.
	(kbd_buf_init): Set kbd_buf_enabled.
	(kbd_buf_feed, kbd_buf_flush): Check kbd_buf_enabled.

	* pet/pet.c (machine_init): Remove `autostart_init()' and
 	`kbd_buf_init()'.

	* pet/petmem.c: #Include `pet.h', `kbdbuf.h', `autostart.h'.
	(mem_load): For each of the detected PET ROMs call kbd_buf_init
 	and autostart_init with the appropriate parameters. Check for more
 	checksums.

	* pet/petmem.h: [PET3032_CHECKSUM, PET4032_CHECKSUM] Renamed
	old defines to *_A, added new *_B defines (for business-keyboard
	machines).

	* serial.c (serial_select_file): Print a warning of file attached
 	that is on a non-existant device.

	* tapeunit.c [BSOUR, TMP_IN]: Removed unused defines.

Mon Jun 29 14:20:42 1998  Andr Fachat  <a.fachat@physik.tu-chemnitz.de>

	* ic64/c64acia.h, acia-tmpl.c (peek_myacia): New function.

	* arch/unix/xaw/uicommands.c: Changed pattern for attach a disk
 	image to "*.[xgd]64*".

	* arch/unix/xaw/widgets/FileSel.c (ButtonGoto, UpdateTextLines):
 	only if HAVE_REGEXP_H is defined then pattern is used.

	* c64/c64cia1.def (STORE_SDR): Changed `byte' to `cia1[CIA_SDR]',
 	because byte has the same value anyway.

	* c64/tpi.c, c64/tpi.h (peek_tpi): New function.

	* cia-tmpl.c: Where STORE_SDR is called, remove the definition of
 	"byte", as now cia1[CIA_SDR] is used.
	(peek_mycia): New function.

	* pet/crtc.c (peek_crtc): New function.

	* pet/petvia.def: Now includes petvia.h as it should.

	* pet/petvia.h, vic20/vic20via.h, via-tmpl.c (peek_myvia): New
 	function.

Mon Jun 29 18:33:27 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.46.

	* autostart.c (autostart_advance): Check for `READY.' in the
	`AUTOSTART_LOADINGTAPE' case.

	* pet/pia.c: #include "crtc.h".  #include "vice.h" *before* the
 	system headers, not afterwards.

	* vic20/vic20iec.c: #include "viad.h".

	* pet/pets.c: #include "vsync.h".

	* prdevice.c (flush_pr): Return value changed to `void'.

	* resources.c (resources_set_value_string): Fixed bogus `%s' in
	`fprintf()' call.

	* c64/rsuser.h (rsuser_reset): Added prototype.

	* arch/unix/xaw/widgets/RegExp.h: Do not disable regexps on GNU
	libc 2.0.x anymore.

Mon Jun 29 00:00:29 1998  Andreas Boose  <boose@unixserv.rz.fh-hannover.de>

	* c1541.c (disk_gcrformat): Added high-level format support.

	* drive.c (allocate_sector, free_sector): Made extern.
	* drive.h: Changed likewise.

	* c1541.c (disk_gcrformat): Added high-level format support.

	* drive.c (allocate_sector, free_sector): Made extern.
	* drive.h: Changed likewise.

Sun Jun 28 12:21:09 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.45.

	* main.c [WIN32]: #include <fcntl.h> as on MS-DOS.

	* main.c (MAIN_PROGRAM) [WIN32]: Set the default file mode to
 	`O_BINARY' as on MS-DOS.

	* resources.c (default_resource_file) [WIN32]: Always boot from
 	the directory where the binary lies, as in the MS-DOS version.
	(default_resource_file) [__MSDOS__ || WIN32]: Use `\' as the
 	pathname separator.

	* utils.c (fname_split) [__MSDOS__ || WIN32]: Handle `\' as a
	pathname separator too.

	* c64/c64cia1.def, c64/c64cia2.def [!HAVE_RS232]: Do not compile
 	RS-232 support in.

	* misc.c (show_bases): Removed.

	* main.c (main): Renamed to `MAIN_PROGRAM'.

	* vice.h: #define `MAIN_PROGRAM(argc, argv)' at the end of the
	file to `main(argc, argv)' if not already #defined.

	* main.c (main) [WIN32]: Do not assign signal handlers for
 	`SIGPIPE', `SIGHUP' and `SIGQUIT'.

	* c64/vicii.c: #include "palette.h".

	* raster.c: Do not #include <sys/time.h> anymore.

	* main.c: Extended `#ifdef __MSDOS__'s to WIN32 too.
	(main): Removed newline in constant.

	* via-tmpl.c: Added parenthesis in #definition of `TAUOFFSET'.

	* sysfile.c (sysfile_init) [WIN32]: Initialize like with
 	`__MSDOS__'.

	* c64/sid.c (sound_machine_open): Copy `siddata' into `psid->d'
 	using `memcpy()', not `memset()'.

	* resources.c: Removed usage of `__FUNCTION__'.

	* true1541/true1541.c: #include <sys/types.h>
 	(read_image_gcr): Removed newline within string.

	* autostart.c (check): Added a few casts to make some compilers
 	happier.

	* zfile.c (try_uncompress_zipcode): Call `open' with 3 parameters.
	(try_uncompress_lynx): Likewise.
	* utils.c (load_file): Likewise.

	* vice.h [WIN32]: #include "lose32.h".

	* true1541/1541cpu.c: Removed #undef hack for memory access
	macros.
	(LOAD, STORE): Added some casts to make some compilers happier.

	* mem.h (STORE, LOAD, LOAD_ZERO): Added some casts to make some
 	compilers happier.

	* 6510core.c (RTI, SBC, DO_INTERRUPT): Added some casts to make
 	some compilers happier.

	* true1541/1541cpu.c (true1541_store): Removed useless `return'
 	statement.

	* utils.c [!__MSDOS__ && !WIN32]: Do not #include <sys/wait.h>.

	* memutils.c (mem_load_sys_file): Type of `rsize' changed to
 	`int'.

	* maincpu.c [!EVALUATE_SPEED]: Do not #include <sys/time.h>.

	* gcr.c: Do not #include <unistd.h> and <assert.h>.

	* fsdevice.c: Do not #include <sys/param.h>.

	* true1541/1541cpu.c: Do not #include <sys/time.h>.

Fri Jun 26 17:32:01 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* zfile.h [WIN32]: Typedef `mode_t' to `int'.

	* drive.c: Do not include <sys/param.h>.

	* cartridge.c: Do not #include <dirent.h> and <unistd.h>.

Fri Jun 26 13:08:45 1998  Andr Fachat  <a.fachat@physik.tu-chemnitz.de>

	* arch/unix/xaw/ui.c (ui_select_file): Enable file pattern.

	* arch/unix/xaw/uisettings.c: New entry for 200% in
 	`set_maximum_speed_submenu'.

	* arch/unix/xaw/widgets/FilSel.c (ChildrenCreate): Changed text on
 	Goto button from "Goto" to "Show".
	(ButtonGoto): Separate path & pattern and set both in Widget.
	(UpdateTextLines): Concat path & pattern to display in former
 	directory field.

Sat Jun 27 19:05:49 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* true1541/1541cpu.c (true1541_store): Removed useless `return'
 	statement.

Thu Jun 25 10:37:23 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.44.

	* Makefile.am (x64-all, x128-all, xvic-all, xpet-all): New
 	targets.

	* arch/unix/xaw/uicommands.c: Moved "Freeze" command to top-level
 	menu.

	* mos6510.h (MOS6510_GET_P): Always set the `S_UNUSED' bit to 1.

	* resources.c (resources_get_value): Cast `resource_value_t'
 	properly, according to the resource type.

	* arch/unix/xaw/vic20ui.c (set_common_memory_configuration): Added
	missing `break' statement in case `MEM_NONE'.

Wed 24 Jun 00:23:53 1998  Andreas Boose  <boose@unixserv.rz.fh-hannover.de>

	* arch/unix/xaw/uicommands.c: Added new callback
 	`freeze_cartridge'.

	* arch/unix/xaw/uisettings.c: Reordered menu entries in
	`serial_settings_submenu'.

	* c64/c64mem.c (mem_freeze_cartridge): New function.
	(cartridge_config_changed): Call `cartridge_release_freeze'.

	* cartridge.c: #include "vmachine.h" and "interrupt.h".
	(set_cartridge_type): Do not try to attach cartridge if no name
	is given.
	(cartridge_trigger_freeze, cartridge_release_freeze): New
	functions.

	* cartridge.h: Added `cartridge_trigger_freeze' and
	`cartridge_release_freeze' prototypes.

	* vmachine.h: Defined `I_FREEZE'.

	* mem.h: Added `mem_freeze_cartridge' prototype.

	* pet/petmem.c, c128/c128mem.c, vic20/vic20mem.c: Added stubs
	for cartridge freeze support.

Tue Jun 23 00:07:35 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* arch/unix/xaw/uimenu.h (UI_MENU_DEFINE_STRING_RADIO): Changed
	type of `current_value' to `resource_value_t'.

Tue Jun 23 17:20:17 1998  Teemu Rantanen  <tvr@cs.hut.fi>

	* c64/sid.c (struct sound_s): Changed register array to 32 bytes.
  	Earlier value 64 was because of VIC20 sound support that is no
 	longer here.
	(sound_machine_open): Memzero the allocated structure.  Also set
 	register values directly without sound_machine_store().

	* resources.c (resources_get_values, resources_toggle,
 	write_resource_item): Alpha (64bit) fixes.

Tue Jun 23 15:12:50 1998  Andr Fachat  <a.fachat@physik.tu-chemnitz.de>

	* arch/unix/xaw/ui.c, arch/unix/xaw/ui.h (ui_select_file):
	Added two parameters to set default path (directory to open)
	and default pattern (like "*.vkm").
	- if directory is NULL, behaviour is like usual. It's mainly used
	  when /dev/ttyS* is selected for RS232;
	- pattern is disabled because we cannot change it interactively
	  at the moment.
	If read_contents_func is NULL, then the contents button is
	disabled.

	* arch/unix/xaw/uicommands.c, arch/unix/xaw/uisettings.c:
	Add default path and pattern parameter to ui_select_file calls
	where appropriate.

	* arch/unix/xaw/widgets/DirMgr.c (DirectoryMgrRefresh): Don't use
 	pattern function if entry is directory -> still possible to change
 	path.

	* arch/unix/xaw/widgets/FileSel.c (SetValues): Don't set the old
 	value to the widget when changing the pattern.  Use the new one
 	instead.

Mon Jun 22 21:40:56 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.43.

	* c64/Makefile.am: Added `@RESID_INCLUDES@' to `INCLUDES'.  If the
 	`HAVE_RESID' conditional is true, link `libc64.a' and
 	`libc64c128.a' with `resid.o'.

	* Makefile.am: Link `x64' and `x128' to `@RESID_LIBS@'.

	* convio: Removed junk at the bottom.

	* autostart.c (autostart_init): Fixed `_handle_true1541' ->
 	`handle_true1541' typo.

	* arch/unix/xaw/uicommands.c (smart_attach): Use
 	`file_system_attach_disk()' instead of `serial_select_file()'.

	* utils.c (concat): Added missing `va_end()' call.  (Thanks
 	Teemu!)

Sun Jun 22 21:31:39 1998  Teemu Rantanen  <tvr@cs.hut.fi>

	* c64/sid.c (store_sid): Argh.  Forgot to store SID register
 	values to siddata -array.

	* c64/sid.c: reSID support.  New value 2 for -sidmodel -resource
 	to select reSID support.  Added calls to resid_*() -functions to
 	proper places.

	* c64/resid.cc: New file.  Interface code with reSID MOS6581 SID
 	emulation engine written by Dag Lem (resid@nimrod.no).

	* c64/resid.h: New file.

	* arch/unix/xaw/c64ui.c (sid_model_submenu): Added reSID toggle to
 	menus.

	* arch/unix/xaw/c128ui.c (sid_model_submenu): Added reSID toggle to
 	menus.

Mon Jun 22 17:38:16 1998  Andr Fachat  <a.fachat@physik.tu-chemnitz.de>

	* cia-tmpl.c (update_tai, update_tbi): New functions (defines) to
 	make mycia_t[ab]i catch up, such that if the a) the latch value is
 	changed or b) mycia_prevent_clk_overflow is called everything is
 	right.
	(store_mycia): When storing values to the Timer latches or the
 	timer control register, call the appropriate update_t[ab]i before.
	(prevent_clk_overflow): Call update_t[ab]i and substract value
 	from mycia_t[ab]i after that.

Mon Jun 22 14:13:07 1998  Andr Fachat  <a.fachat@physik.tu-chemnitz.de>

	* cia-tmpl.c (read_mycia): When reading ICR, clean myciaint before
 	calling int_myciat[ab] when appropriate.  This makes those
 	routines schedule themselves again.
	(int_myciata): Only reschedule when interrupt flag is not set
 	Also, when unsetting alarm, do not increment mycia_tai. (When ICR
 	was read after unsetting, but before mycia_tai, the alarm was lost
 	before this patch)
	(int_myciatb): When unsetting alarm, do not increment mycia_tbi.

Sun Jun 21 23:00:59 1998  Andreas Boose  <boose@unixserv.rz.fh-hannover.de>

	* arch/unix/xaw/uisettings.c (set_true1541_idle_method_submenu):
 	New menu entry `No Traps'.

	* attach.c (file_system_attach_disk): Made 2nd arg const.
	* attach.h Changed likewise.

	* autostart.c: Include "attach.h" instead of "fsdevice.h".

	* cartridge.c (cartridge_attach_image): If cartridge type is
	`CARTRIDGE_NONE' just return.

	* true1541/true1541.c: New variable `true1541_rom_idle_trap'.
	(set_idling_method, true1541_init): Only patch firmware ROM if
	`TRUE1541_IDLE_TRAP_IDLE' is enabled.  Updated resources.
	(true1541_update_ui_status, true1541_vsync_hook): Changed to
	new trap handling.

	* true1541/true1541.h: Added new definition for
	`TRUE1541_IDLE_NO_IDLE'.

Sun Jun 21 19:23:53 1998 Andr Fachat  <a.fachat@physik.tu-chemnitz.de>

	* arch/unix/xaw/c128ui.c, arch/unix/xaw/c64ui.c: outcomment
	rs232 settings (moved to uisettings.c).

	* arch/unix/xaw/uisettings.c: Added RS232 settings, now they are
 	the same for C128 and C64 (no D6** or D7** ACIA(2))

	* arch/unix/xaw/uisettings.h: Added rs232_submenu to exported
 	menues list.

	* c128/c128.c, c128/c128mem.c: Removed acia2 references.

	* c64/c64.c, c64/c64mem.c: Removed acia2 references.

	* c64/Makefile.am: Removed c64acia2.c and c64acia2.def from file
 	list for C64 and C128.  Removed dependency to build c64acia2.c

	* c64/c64acia2.def: Removed file.

	* vmachine.h: Removed A_ACIA2, fix number of alarms.

Sun Jun 21 18:33:41 1998  Andr Fachat  <a.fachat@physik.tu-chemnitz.de>

	* c64/c64.c, c128/c128.c: Add rsuser calls for resources,
 	commandline and alarm init.

	* cia-tmpl.c, c64/c64cia.h: New calls + prototypes:
 	`mycia_set_flag' sets the flag interrupt, `mycia_set_sdr' gives
 	the byte received by the shift register.

	* c64/rsuser.c (int_rsuser): New function to handle receiving of
 	bytes from the userport.  Calls `cia2_set_flag()' and
 	`cia2_set_sdr()' to deliver the data.

	* vmachine.h: Fix number of alarms.

	* cia-tmpl.c: Fixed compiling when MYCIA_TIMER_DEBUG is set.
  	Before this patch assumed too much about maincpu_int_status, which
 	broke things.  Now nothing is assumed, all handled locally.
	(mycia_tai, my_set_tai_clk, my_unset_tai, mycia_tbi,
 	my_set_tbi_clk, my_unset_tbi): Defines to replace
 	mycpu_set_alarm_clk and mycpu_unset_alarm for timer A and B, also
 	setting mycia_t[ab]i that now keeps the cycle of the next
 	int_myciat[ab] call - except when int_myciat[ab] are skipped by
 	simply _not_ calling my_set_tai_clk but calling mycpu_unset_alarm.
  	Therefore in read_mycia the check works to reschedule alarms.

	* vmachine.h: Removed unused I_CIA1SP, I_CIA1TA, I_CIA1TB,
 	I_CIA2SP, I_CIA2TA and I_CIA2TB defines.  New defines for I_PIA1,
 	I_PIA2.

	* arch/unix/xaw/c64ui.c: New menu RsUserDev for userport RS232
 	device.

	* c64/Makefile.am: Added rsuser.h and rsuser.c to file list.

	* c64/c64.c: Call rsuser_init_resources(),
 	rsuser_init_cmdline_options() and rsuser_init().

	* c64/c64cia1.def (STORE_SDR): Call userport_serial_write_sr().

	* c64/c64cia2.def (STORE_CIAPA, READ_CIAPA): When writing to port
 	PB, call userport_serial_write_ctrl(), for reading
 	userport_serial_read_ctrl().

	* c64/rsuser.c, c64/rsuser.h: New files to handle 9600 baud
	RS232 interface.  Calls routines from rs232.h.

	* cia-tmpl.c: New defines STORE_SDR and READ_SDR fixed bug in
 	shift register handling. STORE_SDR is now called exactly once for
 	every byte transfered to the shift register.
	(mycia_set_flag): Set myciaint CIA_IM_FLAG instead of myciaflag.
  	also check and set interrupt if necessary!

	* arch/unix/xaw/uisettings.c: Added PrUserDev userport printer
 	support menus.

	* arch/unix/xaw/vic20ui.c (print_settings_menu): New menu to link
 	to printer menu in uisettings.c

	* c128/c128.c, c64/c64.c, vic20/vic20.c, pet/pet.c: Added
 	pruser.h, calling pruser_init_resources() and
 	pruser_init_cmdline_options().

	* c64/c64cia1.def (RESET_CIA): New (empty) define.

	* c64/c64cia2.def (RESET_CIA): Clear userport printer emulation.
	(STORE_CIAPB): Set userport printer output byte.
	(STORE_CIAPA): Set userport printer strobe (PA2).
	(POST_CIA_FUNCS, userport_printer_set_busy): New function to
 	signal busy printer signal to chip.

	* cia-tmpl.c (RESET_CIA): New define.

	* pet/petvia.def: Call ../c64/sid.h instead of sid.h.
	(STORE_PRA): Set userport printer data byte.
	(STORE_PCR): Set userport printer strobe.
	(RESET_VIA): Clear userport printer bytes.
	(POST_VIA_FUNCS, userport_printer_set_busy): Signal busy line.

	* pruser.h, pruser.c: New files to handle userport centronics
 	printer emulation, calling stuff from print.[ch].

	* rs232.h: Add rs232_init prototype.

	* vic20/vic20via2.def (STORE_PRB): set userport printer data byte
	(STORE_PCR): Set userport printer strobe.
	(RESET_VIA): Clear userport printer bytes.
	(POST_VIA_FUNCS, userport_printer_set_busy): Signal busy line.

	* cia-tmpl.c: Replaced all occurances of app_resources.debugFlag
 	by mycia_debugFlag.
	(int_myciata): Instead of testing for maincpu.pending_int[] for
 	the IRQ/NMI being active (so we can skip alarms), check myciaint &
 	0x80...

Sun Jun 21 19:18:02 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* pruser.c: #include <stdio.h>

	* arch/unix/xaw/uicommands.c (toggle_pause): When in pause mode,
 	call `ui_dispatch_next_event()' instead of `ui_dispatch_events()'.

	* arch/unix/xaw/uimenu.c (position_submenu_action): Lookup made a
	bit faster by doing one loop instead of two.

Sat Jun 20 23:39:53 1998 Andreas Boose  <boose@linux.rz.fh-hannover.de>

	* Version 0.14.2.42.

	* arch/unix/xaw/uisettings.c: Added new menu entries to toggle
	CBM file support.

	* c64/c64mem.c (read_io2): Moved KCS support to `read_io1()'.

	* fsdevice.c: `fsdevice_hide_cbm_files_enabled[]' new variable.
	Added switch for CBM file support to resources.
	(flush_fs, read_fs, open_fs): Added support to turn off support
	for CBM files.

Sat Jun 20 11:35:29 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* arch/unix/xaw/widgets/ScrList.c (Destroy): Do not destroy
 	children!  (So, this does nothing at all now.)

	* resources.c (resources_save): Ooops...  Write `num_resources'
	resources, instead of waiting for the first NULL name.

	* cartridge.c: Changed `cartfile' into a pointer.
	(set_cartridge_file): Use `string_set' instead of `strcpy' to
 	change the value of `cartfile'.
	(cartridge_attach_image): Likewise.
	(set_cartridge_type, set_cartridge_file): Return the value of
 	`cartridge_attach_image' instead of always zero.

	* drive.c (write_1541): Do not generate an `IPE_WRITE_PROTECT_ON'
	error if writing to the command channel.

Fri Jun 19 21:43:22 1998  Andreas Boose  <boose@unixserv.rz.fh-hannover.de>

	* Makefile.am: Removed `serial.c' from `c1541_SOURCES'.

	* autostart.c: #Include "fsdevice.h".

	* c1541.c (attach_serial_device): Renamed to
 	`serial_attach_device'.
	* c1541.h: Changed likewise.

Thu Jun 18 13:02:21 1998  Teemu Rantanen  <tvr@cs.hut.fi>

	* vic20/vic20sound.c: Changed machine -callbacks to new structure
 	(lots of changes).

	* sounddrv/sounddump.c (dump_flush): Dump state to dump-file too.

	* sounddrv/sounddummy.c (dummy_write): New function, does
	nothing. NULL on write-callbacks are no longer acceptable.

	* sounddrv/sounddump.c (dump_write): New function, does nothing.

	* sound.h (sound_device_t): Added state -info to flush -callback.
	(sound_run_sound): Removed.
	(sound_read, sound_store): New prototypes.
	(sound_machine_store, sound_machine_read,
	sound_machine_dump_state, sound_machine_prevent_clk_overflow): New
	machine callbacks.

	* sound.c (sound_run_sound): No longer public function.
	(sound_flush): Added sound chip state dumping to dump-device
	output file.
	(sound_prevent_clk_overflow): Call machine_prevent_clk_overflow().
	(sound_read): New function.  Handles all operations needed when
	reading from sound chip.
	(sound_store): New function.  Handles all operations needed when
	writing to sound chip. Reimplemented dump -device support, which
	was temporarily dropped at sound code reorganization.

	* pet/petsound.c: Added include stdio.h.

	* pet/petsound.c: Changed machine -callbacks to new structure
	(lots of changes).

	* c64/sid.h: Removed sid_prevent_clk_overflow() prototype.  It is
	now replaced with machine -callback.

	* c64/sid.c: Changed machine -callbacks to new structure (lots of
 	changes).

	* c64/c64.c (vsync_hook): Removed sid_prevent_clk_overflow().

	* c128/c128.c (vsync_hook): Replaced sid_prevent_clk_overflow() with
	sound_prevent_clk_overflow().

	* sounddrv/sounddummy.c (dummy_write): Added write-callback to
	dummy -device.  Now this is identical to speed -device, but it's
	not a big deal.

Wed Jun 17 22:07:11 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.41.

Wed Jun 17 13:59:22 1998  Andr Fachat  <a.fachat@physik.tu-chemnitz.de>

	* arch/unix/coproc.c (sigignore): Renamed to ignore, do not
 	initialize statically.
	(fork_coproc): Renamed sigignore to ignore, initialize on runtime
 	with appropriate functions.

	* arch/unix/rs232.c: #undef "DEBUG".
	(rs232_close, rs232_putc, rs232_getc): Change error output to use
 	stderr.

	* acia-tmpl.c: Changed printout on cmdline option myaciadev

	* cia-tmpl.c (int_myciata, int_myciatb): If offset is larger than
 	the timer period, skip int_myciata calls when setting up the next
 	timer alarm.

Wed Jun 17 00:01:28 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.40.

	* arch/unix/coproc.c: #include <sys/types.h>

	* arch/unix/kbd.c: Removed a few debugging messages.

	* vice.h: Don't care about `HAVE_LIBXEXT' when deciding whether
	`MITSHM' should be #defined or not.

Tue Jun 16 21:51:01 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* pet/pet.c (machine_init): Pass zero as `_handle_true1541' to
 	`autostart_init()'.

	* vic20/vic20.c, c64/c64.c, c128/c128.c (machine_init): Pass 1 as
 	`_handle_true1541' to `autostart_init()'.

	* autostart.c (autostart_init): New parameter `_handle_true1541'.
  	The value is stored in a flag `handle_true1541'.
	(autostart_advance): Do not read or modify the `NoTraps' and
 	`True1541' resources if `handle_true1541' is zero.

	* arch/msdos/menudefs.c (attach_disk_callback): Use
 	`file_system_attach_disk()' instead of `serial_select_file()'.

	* autostart.c (autostart_disk): Use `file_system_attach_disk()'
	instead of `serial_select_file()'.

	* pet/pet.c (machine_init): Initialize autostart.

	* Makefile.am: Link `x64', `x128, `xpet' and `xvic' to `@X_LIBS@'
 	and `@READLINE".

	* petcat.c: #define `PETCATVERSION' and `PETCATLEVEL'; do not
	#include "patchlevel.h"

Tue Jun 16 18:49:10 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.39.

Mon Jun 15 23:55:43 1998  Andr Fachat  <a.fachat@physik.tu-chemnitz.de>

	* acia-tmpl.c: Replaced all occurences of mycpu_set_alarm(,0) with
 	mycpu_unset_alarm()...  New cmdline option to set the device
 	number of the acia emulation.  Renamed `MyAcia' device number
 	resources to `MyAciaDev'.

	* arch/unix/coproc.c, arch/unix/coproc.h: New files to allow
 	forking of another process whose stdin/stdout is piped to
 	filedescriptors that are returned.  Kind of bi-directional
 	popen().

	* arch/unix/rs232.c (rs232_open): Add coprocess handling filename
 	handling is symmetric, i.e. all files starting with '|' are opened
 	as coprocess (without the '|'), all terminals are opened as
 	terminals and the rest as dump file.
	(resources): New resources for fourth device, the exec device.
	(struct RS232): Split filedescriptor to one for reading and one
 	for writing. fixed all occurances.
	(rs232_reset): Now call rs232_close() on all open files.
	(rs232_close): Fix to unset raw mode on open tty files.

	* arch/unix/xaw/c64ui.c (acia1_device_submenu,
 	acia2_device_submenu): renamed Acia[12] device number resources to
 	Acia[12]Dev.
	(set_rs232_exec_file): New function to set the program filename
 	for RS232 device 4 (exec).
	(rs232_submenu): Switched D6** and DE** entries,as DE** is acia1,
 	and d6** is acia2

	* c64/c64.c: Call acia[12]_init_cmdline_options.

	* c64/c64acia.h: Prototypes for acia[12]_init_cmdline_options.

	* c64/c64mem.c: Rename acia_de and acia_d6 to acia1 and acia2
 	cmdline options.

	* main.c: added cmdline option "-?" for help.

	* c64/c64cia1.def (INCLUDES): Added `c64cia.h'.

	* cia-tmpl.c: Replaced all occurances of `maincpu' with `mycpu'.
	(int_myciata): IRQ mask condition for scheduling alarm changed.
  	Now only scheduled when IRQ line is not already set.  Still
 	scheduled for SDR, cascade and PB6 output operation.

	* acia-tmpl.c: Removed `DEBUG' #define.

	* arch/unix/petkmap.c: Changed default of graphics positional
 	mapping keymap file to the already distributed `posg_de.vkm'.

	* arch/unix/xaw/petui.c: Renamed PET 2001 to PET 2001-8N
	(8k memory, graphics keyboard).

	* pet/petmem.c (initialize_memory): Removed debug print.
	(mem_load): Add checksum identification check of 2001 kernal.

	* pet/pets.c (pet_table): Added pet 2001 ident flag to table
	(pet_set_model): Transfer pet2k entry from table to current mode
 	struct
	(set_kernal_rom_name): Do not set pet2k flag depending on kernal
 	name anymore

	* pet/pets.h: Removed `keyb_gr' and `keyb_bs' keymap file name
 	entries from `petinfo' struct.

Sun Jun 14 21:25:53 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.38.

	* pet/crtc.c (crtc_set_screen_mode): Set `memptr_inc' according to
 	the new video width; resize the width of the window proportionally
 	to the change in the number of columns if not in double size mode
 	(otherwise, don't change it).  Don't change the window height.

	* arch/unix/xaw/uisettings.c: #include <errno.h>.

Sun Jun 14 19:48:20 1998  Andr Fachat  <a.fachat@physik.tu-chemnitz.de>

	* arch/unix/kbd.c (set_keymap_index): New function to set the
 	index of the currently used keymap file in a table.  The table
 	contains a list of resource names, where the resources then have
 	the filename.  Even numbers have a symbol mapping, odd numbers the
 	corresponding positional mapping.
	(do_kbd_init_resources, do_kbd_init_cmdline_options): Renamed to
 	call them from the C64/C128/VIC20 and the PET file.
	(keymap_res_name_list): List of resource names for the keymap
 	files
	(kbd_dump_keymap): Fix a bug in dumping joystick mappings.  Works
 	now.

	* arch/unix/kbd.h: Fixed prototypes.  do_* are in kbd.c, the
 	corresponding * files are in kmap.c and the corresponding pet_*
 	files are in petkmap.c

	* arch/unix/kmap.c: New file.  Handles the standard keymap file
 	list (of two files, default.vkm for symbol mapping and
 	position.vkm for positional mapping)

	* arch/unix/kmap.c: New file.  Handles the keymap file list for
 	the PET. has four instead of two entries, two for graphics and two
 	for business UK keyboards.

	* arch/unix/xaw/c128ui.c, arch/unix/xaw/c64ui.c,
 	arch/unix/xaw/vic20ui.c: use ui_keyboard_settings_menu

	* arch/unix/xaw/petui.c (petui_set_model): call ui_update_menus() to
	update menus.
	(set_KeyboardType): Switch between graphics and business keyboard,
	called from `pet_keybd_submenu()'.
	`pet_custom_model_submenu' moved to model_settings_submenu.
	`model_defaults_submenu' cut from model_settings_submenu.
	`model_settings_submenu' moved default model settings to submenu
	and the custom menus in here to reduce menu depth.

	* arch/unix/xaw/uisettings.c (set_keymap_type, dump_keymap):
 	Select between symbol and positional mapping, set new filenames
 	for the keymap filenames and dump keymap.
  	(keyboard_maptype_submenu, select_user_keymap): Likewise.
	(keyboard_settings_submenu): Likewise.

	* c128/c128.c, c64/c64.c, pet/pet.ci, vic20/vic20.c: call
	kbd_init_resources and kbd_init_cmdline...

	* mon.c: Fix "m" output: 16 bytes per line and 128 byte if no end
 	address given.  Insert a space after each four bytes for
 	readability

	* pet/pets.h, pet/pets.c: Switch graphics/business keyboard value
 	in default table.  Default is 8032 and therefore keymap index 0
 	should be KeymapBusinessUKSymFile.
	(pet_set_model): Fix to use keymap index.

Sun Jun 14 18:18:36 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.37.

	* arch/msdos/menudefs.c (create_special_submenu): New parameter
 	`has_serial_traps'.  If nonzero, add the `Remove serial traps'
 	menu item.
	(ui_create_main_menu): New parameter `has_serial_traps'.  Pass it
	to `create_special_submenu'.  Callers updated.

	* arch/msdos/c64ui.c: Fixed/added some shortcuts.

	* arch/msdos/petui.c: Added palette menu.

	* arch/msdos/menudefs.c: Miscellaneous little fixes.

	* vmachine.h [!HAVE_RS232]: Do not add the ACIA special
	alarms.

	* c64/c64mem.c, c64/c64.c [!HAVE_RS232]: Disable RS232 stuff.

Sun Jun 14 01:42:52 1998  Andreas Boose  <boose@unixserv.rz.fh-hannover.de>

	* arch/unix/xaw/uicommands.c (detach_cartridge): Removed
 	`suspend_speed_eval()'.  Changed item `Set cartridge as default'
 	from a switch to a command.

	* c64/c64mem.c (store_io2, read_io2, read_io1): Added KCS power
 	cartridge support.
	(initialize_memory): Initialize KCS power cartridge if enabled.
	(mem_attach_cartridge): Allow to attach KCS power cartridge.

	* cartridge.c: Removed `cartridge_default_enabled' and
 	`set_cartridge_default_enabled()'.  New variables `carttype' and
 	`cartfile'.
	(cartridge_attach_image): Fixed some typos.  Added KCS power
 	cartridge support.
	(cartridge_detach_image): Do not change resources anymore.
	(cartridge_set_default): New function.

	* cartridge.h: Reassigned cartridge type defines.

Sat Jun 13 17:45:08 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* arch/msdos/kbd.c (handle_joy_emu): Removed.
	(my_kbd_interrupt_handler): Call `joystick_handle_key()' instead
	of `handle_joy_emu()'.

	* arch/msdos/joystick.c: `joystick_available' renamed to
 	`num_joysticks'.  New resources and command-line options to setup
 	joystick devices.
	(joystick_init): Try to autodetect dual joysticks.
	(joystick_handle_key): New function.
	(joystick_update): Use the new resources and handle the second
	joystick if present.

	* icon.h: Removed.

	* rs232.h (rs232_getc): Avoid multiple inclusion via CPP.
	#include "types.h".
	(rs232_init_cmdline_options): Prototype.
	(rs232_init_resources): Prototype.

	* arch/unix/rs232.c: #include <termios.h>, <string.h>.

Sat Jun 13 13:22:05 1998  Andreas Boose  <boose@unixserv.rz.fh-hannover.de>

	* fsdevice.c (open_fs): Always convert file name.

	* drive.c (open_1541): Limit file name to 16 chars.
	(do_validate): Write back BAM only if validate was successful.

Fri Jun 12 23:58:16 1998  Andr Fachat  <a.fachat@physik.tu-chemnitz.de>

	* acia-tmpl.c: New file, ACIA 6551 template.  This handles the
 	ACIA RS232 emulation and calls arch-specific stuff in rs232.c

	* acia.h: ACIA register definitions

	* arch/unix/rs232.c: New file, handles `/dev/ttyS*' and file dump
 	handling for any rs232 emulation (ACIA, UART, 9600, standard)
	(msdos needs stubs that return -1 in any case...).

	* arch/unix/xaw/c64ui.c: Added RS232 menus.

	* c64/Makefile.am: Added dependencies for c64acia*.c to build from
 	../acia-tmpl.c

	* c64/c64.c: Added initialization of acia1/acia2 resources, RS232
 	resources and command line options, interrupt calling
 	int_acia[12], reset_acia[12],

	* c64/c64acia.h: Function prototypes for c64acia files.

	* c64/c64acia1.c, c64/c64acia2.c: New files, derived from
	acia-tmpl.c.

	* c64/c64acia1.def, c64/c64acia2.def: Definitions for building
	c64acia[12].c.

	* c64/c64mem.c: New resources AciaDE and AciaD6 to enable acia1
 	and acia2
	(store_io1, read_io1): Call read_acia1/store_acia1 if appropriate
	(store_d6, read_d6): New functions to call read_acia2/store_acia2
 	if appropriate or read_sid/store_sid if not

	* rs232.h: New file.  Defines the general rs232 interface used by
 	the chip emulations.  Hides all the external device stuff from the
 	real emulation

	* vmachine.h: Added A_ACIA1, A_ACIA2, I_ACIA1, and I_ACIA2.
  	increased NUMOFALARM and NUMOFINT

Fri Jun 12 17:47:37 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.36.

	* fsdevice.c (flush_fs, open_fs, read_fs): Put a '/' after the
 	device-specific path.
	(fs_test_pc64_name, fs_find_pc64_name): Likewise.
	(fsdevice_compare_file_name, fsdevice_create_file_p00): Likewise.

	* arch/unix/xaw/uisettings.c (UiSetCustom1541SyncFactor): Renamed
 	to `set_custom_true1541_sync_factor'.
	(UiSetFSDeviceDirectory): Renamed to `set_fsdevice_directory'.
  	Use a simple text requester instead of the file selector.

	* c128/c128.c (machine_init): (Temporarily) call `c64_kbd_init()',
 	not `c128_kbd_init()'.

	* arch/msdos/menudefs.c: New settings for FS/P00 access.

	* arch/msdos/c128ui.c, arch/msdos/c128ui.h: New files.

	* arch/msdos/video.c: New variable `in_gfx_mode'.
	(enable_text, video_init): Set `in_gfx_mode' to 0.
	(disable_text, canvas_set_vga_mode): Set `in_gfx_mode' to 1.
	(canvas_set_palette): If in graphics mode, set the new VGA palette
 	colors.
	(canvas_set_vga_mode): Set the VGA palette colors.

Thu Jun 11 20:54:20 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* arch/msdos/menudefs.c: Removed some unused conditionals.
	(attach_disk_callback, attach_tape_callback): Handle the case when
	no file is attached to the device and `serial_get_file_name()'
	returns NULL.

Wed Jun 10 22:26:59 1998  Andr Fachat  <a.fachat@physik.tu-chemnitz.de>

	* arch/unix/xaw/petui.h: defined new PET model menues
	(toggle_Crtc, toggle_Ram9, toggle_RamA, radio_VideoSize,
	radio_RamSize, radio_IOSize, petui_set_model).

	* pet/pet.c (set_model_name): Fixed `pet_set_model()' parameters.
	Removed PET model resource/cmdline options.

	* pet/petmem.c: Removed lots of single-variable resources moved
 	resource change functions and resource and cmdline option tables
 	to `pet/pets.c'.
	(initialize_memory): Fixed to use `PetInfo pet' struct for mapping
 	info (`pet' is the new resource).
	(mem_load): Use pet struct for ROM filenames.  Only set screen
 	width if video resource is set to Auto and we actually found a
 	known ROM
	(set_screen): New function to set the screen width to the crtc.

	* pet/pets.c (pet_table): Fixed up to new format.
	(pet_set_model): Use resource fucntions to set all values from the
 	table to the pet struct (the new resource).
	(check_info): New function.  Sets up derived variables in pet
 	struct
	(set_iosize, set_crtc_enabled, set_kbd_type, set_ramsize,
 	set_video, set_ram_9_enabled, set_ram_a_enabled,
 	set_chargen_rom_name, set_kernal_rom_name, set_editor_rom_name,
 	set_rom_module_9_name, set_rom_module_a_name,
 	set_rom_module_b_name): resource change functions partly new and
 	partly moved from pet/petmem.c
	(resources, pet_mem_init_resources, cmdline_options,
 	pet_mem_init_cmdline_options): PET hardware resources & cmdline
 	opts.

	* pet/pets.h: New format of `struct PetInfo'.

Mon Jun  8 11:08:16 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.35.

	* maincpu.c: Use `mem_rom_trap_allowed()' instead of the removed
 	`rom_trap_allowed()'.
	* c128/c128cpu.c: Likewise.

	* pet/pet.c (machine_init_resources): Don't initialize
 	trap-related resources (no traps are used in xpet).
	(machine_init_cmdline_options): Don't inititialize trap-related
	command-line options.

	* c64/c64.c, vic20/vic20.c, pet/pet.c, c128/c128mem.c
 	(rom_trap_allowed): Removed.
	* c64/c64mem.c, vic20/vic20mem.c, pet/petmem.c, c128/c128mem.c
 	(mem_rom_trap_allowed): Moved here.

	* c64/c64.c, vic20/vic20.c, c128/c128.c (machine_init): Load
 	`default.vkm' instead of `vice.vkm'.

	* arch/unix/xaw/petui.c (pet_ui_init): Disable drive status line.

	* resources.c (resources_load): Print the "Reading..." message
 	after the file has been successfully open.

	* arch/unix/xaw/vic20ui.c: Added options to setup the memory
	configuration at runtime.

	* vic20/vic20mem.c (cmdline_memory): Default to "no expansion".
	(vic20_mem_disable_ram_block): Removed debugging message.

	* arch/unix/xaw/uicommands.c (attach_cartridge): Removed temporary
 	`title' variable.  Do not pass `read_disk_image_contents' to
 	`ui_select_file'.

Mon Jun  8 00:19:05 1998  Daniel Sladic  <sladic@eecg.toronto.edu>

	* mon.c: Support 'next' and 'return' instructions. Lots of stuff
 	to fix wraparound ranges and default address handling.  Change SR
 	to show unused bit as '1' not 'x'.  Added displaying binary data
 	with 'm'.  Fixed memory space handling of label files.

	* mon.h: Added `mon_instruction_return()' prototype.

	* mon_lex.l: Allow all characters in filenames.

	* mon_parse.y: Handle immediate constants > 0xff.  Add
	'return' command.  Fix block disk commands.

Sun Jun  7 22:19:16 1998  Andreas Boose  <unixserv@linux.rz.fh-hannover.de>

	* attach.c: Turn on file system devices by default.

	* fsdevice.c (fsdevice_init_cmdline_options): New function.
	(cmdline_fsdirectory): New function.

	* fsdevice.h: Added `fsdevice_init_cmdline_options'.

	* main.c (main): Initialize file system device specific
	command-line options.

	* Makefile.am: Added `cartridge.h' to `noinst_HEADERS' and
 	`cartridge.c' to `base_sources'.

	* arch/unix/xaw/c64ui.c: Removed callback `ActionReplay'.  Added
 	new `ui_cartridge_commands_menu' menu.

	* arch/unix/xaw/uicommands.c: Added new callbacks
 	`attach_cartridge' and `detach_cartridge'.  Added new menus
 	`attach_cartridge_image_submenu' and `ui_cartridge_commands_menu'.

	* arch/unix/xaw/uicommands.h: Added `ui_cartridge_commands_menu'.

	* c64/c64mem.c: Removed `action_replay_enabled'.  Added new
 	variable `mem_cartridge_type' instead.  Changed to new cartridge
 	handling.
	(mem_attach_cartridge, mem_detach_cartridge): New functions.
	(set_action_replay_enabled): Removed.
	(action_config_changed): Renamed to `cartridge_config_changed'.

	* cartridge.c, cartridge.h: New files.

	* main.c (main): Initialize cartridge support.

	* mem.h: Added `mem_attach_cartridge' and `mem_detach_cartridge'.

	* c128/c128mem.c, pet/petmem.c, vic20/vic20mem.c: Added stubs
	for cartridge support.

Sun Jun  7 11:40:41 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.34.

	* c128/c128mem.c (store_mmu): Set the VIC-II video-bank base
	according to bits 7 and 6 stored to $D506.

	* c64/vicii.c: New variable `ram_base'.  All the functions in this
	file use that one instead of `ram'.
	(vic_ii_set_ram_base): New function.

	* arch/unix/xaw/uicommands.c (do_exit): Just call `ui_exit()'.

	* arch/unix/xaw/ui.c (ui_exit): New function.
	(close_action): Call it.

	* drive.c (open_1541): Do not try to open the file on the file
	system if no disk is attached.  Generate an `IPE_NOT_READY' error
	and return `SERIAL_ERROR' instead of `SERIAL_NO_DEVICE'.

	* arch/unix/xaw/ui.c (ui_popup): Make sure the widget is fully
	visible when positioning it.

	* arch/unix/xaw/uimenu.c: New variable `top_menu'.
	(menu_popup_callback): If this is the top menu, set `top_menu' to
 	this widget.
	(popdown_submenus_action): Popdown the top menu too.

	* arch/unix/xaw/uimenu.c (popdown_submenus_action): Popdown the
	two main menus.

	* arch/unix/xaw/c64ui.c, arch/unix/xaw/c128ui.c: Added palette
	setting submenu.
	* arch/unix/xaw/petui.c: Likewise.

	* pet/crtc.c (set_palette_file_name): Load the new palette file if
	the name changes.

	* c64/vicii.c (set_palette_file_name): Always physically load the
 	new palette, even if not on MS-DOS.
	(set_palette_file_name): If `palette' is NULL, only set the value
 	of `PaletteName' without trying to load the palette file.

	* arch/unix/xaw/uimenu.h (UI_MENU_DEFINE_STRING_RADIO): New macro.

	* arch/unix/xaw/ui.c (ui_canvas_set_palette): New function.

	* arch/unix/video.c (canvas_set_palette): New function.

	* arch/msdos/video.c (canvas_set_palette): Return type changed to
	`int'.  Return 0.

	* arch/unix/xaw/ui.c: New variable `have_truecolor'.
	(ui_init_finish): If using a TrueColor visual, set
	`have_truecolor' to 1, otherwise to 0.
	(alloc_colormap): Always install a private colormap if using a
	TrueColor visual (`have_truecolor' != 0).

Sat Jun  6 11:11:11 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* c128/c128mem.c (read_basic_lo, store_basic_lo): Do not check for
 	shared memory, because these addresses cannot be shared.
	(read_basic_hi, store_basic_hi): Likewise.
	(store_ddxx, read_ddxx, store_dcxx, read_dcxx): Handle shared
 	memory.
	(store_d8xx, read_d8xx, store_d6xx, read_d6xx): Likewise.
	(store_d5xx, read_d5xx, store_d4xx, read_d4xx): Likewise.
	(store_d0xx, read_d0xx, store_empty_io, read_empty_io): Likewise.
	(store_editor): Always store in RAM.
	(store_mmu): Print out messages only if `DEBUG_MMU' is #defined.
	(store_rom): Added missing `break' statement.

	* cmdline.c (cmdline_show_help): Output to `stdout', not `stderr'.

Thu Jun  4 00:51:18 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.33.

	* c128/c128.c (machine_init): Call `c128_ui_init()', not
 	`c64_ui_init()'.

	* true1541/1541cpu.c: Never #define `TRACE'.

	* c128/c128mem.c (mem_load): Removed BASIC patch.

	* c64/vicii.c (vic_ii_init): Adapt the VIC-II window title to the
	the running emulator, using `machine_name'.

	* c64/vicii.h: Removed `VIC_II_WINDOW_TITLE' #define.

	* arch/unix/xaw/c128icon.xpm: New file.

	* arch/unix/xaw/c128ui.c, arch/unix/xaw/c128ui.h: New files.

	* drive.c (open_1541): Do not report an error if opening the
	command channel or a memory buffer with no image attached.
	(do_block_command): If block commands `R' or `W' fail, report a
	`IPE_NOT_READY' error.

	* c64/vicii.c (reset_vic_ii): Set the IRQ line number to 0 and
	prepare the corresponding alarm.  Set $D01A to zero.

	* c128/c128.c (machine_reset): Call `initialize_memory()'.

	* c128/c128mem.c: New C128-specific memory access scheme
 	implemented.

	* c128/c128cpu.c: #define `PAGE_ONE' to `page_one'.

Wed Jun  3 19:18:28 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Makefile.am: Link `x128' to `c64/libc64c128.a'.

	* c64/Makefile.am: New `libc64c128.a' library.

Tue Jun  2 01:52:39 1998  Daniel Sladic  <sladic@eecg.toronto.edu>

	* mon.c: Added new commands to mon_cmd_array[]. Changed the
 	default number of displayed numbers to 80.  Fixed range checking.
  	Added functions check_positive_range(), and get_range_info().
  	Fixed goto command.  Change 0x to $ for diehard 64 fans.  Lots of
 	fixes in mon_display_data() and mon_display_memory().  First try
 	at handling 0-ffff wrap.  Support for > command.

	* mon.h: Change mon_display_data() prototype.

	* mon_lex.l: Fix error reporting for 'a' command.  Remove
 	requirement of a space after @, >, and ~ commands.

	* mon_parse.y: Handle addresses > $ffff.  Add >, mc, ms, and i
 	commands.  Change check_addr_limits() to CHECK_ADDR().

Tue Jun  2 00:22:02 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* c128/c128.c (machine_init_cmdline_options): Initialize
 	sound-specific command-line options.
	(machine_init_resources): Initialize sound-specific resources.

	* 6510core.c (BRANCH): Increment PC at the end of the opcode only.
	(STA_ZERO, STX_ZERO, STY_ZERO): Store before incrementing PC.
	(STA, STX, STY): Use `tmp' instead of `addr' when storing.

	* c128/vdc.c: `vdc' made static.

	* tapeunit.c (SET_ST, findheader): Use `mem_store()' instead of
 	`STORE()'.
	(SET_ST): Use `mem_read()' instead of `LOAD()'.
	(findheader): Use `mem_read()' instead of `LOAD_ZERO()' or
 	`LOAD()'..

	* misc.c (sprint_ophex, sprint_opcode, eff_address): Use
 	`mem_load()' instead of `LOAD()'.
	(eff_address): Use `mem_read()' instead of `LOAD_ZERO_ADDR()'.

	* c128/vdc.c (store_vdc): Use `mem_read()' instead of `LOAD()'.

	* c64/reu.c (reu_dma): Use `mem_read()' instead of `LOAD()' and
 	`mem_store()' instead of `STORE()'.

	* serial.c (serialattention, serialsendbyte): Use `mem_read()'
	instead of `LOAD()'.
	(serialreceivebyte): Use `mem_store()' instead of `STORE()'.

	* arch/unix/xaw/ui.h: Don't try to #include "xdebug.h" anymore.

	* sounddrv/soundsdl.c: Put back in.

	* maincpu.c: #define `_MAINCPU_C' before #including anything.

	* mem.h: Do not define the memory access macro unless `_MAINCPU_C'
 	is #defined.

	* c128/c128cpu.c, c128/c128cpu.h: New files.

	* 6510core.c (STA): use `tmp' instead of using `addr' again.
	(DCP, DEC, INC, LSR, RLA, ROL, SRE): Store the address into a
 	temporary variable instead of evaluating it more than once.
	(JSR): Type of `tmp_addr' changed to `unsigned int'.

Mon Jun  1 21:46:49 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.32.

	* c64/vicii.c (store_d011): (Hopefully) fixed 24->25 and 25->24
 	line mode switches on the start/stop lines of the respective modes.

Mon Jun  1 15:40:19 1998  Andreas Boose  <boose@unixserv.rz.fh-hannover.de>

	* attach.c (file_system_attach_disk): Fixed typo.

Mon Jun  1 00:23:30 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* vice.h: Added `alloca()' portability stuff, ripped from GNU
 	make.

	* Makefile.am: Link all the executables to `@ALLOCA@' and
 	`@LIBOBJS@'.  Removed depenendencies to `.PHONY' target from
	executable targets.

	* alloca.c: New file.

	* arch/unix/xaw/widgets/FileSel.c: #define `VICE'.

	* arch/unix/xaw/ui.c (ui_init): Call `ui_hotkey_init()'.

	* arch/unix/xaw/uicommands.c: Added a few shortcuts for attaching
	disk images and resetting the machine.

	* arch/unix/xaw/ui.c (handle_hotkeys): Removed.

	* arch/unix/xaw/uimenu.c (ui_menu_create): If this is item has no
 	submenu and the `hotkey_keysym' is nonzero, register the specified
 	`hotkey_keysym'/`hotkey_modifier' couple as an hotkey shortcut for
 	it.

	* arch/unix/xaw/uimenu.h: New members `hotkey_keysym' and
	`hotkey_modifier' in `ui_menu_entry_t'.

	* arch/unix/xaw/ui.c (ui_open_canvas_window): Add
 	`ui_hotkey_event_handler' as the event handler for `KeyPress' and
 	`KeyRelease' events.

Sun May 31 23:24:06 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* arch/unix/xaw/uihotkey.c, arch/unix/xaw/uihotkey.h: New files.

	* arch/unix/xaw/uicommands.c (browse_manual): Browse the docs in
	`DOCDIR', not in `LIBDIR "/" DOCDIR'.

	* vice.h: Changed `DOCDIR' to `LIBDIR "/doc"'.

	* arch/unix/xaw/ui.c (activate_xdebug_window): Removed.
	(ui_jam_dialog): Removed "Debug" button.
	(close_action): Do not handle the XDebugger special case anymore.

	* arch/unix/xaw/uicommands.c: Removed commands for activating the
 	XDebugger.

	* arch/unix/xaw/xdebug.c, arch/unix/xaw/xdebug.h: Removed.
  	Requiescat In Pace.

	* arch/unix/xaw/uicommands.c (do_exit): Added missing space in
	quit message.

	* arch/unix/xaw/uisettings.c (set_maximum_speed): Fixed to set the
	speed correctly.
	(set_maximum_speed, set_custom_maximum_speed): Update the tick of
	the "Custom" entry properly.
	(set_refresh_rate, set_custom_refresh_rate): Update the tick of
	the "Custom" entry properly.

Sun May 31 16:47:59 1998  Andreas Boose  <boose@linux.rz.fh-hannover.de>

	* fsdevice.c (fs_error): Updated identification string.
	(flush_fs): Implemented P00 scratch and rename support.
	(write_fs): Allow writes if the file is opened in append mode.
	(open_fs): Rewritten to handle P00 files and append mode access.
	(fs_buffer_info): New member `type'.
	(fsdevice_evaluate_name_p00): New function.
	(flush_fs): Added P00 file scratch support.
	(read_fs): New file type handling.
	(open_fs): Added access mode override support.

Sat May 30 15:26:02 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* c64/vicii.c (set_palette_file_name): Load the new palette file
 	correctly.

Thu May 28 19:25:28 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.31.

	* arch/unix/xaw/vic20ui.c (UiSetJoystickDevice1): Renamed to
 	`set_joystick_device'.

	* arch/unix/xaw/c64ui.c (UiSetJoystickDevice1): Renamed to
 	`set_joystick_device_1'.
	(UiSetJoystickDevice2): Renamed to `set_joystick_device_2'.

	* arch/unix/xaw/petui.c (UiSetJoystickDevice1): Renamed to
 	`set_joystick_device_1'.
	(UiSetJoystickDevice2): Renamed to `set_joystick_device_2'.

	* arch/msdos/tuifs.c (file_list_read): Set a few bits in
 	`_djstat_flags' to make `stat()' faster.
	(file_list_add_item): Use `xmalloc()'/`xrealloc()' instead of
 	`malloc()'/`realloc()'.

	* c64/vicii.c (set_palette_file_name) [__MSDOS__]: Load the new
 	palette if the value changes.

	* arch/msdos/c64ui.c: Implemented submenu for palette selection.

	* arch/msdos/video.c (canvas_set_palette): New function.
	(disable_text): Re-initialize the VGA palette according to the
	values in the `colors' member of `canvas_t'.

	* arch/msdos/menudefs.c (attach_disk_callback): Start the file
	selector with the name of the currently attached disk image as the
	default.
	(attach_tape_callback): Likewise.

	* arch/msdos/tuifs.c (tui_file_selector): New parameters
 	`directory' and `default_item'.  Do not call `chdir()' anymore,
 	just move around using `return_path' as the currently selected
 	directory.  If `default' is non-NULL and it points to the name of
 	any of the files in the directory, position the cursor on that
 	file.

	* arch/msdos/tuimenu.c (tui_menu_add): New function.

	* arch/msdos/ui.c: Removed all the menu implementation (moved to
 	`arch/msdos/menudefs.c').
	(ui_init_finish): Do not create the main menu anymore.

	* c64/c64.c (machine_init) [__MSDOS__]: Call `c64_kbd_init()'
	instead of `kbd_init()'.

	* c128/c128.c (machine_init) [__MSDOS__]: Call `c128_kbd_init()'
 	instead of `kbd_init()'.

	* vic20/vic20.c (machine_init) [__MSDOS__]: Call `vic20_kbd_init()'
	instead of `kbd_init()'.

	* pet/pet.c (machine_init) [__MSDOS__]: Call `pet_kbd_init()'
 	instead of `kbd_init()'.

	* arch/msdos/menudefs.c, arch/msdos/menudefs.h: New files.

	* arch/msdos/c64kbd.c, arch/msdos/c64kbd.h: New files.

	* arch/msdos/vic20kbd.c, arch/msdos/vic20kbd.h: New files.

	* arch/msdos/petkbd.c, arch/msdos/petkbd.h: New files.

	* arch/msdos/c64ui.c, arch/msdos/c64ui.h: New files.

	* arch/msdos/vic20ui.c, arch/msdos/vic20ui.h: New files.

	* arch/msdos/petui.c, arch/msdos/petui.h: New files.

	* true1541/true1541.c (true1541_set_ntsc_sync_factor): Do not do
	anything if `ntsc_cycles_per_sec' is still zero.
	(true1541_set_pal_sync_factor): Do not do anything if
	`pal_cycles_per_sec' is still zero.

	* main.c: `progname' and `boot_path' made non-const.
	(set_boot_path): Use `fname_split()' instead of `fnsplit' and
 	`fnmerge'.

	* utils.c (fname_split): New function.

	* c64/c64mem.c: Size of `export_ram0' changed from 0x1fff to
 	0x2000 elements.

	* sound.c (sound_init): #ifdef `HAVE_AUDIOIO_H' -> #ifdef
 	`HAVE_SYS_AUDIOIO_H'.

Wed May 27 20:48:34 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Makefile.am: Added `mon_parse.h' and `mon_parse.c' to
 	`BUILT_SOURCES'.

	* main.c [__MSDOS__] (set_boot_path): Fixed path composition.

	* resources.c (default_resource_file) [__MSDOS__]: Added missing
 	`/' after `boot_path' when composing the file name.

Tue May 26 20:56:23 1998  Daniel Sladic  <sladic@eecg.toronto.edu>

	* Makefile.am: Added `-d' to `YFLAGS' to generate header file.

	* c64/c64mem.c: Transformed all watchpoint functions into a
	single function.

	* misc.c: Renamed `symbol_table_lookup_name' to
 	`mon_symbol_table_lookup_name'.

	* mon.c/mon.h: Lots.

	* mon_lex.l: Made `yywrap' and `resolve_datatype' static.  Changed
 	datatype handling to radix handling.

	* mon_parse.y: Removed address ranges.  Changed datatype handling
 	to radix handling.  Added `mon_' prefix to all monitor functions.
  	Made local functions static.

	* pet/petmem.c: Added watchpoint handling.

	* vic20/vic20mem.c: Transformed all watchpoint functions into a
	single function.

	* true1541/1541cpu.c: Transformed all watchpoint functions into a
	single function.

Sat May 23 15:40:04 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* mon.c [!HAVE_READLINE] (readline, add_history): Simple
 	replacements for the readline functions.

	* sounddrv/soundmidas.c: #include <stdio.h>.
	(midas_close): Added parameter `w'.

	* arch/msdos/vsync.c (vsync_disable_timer): New (dummy) function.

	* arch/msdos/ui.c (ui_init_resources, ui_init_cmdline_options):
	New (dummy) functions.

	* arch/msdos/vsync.c: Implemented new-style resource handling.

	* arch/msdos/vsync.c (vsync_prevent_clk_overflow): Made public;
 	new parameter `sub'.  Only subtracts `sub' from
 	`speed_eval_prev_clk' now.
	(do_vsync): Do not call `flush_sound' anymore.
	(do_drive): Removed.
	(vsync_init): New parameters `hz', `cycles', `hook'.  Do not call
	`joystick_init()' anymore.

	* arch/msdos/menudefs.c, arch/msdos/menudefs.h: New files.

	* resources.c (resources_toggle): New function.

	* arch/msdos/tui.c, arch/msdos/tui_backend.c: Do not #include
 	"patchlevel.h".

	* arch/msdos/kbd.c (kbd_init): Added (currently unused)
	`keymap_name' parameter.

	* arch/msdos/kbdef.h: Temporarily enable the C64 keyconvmap only;
	disabled the PET ones.

	* arch/msdos/kbd.c: #include "vice.h"; do not #include "macro.h".

	* arch/msdos/joystick.c (joystick_init_resources): New dummy
 	function.
	(joystick_init_cmdline_options): New dummy function.
	(joystick_update): Temporarily removed assignment to `joy'
	(waiting for a complete support for new-style resources and
	command-line options).

	* Reintroduced MS-DOS sources.

	* mon.h: #undef `TRUE' and `FALSE' before redefining them.

	* pet/crtc.c, vic20/vic.c: Do not #define `pixel_width' or
 	`pixel_height'.

Fri May 22 18:00:00 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.30.

Fri May 22 00:52:42 1998  Daniel Sladic  <sladic@eecg.toronto.edu>

	* data/C64/vice.vkm, data/C128/vice.vkm: Setup custom key joystick.

	* arch/unix/joystick.c (joyport1select, joyport2select): Support
	custom key joysticks.

	* arch/unix/kbd.c: Added functions `kbd_add_custom_joykeys' and
 	`kbd_remove_custom_joykeys'.  Added arrays `custom_joykeys' and
 	`custom_joykeys_backup'.
	(kbd_event_handler): Handle custom key joysticks.
	(kbd_parse_entry): Store custom key entries and make backups of
 	keys that they replace.

	* arch/unix/kbd.h: Added functions `kbd_add_custom_joykeys' and
 	`kbd_remove_custom_joykeys'.

	* uisettings.h (UiSetJoystickDevice1, UiSetJoystickDevice2): Removed.
	(UiSwapJoystickPorts, UiSetNumpadJoystickPort): Removed.
	(ui_joystick_settings_menu): Removed.

	* mon.c (symbol_table_lookup_addr): Removed debugging output.
	(watch_push_store_addr): `watch_load_count' ->
 	`watch_store_count'.
	(watchpoints_check_loads): While loop test changed to `count'.

Fri May 22 00:17:16 1998  Andreas Boose  <boose@unixserv.rz.fh-hannover.de>

	* arch/unix/xaw/uisettings.c: Added new menu entries to toggle
	P00 save support.

	* c64/c64iec.c: Changed to include `c64cia.h'.
	New variable `iec_fast_1541' to save the IEC status when true1541
	emulation is disabled.  (iec_cpu_write, iec_cpu_read): Changed to
	return the correct IEC status.

	* c64/c64mem.c (initialize_memory): Initialize Action Replay
	if enabled.

	* fsdevice.c: Added new functions `fsdevice_create_file_p00',
	`fsdevice_reduce_filename_p00' and `fsdevice_eliminate_char_p00'.
	Added P00 save support switches to resources.  (open_fs): Do not
	convert CBM file names and call `fsdevice_create_file_p00' if P00
	save support is enabled.

Wed May 20 19:20:21 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.29.

	* arch/unix/readline: `Readline' replacement put back in.

Wed May 20 00:06:34 1998  Andreas Boose  <boose@unixserv.rz.fh-hannover.de>

	* fsdevice.c (fs_test_pc64_name): Changed to handle separate
 	directories.
	(fsdevice_compare_pc64_name, fsdevice_compare_file_name): New
 	functions.
	(open_fs): Changed to handle wildcards.

Tue May 19 00:07:35 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.28.

	* true1541/1541cpu.c (true1541_cpu_reset): Set `last_clk' to zero.

Mon May 18 23:04:00 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* c128/c128.c: Corrected return addresses for "SerialReady" traps.

	* c128/c128mem.c (initialize_memory): Fixed typo in `shared_size'
 	assignment.
	(store_mmu): Re-initialize memory when register 0 is written to.

Mon May 18 17:52:09 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.27.

	* c64/sid.c (doosc): Removed temporary fix.

	* Makefile.am: Set `YFLAGS' to `-t'.

	* c128/c128mem.c (initialize_memory): Initialize `mem_read_tab[1]'
	and `mem_write_tab[1]' properly.

	* sound.c (set_device_name, set_device_arg): Reallocate the
 	resource value instead of just assigning the pointer.

Min May 18 17:34:22 1998  Andreas Boose  <boose@unixserv.rz.fh-hannover.de>

	* arch/unix/xaw/uisettings.c: New UI callback
 	`UiSetFSDeviceDirectory' to select a directory.  Splitted UI
 	callback `FSDeviceConvertP00' into one callback per fsdevice.  New
 	menus `set_file_system_device_directory_submenu' and
 	`set_file_system_device_p00_support_submenu'.

	* c64/c64iec.c: #include "cia.h".

	* drive.h (_DRIVE): New member `unit'.

	* drive.c (initialize_1541): Initialize drive number.

	* fsdevice.c: #include "utils.h".
	(fsdevice_set_directory): New function.
	(fsdevice_get_path): New function.
	(read_fs): Changed to handle separate directories.
	(fs_find_pc64_name): Changed likewise.
	(open_fs): Changed likewise.  Removed old P00 support.
	(resources): Added new resources to handle separate fsdevice
 	directory and P00 support.

Mon May 18 00:55:51 1998  Daniel Sladic  <sladic@eecg.toronto.edu>

	* joystick.h: Updated function prototypes according to the changes
 	in `joystick.c'.  Added `JOYDEV_*' #defines.

	* joystick.c: Renamed `hjoyport' to `joystick_port_map'.  Added
 	resource and commandline handling: new arrays `resources[]' and
 	`cmdline_options[]'.
	(joystick_init_resources, joystick_init_cmdline_options): New
	functions.
	(joyset): Removed.
	(joyini): Renamed to `joystick_init'.
	(joyclose): Renamed to `joystick_close'.
        [!HAS_JOYSTICK] (joystick_init, joystick_close): Dummy.
	(joystick): Changed device constants to `JOYDEV_*' #defines.

	* kbd.c (kbd_event_handler): Only allow numpad emulation if
	selected.

	* arch/unix/xaw/c64ui.c, arch/unix/xaw/petui.c: New menus
 	`set_joystick_device_1_submenu', `set_joystick_device_2_submenu',
 	`joystick_settings_submenu'.  Added joystick entry to machine
 	menu.
	(UiSetJoystickDevice1, UiSetJoystickDevice2): New callbacks.
	(UiSwapJoystickPorts): New callback.

	* arch/unix/xaw/vic20ui.c: New menus
 	`set_joystick_device_1_submenu', `ui_joystick_settings_submenu'.
  	Added joystick entry to menu.
 	(UiSetJoystickDevice): New callback.

	* c64/c64.c (vsync_hook): Add ';' after `joystick()'.

	* c64/c64cia1.def (READ_CIAPA, READ_CIAPB): Fixed joystick
	handling.

	* main.c (main): Added joystick resource/cmdline handling.

	* mon.c, mon.h: Changed `malloc' calls to `xmalloc'.

	* mon_lex.l: Changed `strdup' calls to `stralloc'.

	* mon_parse.y: Some rule rearrangement for readability.  Added
 	some error reporting.  Removed `yydebug', `yyin' definitions.

Sun May 17 21:06:32 1998  Teemu Rantanen  <tvr@cs.hut.fi>

	* c64/sid.c (hassid): New variable to know when we have sound code
	running.

	* c64/sid.c (read_sid): Reimplemented sid osc3 finetuning on reads.

	* c64/sid.c (reset_sid): Fixed reset -problems with stored clks.

	* vic20/soundvic20.c (sound_reset): Fixed reset -problems with stored
	clks.

	* pet/soundpet.c (petsnd_reset): Fixed reset -problems with stored
	clks.

	* maincpu.c (reset): Reset clk after machine_reset(), not before.
	This may cause some problems, so reset functions around the code must
	be rechecked.

Fri May 15 13:13:41 1998  Teemu Rantanen  <tvr@cs.hut.fi>

	* warn.c: Added missing vice.h -include.

	* include/sound.h: Removed PETSND_* -macros (where did they came
	from?)

	* include/sound.h (sound_sample_position): New prototype.

	* sound.c (sound_sample_position): New function.  Returns the
	relative position of last calculated sample and the next one based
	on clk.

	* sound.c (sound_flush): Removed extra check for unexpected clk
	changes.

Sun May 17 09:33:04 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.26.

	* machspec.h: Renamed to `machine.h'.

	* c128/c128.c, c128/c128.h, c128/c128mem.c, c128/c128mem.h: New
	files.

	* c64/sid.c (doosc) [WAVETABLE]: Temporary fix for SID segfaults:
	return 0 if `wt' is NULL.

	* arch/unix/xaw/petui.c (pet_ui_init): Set icon.

	* arch/unix/xaw/vic20ui.c (vic20_ui_init): Set icon.

	* arch/unix/xaw/c64ui.c (c64_ui_init): Set icon.

	* arch/unix/xaw/ui.c: Removed all the `XPM'-dependent parts.
	(ui_set_application_icon): New function.
	(ui_open_canvas_window): Attach existing icon pixmap if defined.

	* arch/unix/xaw/ui.c (ui_set_left_menu, ui_set_right_menu):
 	Physically override the translations of the already open windows
 	so that the menus are properly attached, no matter what their name
 	is.
	(ui_open_canvas_window): If any translations for the left or right
 	menus have already been defined, use apply them to the new window.

	* c64/c64.c, vic20/vic20.c (machine_init): Set
 	`true1541_attach_floppy' and `true1541_detach_floppy' as hooks to
 	drive 8.

	* attach.c (initialize_drives): Renamed to `file_system_init'.
	(file_system_set_hooks): New function.

	* vic20/via1.def, vic20/via2.def: Renamed to `vic20/vic20via1.def'
	and `vic20/vic20via2.def'.  Now produce `vic20/vic20via1.c' and
	`vic20/vic20via2.c' instead of `vic20/via1.c' and `vic20/via2.c'.

	* machspec.h: Renamed to `machine.h'.

	* c64/c64.c, vic20/vic20.c, pet/pet.c: Removed `machdesc' struct.
	Kept only a `machine_name' extern variable.

	* c64/sid.c (reset_sid): Renamed to `sid_reset'.

	* arch/unix/xaw/petui.c (pet_ui_init): New file, new function.

	* pet/pia.c: Implemented resource handling.

	* vic20/soundvic20.c, vic20/soundvic20.h: Renamed to
	`vic20/vic20sound.c' and `vic20/vic20sound.h' respectively.

	* pet/soundpet.c, pet/soundpet.h: Renamed to `pet/petsound.c' and
	`pet/petsound.h' respectively.

	* maincpu.h (maincpu_num_write_cycles): Compile on all the
 	machines.

	* pet/pet.c (set_model_name): Added resource/command-line option
 	handling.

	* pet/petmem.c: Added resource/command-line option handling.

	* pet/pets.c (pet_set_model): Changed return type to int, added
	parameter `model_name'.  Do not change resource values; just find
	the appropriate model and set the `pet' struct accordingly.
	Return -1 on error, 0 on success.
	(pet_set_video_width): Removed.
	(pet_set_keyboard_type): Removed.

	* vice.h: Removed lots of machine-specific CPP hacks.

	* c64/cia1.c, c64/cia1.def, c64/cia2.c, c64/cia2.def: Renamed to
	`c64/c64cia1.c, `c64/c64cia1.def', `c64/c64cia2.c',
	`c64/c64cia2.def', respectively.

	* c64/c64cia.h: New file.

	* cia.h: Removed C64 CIA prototypes.

	* pet/petvia.h: New file with PET-specific prototypes.

	* pet/viap.c: Renamed to `pet/petvia.c'.

	* pet/pet.h: New file.

Sat May 16 18:55:05 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Whole source reorganized to use automake.

	* mon_parse.y: `yydebug' made non-extern.

	* vic20.h: Include VIC20 specific parts of old `via.h' here.

	* via.h: Removed PET- and VIC20-specific parts.

Thu May 14 21:02:07 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.25.

	* Makefile.in: Added missing files.

	* Version 0.14.2.24.

Thu May 14 00:08:06 1998  Teemu Rantanen  <tvr@cs.hut.fi>

	* sid.c, include/sid.h: Removed. All this code is split into many
	files. Also some renaming of the public prototypes has been done.

	* sound.c: New file. All common sound code is now here.

	* include/sound.h: New file. Common sound prototypes.

	* c64/sid.c: New file. Implementation of SID.

	* c64/sid.h: New file. SID prototypes.

	* vic20/soundvic20.c: New file. Implementation of VIC20 sound.

	* vic20/soundvic20.h: New file. VIC20 sound prototypes.

	* c64/c64.c (machine_init_resources): Added initialization of
	general sound resources.

	* c64/c64.c (machine_init_cmdline_options): Added initialization of
	general sound cmdline options.

	* c64/c64.c (vsync_hook): Added call to general sound code to prevent
	clk overflow.

	* vic20/vic20.c: Changed sound includes

	* vic20/vic20.c (machine_init_resources): Initialize common sound
	resources.

	* vic20/vic20.c (machine_init_cmdline_options): Initialize common
	sound cmdline options.

	* vic20/vic20.c (machine_reset): Reset sound on reset.

	* vic20/vic20.c (vsync_hook): Prevent clk overflow on common sound
	code.

	* vic20/vic.c: Changed sound includes. Renamed store_vic20sid() to
	store_sound().

	* pet/soundpet.c: New file. PET sound code.

	* pet/soundpet.h: New file. PET sound prototypes.

	* pet/viap.c, pet/pet.c: Changed sound includes.

	* arch/unix/xaw/xdebug.c: Removed sound include.

	* arch/unix/xaw/ui.c: Changed sound includes.

	* arch/unix/vsync.c, arch/msdos/ui.c, arch/msdos/vsync.c, main.c:
 	Changed sound includes.  Renamed all changed calls to common sound
 	functions.

	* arch/unix/sounduss.c: New file. USS sound device.

	* arch/unix/soundsgi.c: New file. SGI sound device.

	* arch/unix/soundsun.c: New file. SUN sound device.

	* arch/unix/soundaix.c: New file. AIX sound device.

	* arch/unix/soundhpux.c: New file. HPUX sound device.

	* arch/msdos/soundmidas.c: New file. MIDAS sound device.

	* arch/sdl/soundsdl.c: New file. SDL sound device.

	* soundfs.c: New file. Fs sound device.

	* sounddump.c: New file. Dump sound device.

	* sounddummy.c: New file. Dummy sound device.

	* soundspeed.c: New file. Speed sound device.

	* Makefile.in: Removed all references to the removed sid.c and
 	sid.h files. Added enough info about new object -files to compile.

	* configure.in: Added better checks for sound -headers that set the
	SOUND_XXX_OBJ -variables on Makefile.

	* include/warn.h (warn_free): New prototype.

	* warn.c (warn_free): New function.

	* warn.c (warn_init): Stralloc() the name instead of using the pointer
	directly.

Wed May 13 10:19:24 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.23.

	* Makefile.in: `$(XVIC_SYSPEC_OBJS)' moved from to `VIC20_OBJS'
	to `VIC20_LOBJS'.

	* sid.c (set_device_name, set_device_arg): Dynamically allocate
 	strings.
	(initsid): Handle empty device name and arg the same way as NULL.

	* arch/unix/xaw/c64ui.h: New file.

	* arch/unix/xaw/c64ui.c: New file.

	* warn.c (warn_init): Parameter `name' made const.  Allocate
	`name' dynamically.

	* arch/unix/xaw/uimenu.c: New file.

	* arch/unix/xaw/ui.c: Renamed variable and function names to
 	lower case.

	* arch/unix/xaw/uisettings.h: New file.

	* arch/unix/xaw/uisettings.c: New file.

	* arch/unix/xaw/uicommands.h: New file.

	* arch/unix/xaw/uicommands.c: New file.

Tue May 12 21:43:40 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* arch/unix/xaw/menu.h: Removed definition of `MenuEntry'.
	* arch/unix/xaw/ui.h: Moved here.

	* arch/unix/xaw/ui.c (UiBuildPopupMenu): Changed to handle a
	variable number of arguments, which are concatenated in the newly
	created menu.

Tue May 12 15:16:38 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.22.

	* true1541.c (true1541_init):  If `true1541_enabled' is nonzero,
	call `true1541_enable()'.

	* palette.c (palette_free): Do not free entry names if NULL.  Do
	not free entries if NULL.

	* true1541.c: Replaced `#ifdef 0' with `#if 0'.
	* fsdevice.c: Likewise.

Tue May 12 02:17:17 1998  Daniel Sladic  <sladic@eecg.toronto.edu>

	* mon_cli.y (rest_of_line): Removed rule that caused
        shift/reduce conflicts.

Mon May 11 23:04:40 1998  Andreas Boose  <boose@unixserv.rz.fh-hannover.de>

	* c64/c64mem.c (store_io2, store_io2): Added AR banking support.
	(initialize_memory): Added ROMH memory configurations.
	(setup_action_replay): Copy AR ROM image to `romh_banks'.

Mon May 11 22:14:36 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.21.

Mon May 11 21:47:38 1998  Martin Pottendorfer  <Martin.Pottendorfer@aut.alcatel.at>

	* configure.in: Create the `arch/unix/xaw' directory.

Mon May 11 10:28:27 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* true1541.c (true1541_enable, true1541_disable): Set
	`true1541_enabled' even when ROMs have not loaded yet.

	* c64/vicii.c: New command-line option `-palette', new resource
 	`PaletteFile'.

	* arch/unix/xaw/ui.h: Removed `UiColorDef' typedef.

	* raster.c (open_output_window): Changed to use `palette_t'
	instead of `color_def_t'.
	* arch/unix/video.c (canvas_create):  Likewise.
	* arch/unix/xaw/ui.c (UiDoAllocColors, UiAllocColors): Likewise.
	(UiOpenCanvasWindow): Likewise.

	* palette.c, include/palette.h: New files.

	* resources.c (get_line): Removed.
	* utils.c (get_line): Moved here.
	(string_to_long): Handle sign and non-decimal bases correctly.

	* sysfile.c (sysfile_locate): New function.

	* configure.in: Changed `test "$foo" = "bar"' into `test x"$foo" =
	"xbar"'.

Mon May 11 03:38:24 1998  Daniel Sladic  <sladic@eecg.toronto.edu>

	* asm.c: #if'ed out 90% of the file which is no longer used.

	* mon.c, include/mon.h: Moved command names from lexer into
	an array in mon.c. Added support for recording/playback of
	commands. Added check_drive_emu_level() which determines if
	a monitor command makes sense given the current drive emulation
	level. Bunch of other small fixes/improvements.

	* mon_cli.l: All command names moved to an array in mon.c. The
	lexer looks into the array to determine what token to return.
	Correctness improvements, particularly for characters a,c and d.
        Added recording and playback commands.

	* mon_cli.y: Made the rules a bit more hierarchical. Added recording
        and playback commands. Added () support for conditional expressions.

Sun May 10 22:04:58 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* arch/msdos/ui.c (attach_disk_callback): Use
	`file_system_attach_disk' instead of `serial_select_file'.

	* arch/unix/xaw/ui.c (UiSmartAttach): Use
 	`file_system_attach_disk' instead of `serial_select_file'.

Sun May 10 19:04:46 1998  Andreas Boose  <boose@unixserv.rz.fh-hannover.de>

	* main.c (main): Call `file_system_attach_disk' to attach disk
	images.

Sun May 10 19:28:46 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.20.

	* main.c (main): Fixed `printf' -> `fprintf' typo.

Sun May 10 16:34:21 1998  Andreas Boose  <boose@unixserv.rz.fh-hannover.de>

	* Makefile.in: Added `fsdevice.c' and `fsdevice.h'. Removed
	special handling of drive.c.

	* menu.h: Moved file system device settings to a separate
 	`ChangeFileSystemDeviceSubmenu' menu entry.  Added entries to
 	toggle P00 and Action Replay Cartridge support

	* arch/unix/ui_xaw.c: New UI callbacks `UiToggleActionReplay'
	and `UiToggleFSDeviceConvertP00'.

	* c1541.c, include/c1541.h (attach_serial_device): Added dummy
	function.
	(attach_fsdevice): New function.

	* c64/c64mem.c (set_emu_id_enabled): Check whether other
 	extensions share the same address space.
	(set_ieee488_enabled): Changed likewise.
	(set_reu_enabled): Changed likewise.
	(set_action_replay_enabled): New function to enable AR support.
  	Increased `NUM_CONFIGS' to 32.  `struct export': New structure.
	(read_io1_watch, read_io1, store_io1_watch, store_io1): New
 	functions.
	(store_roml_watch, store_roml, read_romh, read_romh_watch): New
 	functions.
	(read_roml, read_roml_watch): New functions.
	(initialize_memory): Added 24 new memory configurations.
	(pport_changed): Renamed to `pla_config_changed'.
	(setup_action_replay, action_config_changed): New functions.

	* c64/c64mem.h: Added `read_io1', `read_roml', `store_io1' and
	`store_roml'.

	* drive.c: #include "fsdevice.h".  Moved `SET_LO_HI' macro and
 	`IPE_*' definitions to `drive.h'.
	(initialize_1541): Removed #ifdef STANDALONE_1541.
	(floppy_parse_name): Made non-static.  Moved the file system
 	device routines to `fsdevice.c'.

	* fsdevice.c, fsdevice.h: New files.  Added new resource
	`fsdevice_convert_p00_enabled'.

	* include/drive.h: `SET_LO_HI', `IPE_*' moved here.

	* main.c: #include "fsdevice.h".
	(main): Added call to `fsdevice_init_resources'.

	* true1541.c (write_track_gcr): Added creation of new tracks.

Sun May 10 11:00:17 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.19.

	* arch/unix/ui_xaw.c: Moved to `arch/unix/xaw/ui.c'.
	* arch/unix/ui_xaw.h: Moved to `arch/unix/xaw/ui.h'.
	* arch/unix/menu.h: Moved to `arch/unix/xaw/menu.h'.
	* arch/unix/xdebug.c: Moved to `arch/unix/xaw/xdebug.c'.
	* arch/unix/xdebug.h: Moved to `arch/unix/xaw/xdebug.h'.

	* arch/unix/ui_xaw.c (UiToggleTurbo): Removed.
	(UiToggleWarpMode): New function, toggles the "WarpMode" resource.
	(UiDisplaySpeed): New parameter `warp_flag'.

	* arch/unix/vsync.c: New resource "WarpMode"; new command-line
	options "-warp" and "+warp".
	(do_vsync): Handle warp mode.

	* arch/unix/ui_xaw.c (UiJamDialog): Added "Hard Reset" button.

	* sid.c (initialize_sound): Renamed to `sound_init'.

	* tapeunit.c (initialize_tape): Renamed to `tape_init'.
	(attach_tape_image): Renamed to `tape_attach_image'.
	(detach_tape_image): Renamed to `tape_detach_image'.

	* true1541.c (initialize_true1541): Renamed to `true1541_init'.

	* vic20/vic20.c, c64/c64.c [HAS_JOYSTICK] (vsync_hook): Call
 	`joystick()'.

	* arch/unix/vsync.c (do_vsync): Do not handle the joystick.

	* pet/viap.def: Removed references to `app_resources.debugFlag'.

	* serial.c (initialize_serial): Renamed to `serial_init'.
	(install_serial_traps): Renamed to `serial_install_traps'.
	(remove_serial_traps): Renamed to `serial_remove_traps'.
	(attach_serial_device): Renamed to `serial_attach_device'.
	(remove_serial): Renamed to `serial_remove'.
	(image_file_name): Renamed to `serial_get_file_name'.
	(get_serial_device): Renamed to `serial_get_device'.

	* arch/unix/ui_xaw.c: Removed all the `#ifdef AUTOSTART's.

	* autostart.c (autostart_advance): If `NoTraps' is set, autostart
 	with true 1541 emulation turned on.

	* patchrom.c (patch_rom): Return immediately if the requested
 	revision is a NULL or empty string.

	* resources.c (read_resource_item): Return the expected values.

	* arch/unix/menu.h: Added submenu for serial settings, with
 	`NoTraps' toggling.  FS-device selection moved to this menu.

	* traps.c: Added command-line options and resources.  When
 	`NoTraps' changes from zero to nonzero, the traps are removed from
 	the ROM; when it changes from nonzero to zero, the traps are
 	reinstalled.
	(set_trap): Renamed to `traps_add'.  Put `BRK' in the ROM only if
 	`NoTraps' is zero; otherwise, only add the trap to the list.
	(remove_trap): Renamed to `traps_remove'.  Physically remove the
 	trap from ROM only if `NoTraps' is zero; otherwise, just remove
 	the trap from the list.
	(trap_handler): Renamed to `traps_handler'.
	(initialize_traps): Renamed to `traps_init'.

	* c64/c64mem.c: Added missing `-emuid' and `+emuid' command-line
 	options.

	* arch/unix/ui_xaw.c: Added missing resource `DisplayDepth' and
	command-line option `-displaydepth'.

Sat May  9 11:18:36 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.18.

	* include/vicii.h: Moved to `c64/vicii.h'.
	* include/vic.h: Moved to `vic20/vic.h'.
	* include/crtc.h: Moved to `pet/crtc.h'.

	* true1541.c: New variables `pal_cycles_per_sec',
 	`ntsc_cycles_per_sec'.
	(initialize_true1541): New parameters `pal_hz', `ntsc_hz'.
	Initialize `pal_cycles_per_sec' and `ntsc_cycles_per_sec' from
	their values.

	* c64/c64.c, vic20/vic20.c (machine_init): Updated
 	`kbd_buf_init()' and `autostart_init()' calls.

	* autostart.c: New variable `min_cycles'.  Use it instead of
 	hardcoded constants.
	(autostart_init): New parameter `mincycles'.

	* kbdbuf.c: New variable `kernal_init_cycles'.
	(kbd_buf_init): New parameter `newcycles'.  Initialize
	`kernal_init_cycles' with its value.
	(kbd_buf_flush): Do not write to the Kernal keyboard buffer before
 	`kernal_init_cycles' ticks.

	* true1541.c (true1541_prevent_clk_overflow): New parameter `sub',
 	passed to `true1541_cpu_prevent_clk_overflow'.  Use the value
 	returned by `true1541_cpu_prevent_clk_overflow' instead of
 	`PREVENT_CLK_OVERFLOW_SUB'.

	* 1541cpu.c (true1541_cpu_prevent_clk_overflow): New parameter
 	`sub'; return type changed to `CLOCK'.  Return the number of
 	cycles subtracted.

	* c64/c64.c (machine_init): Call `initialize_sound'.

	* main.c (main): Do not call `initialize_sound' anymore.

	* sid.c: New variables `cycles_per_sec', `cycles_per_rfsh'.  Use
 	them instead of old `CYCLES_PER_SEC' and `CYCLES_PER_RFSH'
 	#defined constants.
 	(initialize_sound): New parameters `clock_rate',
 	`cycles_per_frame'.  Initialize `cycles_per_sec' and
	`cycles_per_rfsh' from them.

	* c64/vicii.c (vic_ii_prevent_clk_overflow): New parameter `sub'.
	Use it instead of `PREVENT_CLK_OVERFLOW_SUB'.
	* vic20/vic.c (vic_prevent_clk_overflow): Likewise.
	* pet/crtc.c (crtc_prevent_clk_overflow): Likewise.
	* cia-tmpl.c (mycia_prevent_clk_overflow): Likewise.
	* via-tmpl.c (myvia_prevent_clk_overflow): Likewise.
	* sid.c (sid_prevent_clk_overflow): Likewise.

	* vic20/vic20.c, c64/c64.c, pet/pet.c (vsync_hook): Adapted
 	accordingly.

	* include/interrupt.h: Removed `PREVENT_CLK_OVERFLOW_SUB'.
 	(prevent_clk_overflow): New parameter `baseval'.  Calculate the
 	number of cycles to subtract so that it is multiple of `baseval'.
  	Return the number of subtracted cycles instead of a boolean value.

	* include/vmachine.h: Removed timing constants.

	* c64/c64.h, vic20/vic20.h: New files.

	* patchrom.c (patch_rom): If `str' is not a number, check if its
 	value is "sx"; if so, patch to revision 67; otherwise report an
	error.  Moreover, handle revision "4064" as revision "100".

	* vic20/vic20.c (machine_init): Removed argument to
 	`autostart_init()'.

	* include/vice.h: Do not #define `AUTOSTART'.

	* include/autostart.h (autostart_reset): Removed `#ifdef
 	AUTOSTART'.

	* vic20/vic20mem.c: Command-line options.
	(vic20_mem_init_cmdline_options): New function.

	* c64/c64.c (machine_init_cmdline_options): New function.
  	Initialize the command-line options for all the C64 modules.

	* sid.c: Command-line options.
	(sid_init_cmdline_options): New function.

	* true1541.c (set_sync_factor): Added missing assignment to
 	`sync_factor' when the value is not `TRUE1541_SYNC_PAL' or
 	`TRUE1541_SYNC_NTSC'.
	(true1541_enable): Do not enable the 1541 emulation if the ROM has
	not been loaded.

	* arch/unix/video.c: Command-line options.
	(video_init_cmdline_options): New function.

	* arch/unix/vsync.c: Command-line options.
	(vsync_init_cmdline_options): New function.

	* arch/unix/ui_xaw.c: Command-line options.
	(ui_init_cmdline_options): New function.

	* include/vicii.h, include/vic.h, include/crtc.h: Removed
 	`SCREEN_SKIP_FRAMES'.

	* c64/vicii.c: Command-line options.
	(vic_ii_init_cmdline_options): New function.

	* c64/c64mem.c: Command-line options.
	(c64_mem_init_cmdline_options): New function.
	(mem_load): Display the ROM names when error happens.

	* main.c (main): Call `sysfile_init_cmdline_options()'.  Moved
 	loading of resources before the command-line parsing.  Removed
 	assignment to `app_resources.mitshm'.  Exit if there are extra
 	unneeded arguments on the command-line instead of just ignoring
 	them.

	* sysfile.c (sysfile_init_cmdline_options): New function.

	* cmdline.c (cmdline_parse): Use `resource_set_value_string()' to
	set the value of a resource from a command-line option.

	* resources.c (resources_set_value_string): New function.

Fri May  8 23:08:50 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* main.c: Updated option list with the new description fields.

	* cmdline.c (cmdline_show_help): New function.

	* include/cmdline.h: New members `param_name' and `description' in
	`cmdline_option_t'.

	* main.c (main): Fixed typo `argc > 1' -> `argc >= 1'.
	(cmdline_default): New function.  Implements new option
 	`-default'.

	* cmdline.c (lookup, cmdline_parse): Fixed handling of ambiguous
 	options.
	(cmdline_parse): `--' interrupts command-line parsing.

Fri May  8 20:00:49 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.17.

	* sysfile.c (sysfile_init): Use `FINDPATH_SEPARATOR_STRING'.

	* findpath.c: #include "findpath.h".
 	(findpath): Use `FINDPATH_SEPARATOR_CHAR'.

	* include/findpath.h: #define `FINDPATH_SEPARATOR_CHAR' and
	`FINDPATH_SEPARATOR_STRING'.  They are #defined differently on
	MS-DOS (which uses ';' to separate path elements) and Unix (which
	uses ':' instead).

	* main.c: Added command-line option handling.
	(main): Handle `-autostart'.

	* arch/msdos/kbd.c (handle_joy_emu): Handle missing `K_KP5' case
 	when key is released.

Wed May  6 18:05:16 1998  Giuliano Procida  <gpp10@cam.ac.uk>

	* Makefile.in (install.bin, install.roms): Do a `set -e' before
	anything else.

Sun May	3 16:50:50 1998  Andreas Boose  <boose@unixserv.rz.fh-hannover.de>

	* drive.c (detach_floppy_image): Detach before closing the image.

	* true1541.c (read_image_gcr): Updated error messages.
	(write_track_gcr): Updated error messages and fixed a typo in the
	speed zone calculation.

Sat May  3 00:54:58 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* cmdline.c, include/cmdline.h: New files.

	* resources.c (resources_register): Fixed reallocation of
 	`resources' when going out of space.  Do not allocate `name'
	dynamically, just use the passed pointer instead.

	* autostart.c: #include "mem.h", not "c64mem.h".

	* drive.c (attach_floppy_image, detach_floppy_image): Do not call
	`attach_func' or `detach_func' if they are NULL.

Sat May  2 18:31:50 1998  Andreas Boose	 <boose@unixserv.rz.fh-hannover.de>

	* arch/unix/menu.h: New sub menu `ChangeFileSystemDeviceSubmenu'.
	Added device #11 entry to `AttachDiskImageSubmenu' and
	`DetachDiskImageSubmenu'.

	* arch/unix/ui_xaw.c: New UI callbacks
 	`UiToggleFileSystemDevice[8..11]'.
	(UiAttachDisk): Call to `file_system_attach_disk' on attach.
	(UiDetachDisk): Likewise.

	* Makefile.in: Added `attach.c' and `attach.h'.

	* attach.c, include/attach.h: New file for file system attach
	management.

	* c1541.c (main): Added `NULL' parameter to `initialize_1541'.

	* c64/c64.c, pet/pet.c, vic20/vic20.c (machine_init): Changed to
	call `initialize_drives' instead of initialising the drives
	separately.

	* drive.c (initialize_1541): Do not allocate a new drive
 	structure if an old drive structure is present.  Always clear this
 	structure.

	* drive.c, include/drive.h (initialize_1541): New parameter
 	`oldinfo'.

	* main.c (main): Call `file_system_init_resources'.

	* serial.c, include/serial.h (get_serial_device): New function to
	get a pointer to the drive info structure.

Fri May  1 22:17:08 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.16.

	* main.c (main): Removed local variable `start_addr'.  Call
 	`mainloop(0)'.

	* vic20/vic20.c (vsync_hook): Call `autostart_advance()'.

	* autostart.c: New implementation, using the kernal variables in
	page zero to check for BASIC messages.
	(check): Changed return value: `YES', `NO', `NOT_YET'.
	(autostart_advance): Updated accordingly.

	* kbdbuf.c (kbd_buf_is_empty): New function.

Tue Apr 28 22:21:41 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* include/autostart.h: `AUTOSTART_*' macros removed.
	* autostart.c: Moved here, and turned into an `enum'.

	* c64.c, vic20/vic20.c (machine_init): Call `autostart_init()'.

	* kbdbuf.c (kbd_buf_flush): Use `mem_store()' and `mem_read()'
	instead of accessing `ram' directly.

	* vic20/vic20.c, c64/c64.c (machine_init): Call `kbd_buf_init()'.

	* kbdbuf.c: Moved parameters from former `struct kernal_kbd_buf'
 	into separate variables.
	(kbd_buf_init): New parameters `location', `plocation',
 	`buffer_size'.

	* include/kbdbuf.h, c64/c64.c, vic20/vic20.c: Removed `struct
 	kernal_kbd_buf'.

	* sysfile.c (sysfile_init): `EMULATOR' replaced with `emu_id'.

	* c64/autostart.c: Moved to `autostart.c'.
	* Makefile.in: Compile it once for every emulator.

	* vic20/vic20iec.c (iec_drive_read, iec_drive_write): Do not check
	whether the 1541 is turned on anymore.

	* vic20/vic.c: Implemented new-style resource handling.

	* vic20/vic20mem.c: Implemented new-style resource handling.
	(vic_mem_enable_ram_block): New.
	(vic_mem_disable_ram_block): New.
	(initialize_memory): Always activate all the memory.

	* vic20/vic20.c (machine_init): Do not call
 	`install_serial_traps'.

	* configure.in: Compile `arch/unix/ui_xaw.c' only once.

	* Makefile.in: Compile `resources.c' only once.

Tue Apr 28 20:57:13 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.15.

	* mon.c (mon): Corrected `suspend_speed_eval()' calls.

	* utils.c (subst): Argh.  Fixed stupid bug with `s_len' update.

Tue Apr 28 01:36:01 1998  Daniel Sladic  <sladic@eecg.toronto.edu>

	* 1541cpu.c,maincpu.c: Removed #define FORCE_IMPORT. Added
	#define CALLER.

	* 6510core.c: Removed separate copies of `DO_INTERRUPT' by using
 	new #define `CALLER'.  Rearranged monitor interrupt handling.

	* mon.h: Changed some of the symbol table prototypes.
	(mon_helper): Removed.
	(mon_check_watchpoints, mon_check_icount): New.

	* mon6510.h: Removed bitfields.

	* mon_cli.l: Added some abbreviations.  Uncommented DATA_TYPEs.
  	Changed memspaces so they must have a ':'.

	* mon_cli.y: Symbol table handling cleanup.  Account for ':'
 	included in memspaces by lexer.

	* mon.c: Cleanup symbol table functions.  Unify monitor traps
 	under `IK_MONITOR'.
	(mon_helper): Removed.
        (mon_check_icount, mon_check_watchpoints): New.
        (print_registers): Use new TEST macro to turn SR flags into 0/1.
 	(remove_name_from_symbol_table, free_symbol_table): Implemented.

Tue Apr 28 00:39:07 1998  Andreas Boose  <boose@unixserv.rz.fh-hannover.de>

	* c1541.c (disk_gcrformat): Changed to the new GCR disk format.

Mon Apr 27 10:21:18 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.14.

	* memutils.c (mem_load_sys_file): Use `sysfile_open()'.

	* main.c (main): Call `sysfile_init()' and
 	`sysfile_init_resources()'.

	* include/sysfile.h, sysfile.c (sysfile_open): New files, new
 	function.
	(sysfile_init, sysfile_init_resources): More new functions.

	* utils.c (subst): New function.

	* sid.c (set_playback_enabled): If playback is turned on, call
 	`vsync_disable_timer()'.

	* arch/unix/ui_xaw.c (UiToggleTurbo): Temporarily removed.
	(UiSetNumpadJoystickPort, UiSwapJoystickPorts): Temporarily
 	removed.

	* mon.c (get_reg_val, set_reg_val, set_mem_val,get_mem_val): Allow
	accessing the 1541 even when the emulation is turned off.

	* serial.c (install_serial_traps): Temporary change: always
	install traps.

	* raster.c: Use `video_cache_enabled' and `double_scan_enabled'
	instead of the values in `app_resources'.

	* c64/vicii.c: Implemented new-style resource handling.

	* c64/autostart.c (settrue1541mode): Call `true1541_enable()' and
	`true1541_disable()', instead of setting `app_resources' and
	calling `true1541_ack_switch()'.

	* c64/c64.c, vic20/vic20.c (vsync_hook): Call
 	`true1541_vsync_hook()'.

	* true1541.c (true1541_vsync_hook): New function.

	* traps.c: Removed all the `IDLE_TRAP' stuff.

	* utils.c (string_set): New function.

	* c64/c64.c (machine_init): Do not patch the ROM.

	* c64/c64mem.c: Implemented new-style resource handling.

	* arch/unix/kbd.c (kbd_event_handler, kbd_init): Do not reference
 	`app_resource.numpadJoystick' anymore.

	* main.c (main): Temporarily disabled attaching of disk/tape
	images at startup.

	* misc.c (show): Removed.

	* c64/c64.c (machine_init): Do not handle `noTraps' anymore.
  	Disabled autostart handling.

	* c64/c64iec.c (iec_drive_read, iec_drive_write): Do not check
	`app_resources.true1541' anymore.
	(iec_cpu_write, iec_cpu_read): Use `true1541_enabled' instead of
	`app_resources.true1541'.
	(parallel_cable_cpu_write): Do nothing if true 1541 is turned off.
	(parallel_cable_cpu_read): Return 0 if true 1541 is turned off.

	* memutils.c (mem_load_sys_file): Removed parameter `path'.
	Manually lookup the `Directory' resource.

	* 1541cpu.c (true1541_set_sync_factor): Renamed to
 	`true1541_cpu_set_sync_factor'.
	(true1541_cpu_init): Do not set the initial sync factor.

	* true1541.c (true1541_set_sync_factor): New.

	* include/true1541.h: Removed `TRUE1541_PAL_SYNC_FACTOR' and
	`TRUE1541_NTSC_SYNC_FACTOR'.  New constants `TRUE1541_SYNC_PAL'
	and `TRUE1541_SYNC_NTSC'.

	* true1541.c: Implemented new-style resource handling.
	(true1541_disable): Always call `install_serial_traps()' if the
	ROM has been loaded.
	(true1541_ack_switch, true1541_ack_sync_factor): Removed.

	* serial.c (install_serial_traps): Do not install any traps if
	`app_resources.noTraps' is nonzero.

	* arch/unix/video.c: Implemented new-style resource handling.

Sun Apr 26 19:12:35 1998  Andreas Boose  <boose@unixserv.rz.fh-hannover.de>

	* drive.c (fs_test_pc64_name): New function to test if a file is
	P00 file format compliant.
	(fs_find_pc64_name): New function to scan a directory for valid
	P00 files.
	(open_fs): Also check for P00 files.  Commented out old P00 support.
	(read_fs): Use the right name for a directory listing if a P00 file
	is found.

Sun Apr 26 14:47:47 1998  Daniel Sladic  <sladic@eecg.toronto.edu>

	* 1541cpu.c, maincpu.c: Renamed `FORCE_INPUT' into `FORCE_IMPORT'.

	* 6510core.c: All monitor based interrupts moved to `IK_MONITOR'
 	case.  Type of interrupt determined by `mon_mask'.  Removed
 	`FORCE_INPUT' test from mainloop.

	* Makefile.in: Added `$(LIBS)' for c1541 since `-lreadline' was
 	needed.  Added `zipcode.o' to `PETCAT_DEPS'.

	* asm.h: Added `modename[]' extern.

	* interrupt.h: Removed `IK_BREAKPT'.  Added IK_MONITOR.
	(breakpoints_on): Replaced by `monitor_trap_on()'.
	(breakpoints_off): Replaced by `monitor_trap_off()'.
	(maincpu_breakpoints_on, maincpu_breakpoints_off): Removed.
	(true1541_breakpoints_on, true1541_breakpoints_off): Removed.

	* mon.h: Added `enum mon_int'.  Added symbol table types.  Removed
 	uneeded externs.  Added new externs.

	* misc.c (sprint_disassembled): Add labels to disassembled code.

	* mon_cli.l: Cleanup.  Added label support.

	* mon_cli.y: Cleanup.  Added label support and "quick assembly"
 	support.  Support specifying memspace of registers.  Minor
 	usability and correctness fixes.  All output now redirectable.

	* mon.c: Cleanup.  Added label support.  Added relative addressing
 	mode to assembler.

Sun Apr 26 11:16:00 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* arch/unix/vsync.c: Implemented new-style resource handling.
 	(do_vsync): Always call `flush_sound()', and pass it
 	`relative_speed'.

	* sid.c: Implemented new-style resource handling.
	(flush_sound): New parameter `relative_speed.  If playback is
 	disabled, return immediately.

	* reu.c: Implemented new-style resource handling.
	(close_reu, reset_reu): Removed parameter `filename'.

	* resources.c, include/resources.h: New, more flexible
 	implementation.

	* main.c (main): Do not handle the `StartAddr' resource anymore.

	* include/resources.h: Removed unused members `gamePath',
 	`module', `reusize', `biosName', `programName', `reloc',
 	`startAddr', `colors', `traceFlag', `verboseFlag', `haltFlag',
 	`printCommand', `PrinterLang', `Locale', `video40', `video80',
 	`videoCache80' and `mouse' from `app_resources'.

Sat Apr 25 22:00:00 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.13.

	* sid.c (sid_prevent_clk_overflow): Compile this even if `SID' is
	not #defined.

	* configure.in: Compile `arch/unix/kbd.c' and `arch/unix/vsync.c'
 	only once.

	* main.c (main): Do not call `vsync_init()' anymore.

	* c64/c64.c, vic20/vic20.c, pet/pet.c (vsync_hook): New (static).
	(machine_init): Call `vsync_init()' and register `vsync_hook' as
 	the vsync hook.

	* true1541.c: `true1541_rom_loaded' renamed to `rom_loaded'; all
 	occurrences updated.
 	(true1541_update_ui_status): New function, ripped from
 	`update_drive_status()' in `vsync.c'.

	* arch/unix/vsync.c: New variables `refresh_frequency',
 	`vsync_hook', `cycles_per_sec'.  Do not #include "vmachine.h",
 	"autostart.h", "true1541.h" or other machine-specific headers
 	anymore.  #include "vice.h".
	(vsync_prevent_clk_overflow): Made public.  It only subtracts
 	`PREVENT_CLK_OVERFLOW_SUB' from `speed_eval_prev_clk' now.
	(vsync_init): New parameters `hz', `cycles', `hook'.  Initialize
 	`refresh_frequency', `cycles_per_sec' and `vsync_hook' from them.
	(do_vsync): Do not handle true1541, clock overflow or autostart
 	anymore.  Only call `vsync_hook' instead.
	(set_timer_speed, do_vsync): Use `vsync_frequency' instead of
 	`RFSH_PER_SEC'.
	(display_speed): Use `cycles_per_sec' instead of `CYCLES_PER_SEC'.
	(update_drive_status): Removed.

	* arch/unix/kbd.c: `keyc_mem', `keyc_num' made static.

	* pet/petmem.c (mem_load): Do not call `set40key()' or
	`set80key()' anymore.

	* arch/unix/kbd.c: Cleaned up unused parts.  Use
 	`xmalloc()'/`xrealloc()' instead of `malloc()'/`realloc()'.  New
 	variable `default_keymap_name'.
	(kbd_init): Return type made `int'.  New parameter `keymap_name'.
	(kbd_load_keymap): If `filename' is NULL, load the file
 	`default_keymap_name'.
	(kbd_load_keymap): Do not set `app_resources.keymapFile' anymore.
	(set80key, set40key): Removed.
	(kbd_parse_keymap): Return type changed to `int'.

	* main.c (main): Do not call `kbd_init()' anymore.

Sat Apr 25 15:55:23 1998  Andreas Boose  <boose@linux.rz.fh-hannover.de>

	* serial.c: `SET_ST', `BSOUR' and `TMP_IN' reverted to the
 	original C64, VIC-20 and C128 compliant values.

Sat Apr 25 00:13:20 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.12.

	* 1541cpu.c: Static memory read/store functions prepended with
 	`true1541_' to avoid conflicts with the maincpu ones.

Fri Apr 24 21:30:05 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* 1541cpu.c: `true1541_monitor_interface'.
	(true1541_turn_watchpoints_on): Removed.
	(true1541_turn_watchpoints_off): Removed.
	(true1541_toggle_watchpoints): New.

	* c64/c64mem.c, vic20/vic20mem.c, pet/petmem.c (machine_init):
	Initialize the monitor passing the proper functions.

	* c64/c64mem.c, vic20/vic20mem.c (maincpu_turn_watchpoints_off):
 	Removed.
	(maincpu_turn_watchpoints_on): Removed.
	(mem_toggle_watchpoints): New.
	(mem_store, mem_read): New.

	* include/macro.h: Removed.

	* Makefile.in: Compile `mon.c' once.

	* c64/c64.c, vic20/vic20.c, pet/pet.c (machine_init): Initialize
	it here.

	* main.c (main): Do not initialize the monitor anymore.

	* mon.c: Access the registers the main and 1541 CPUs via
 	`monitor_interface_t'.  Removed all the `NO_DRIVE' #ifdefs.
	(init_monitor): Renamed to `monitor_init'.
	(monitor_init): New parameters `maincpu_interface_init',
 	`true1541_interface_init'.

	* include/mon.h: New typedef `monitor_interface_t'.

	* 1541cpu.c: `read_func', `store_func', `read_func_watch',
	`store_func_watch', `read_func_nowatch', `store_func_nowatch' made
	static again.
	(true1541_read, true1541_store): New functions.

	* 6510core.c (IMPORT_REGISTERS, EXPORT_REGISTERS): New macros
	using `GLOBAL_REGS'.

	* maincpu.c, 1541cpu.c: Declare registers using `mos6510_regs_t';
 	all files using CPU registers updated accordingly.  Removed
 	`IMPORT_REGISTERS()' and `EXPORT_REGISTERS()' macros.  Just
 	#define `GLOBAL_REGS' to `maincpu_regs' and `true541_cpu_regs'
 	respectively instead.

	* include/maincpu.h: Removed 6510 macros.

	* include/mos6510.h: New file; defines the `mos6510_regs_t'
	typedef for storing register status.

	* include/6510core.h: #include "types.h".

	* configure.in, Makefile.in: Compile `xdebug.c' only once and use
	the resulting object files for all the emulators.

	* Makefile.in: Compile `serial.c', `traps.c', `tapeunit.c' and
 	`misc.c' only once and use the resulting object files for all the
 	emulators.  Link `parallel.o' to all the emulators.

	* pet/petmem.c (mem_set_tape_sense): New (dummy) function.

	* c64/c64.c: Added tape trap list.
	(machine_init): Call `initialize_tape()' with the trap list.

	* include/tapeunit.h (initialize_tape): Non-system specific
 	#defines copied to `tapeunit.c'.  Other ones removed.

	* tapeunit.c (initialize_tape): Removed parameter `number'; new
 	parameter `trap_list'.  Make `tape_traps' point to `trap_list'.
	Use `xmalloc' instead of `malloc()'/`assert()'.
	(tapereceive, findheader, writeheader): Made public.

	* serial.c: Never exclude any function through `#ifdef'.

	* tapeunit.c: Completed trap lists with `resume_address'.
	(writeheader, tapereceive, findheader): Do not change `PC'
 	anymore.

	* serial.c (serialattention, serialsendbyte): Do not change `PC'
 	anymore.
	(serialreceivebyte, trap_serial_ready): Ditto.

	* c64/c64.c, vic20/vic20.c: Completed trap list with
 	`resume_address'.

	* traps.c (trap_handler): Set `PC' to `resume_address' when done
	calling the trap.

	* include/traps.h: New member `resume_address' in `trap_t'.

	* true1541.c (true1541_detach_floppy): New parameter `floppy'.
	Do a little sanity check.

	* serial.c (serial_select_file): Do not try initialize a new
 	device if necessary anymore: just return -1.

	* drive.c (initialize_1541): New parameters `attach_func' and
 	`detach_func'.
	(attach_floppy_image): Call `floppy->attach_func()' if successful.
	(detach_floppy_image): Call `floppy->detach_func()' if successful.

	* include/drive.h: New members `attach_func' and `detatch_func' in
	`DRIVE'.

Fri Apr 24 11:00:00 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* serial.c: Removed any true 1541 references.

	* c64/c64.c, vic20/vic20.c: Moved serial trap initialization array
 	here.

	* serial.c (serialattention, serialsendbyte, serialreceivebyte):
	Made public.
 	(trap_serial_ready): Made public.

	* traps.c (set_trap, remove_trap): Made const-safe.

	* serial.c (initialize_serial): New parameter `trap_list'; removed
 	parameter `notraps'; set the list of traps to `trap_list'.  Remove
 	existing traps.  Return type changed to `int' (zero for success,
 	nonzero for failure).
	(install_serial_traps, remove_serial_traps): Remove all the traps
 	in `trap_list'; the first element whose callback function is NULL
 	marks the end of the list.

	* c64/c64.c, vic20/vic20.c, pet/pet.c (machine_shutdown): New
	function.

	* c64/c64.c, vic20/vic20.c, pet/pet.c (machine_init): Return type
 	changed to `int', and moved machine-specific initialization here.

	* main.c (main): Removed machine-specific initialization.

Wed Apr 22 18:22:43 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.11.

Wed Apr 22 17:33:29 1998   Andreas Boose  <boose@unixserv.rz.fh-hannover.de>

	* Makefile.in: Added `gcr.o' to `COMMON_OBJS' and `C1541_DEPS'.
	Added `gcr.h' to `VICEHDR'.

	* c1541.c: #include "gcr.h".

	* gcr.c (convert_4bytes_to_GCR): Moved here from `true1541.c'.
	(convert_GCR_to_4bytes, convert_sector_to_GCR): Likewise.
	(convert_GCR_to_sector): Likewise.

	* gcr.h: New file.

	* true1541.c: Updated TODO list.  Added #include "gcr.h".
	Moved low-level GCR functions to `gcr.c'.

Wed Apr 22 11:19:28 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.10.

	* true1541.c (true1541_read_disk_byte): Rotate disk correctly.

	* 6510core.c: Removed `TRUE1541_ROTATE' #ifdefs.
	* viad2.c: Likewise.
	* viad1.c: Likewise.

	* vic20/via2.def (INCLUDES): #include "vic20iec.h"
	* vic20/via1.def (INCLUDES): #include "vic20iec.h"

	* viad1.def (INCLUDES): #include "iecdrive.h".

	* c64/cia2.def (INCLUDES): #include "c64iec.h".

	* c64/c64iec.h, vic20/vic20iec.h: New files.

Wed Apr 22 10:11:05 1998 Andr Fachat  <a.fachat@physik.tu-chemnitz.de>

	* arch/unix/kbdef.h (shift_type): Changed SHIFT defines to enum
 	again.  Outcommented default and both PET keyconvmaps.
	* arch/unix/kbd.c (numpad_status, joy1pad_status, joy2pad_status):
 	`joy*pad_status' replace `numpad_status'.
	(joypad_bits): Array to hold the bits used in `joy[]' depending on
 	numpad key (0-9).
	(joyreleaseval): New function to handle diagonal joystick
 	keyrelease events.
	(kbd_event_handler): If `app_resources.numpadJoystick' is set,
 	then negative-row keyconvtable are used to emulate joysticks.  The
 	column gives the numpad key "0-9" as you have them on a PC
 	keyboard and they emulate the direction belonging to that
 	'virtual' numpad.  So keymap file maps keysyms to virtual numpad.
  	On a `LeaveNotify' event the joysticks are reset as well.  Also
 	the virtual numpad "5" can be used to reset the joysticks.
	(kbd_init): Clear virtual numpads, and set
 	`app_resources.numpadJoystick' to one.
	(kbd_parse_entry): Sanity checks to allow only valid entries in
 	the keymap table.
	(kbd_load_keymap): Now sets the `app_resources.keymapFile'
 	appropriately each time a new keymap is loaded.

Wed Apr 22 01:59:04 1998  Andr Fachat  <a.fachat@physik.tu-chemnitz.de>

	* arch/unix/kbd.c (handle_joy_emu): Removed.
	(kbd_event_handler): Check if row less than zero, if so than
 	handle joystick arrays instead of keyboard.
	(kbd_init): If `keymapFile' is not set, set to `vice.vkm'.  Load
 	keymap file.
	(set80key, set40key): If keymapFile resource not set, set to
 	`busi_uk.vkm' or `graphics.vkm' resp.
	(kbd_load_keymap): If no default keymap, alloc an empty one with
 	150 entries.

Wed Apr 22 02:53:48 1998  Daniel Sladic  <sladic@eecg.toronto.edu>

	* asm.c: Made `modename' array globally accessible.

	* mem.h: Declare `store_zero()'.

	* mon.c/mon.h (mon_assemble_instr): New function.
	(assemble_line): Removed function.

	* mon_cli.l: Assembly support.  Fixed datatype detection.

	* mon_cli.y: Assembly support.

	* pet/pet.c: Changed `machdesc.h' to `machspec.h'.

	* pet/petmem.c: Fixed bad comment.

Tue Apr 21 23:18:36 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* include/machspec.h: Prototype for `machine_init()'.

	* include/mem.h: Prototypes for `read_zero()', `read_rom()' and
 	`store_zero()', `store_rom()'.
	* c64/c64mem.h, vic20/vic20mem.h: Removed from here.

Tue Apr 21 13:17:58 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.9.

	* include/true1541.h: Removed machine-dependent function
 	declarations.

	* arch/unix/ui_xaw.c: Compile everything even when `HAVE_TRUE1541'
	is not #defined.

	* vic20/vic20iec.c (parallel_cable_drive_write): Dummy.
	(parallel_cable_drive_read): Another dummy.

	* c64/c64iec.c (parallel_cable_cpu_write): Moved here from
 	`true1541.c'.
	(parallel_cable_drive_read): Likewise.
	(parallel_cable_cpu_read, parallel_cable_cpu_write): Likewise.

	* true1541.c (serial_bus_drive_read, serial_bus_drive_write):
	Removed.
	(serial_bus_cpu_write, serial_bus_cpu_read): Removed.
	(serial_bus_pa_read, serial_bus_pa_write): Removed.
	(serial_bus_pcr): Removed.

	* c64/c64iec.c (iec_drive_write, iec_drive_read): New file, new
	functions.
	(iec_cpu_read, iec_cpu_write): More new functions.

	* vic20/vic20iec.c (iec_drive_write, iec_drive_read): New file,
	new functions.
	(iec_pa_read, iec_pa_write, iec_pcr_write): More new function.

	* c64/c64.c, vic20/vic20.c, pet/pet.c (machine_init): New
 	files, new function.

	* main.c (main): Use `machdesc.machine_name' instead of
 	`EMULATOR'.
	(main, exit64): Removed all `NO_SERIAL' #ifdefs (always enable the
 	fast serial emulation).

	* Makefile.in: Added `zipcode.o' to `C1541_OBJS'.

	* include/true1541.h, true1541.c: Removed `TRUE1541_ROTATE' and
 	`TRUE_GCR_WRITE' #defines and related #ifdefs.  It always uses
 	true GCR emulation now.

	* pet/petmem.c: Added `_mem_read_base_tab_ptr' as on the C64.
	Added `ram_size'.  Added `_mem_read_tab_ptr' and
	`_mem_write_tab_ptr'.
	(initialize_memory): Initialize these variables.

	* kbdbuf.c: Removed `kernal_kbd_buf'.
	* include/kbdbuf.h: Moved here.

	* main.c (main): Removed C128-specific stuff.

	* c64/c64mem.h, vic20/vic20mem.h, pet/petmem.h: All memory
 	constants prepended with `C64_', `VIC20_' and `PET_' respectively.
  	All occurences in the machine-specific files updated.

	* include/mem.h: New variable `ram_size'.

	* vic20/vic20mem.c: Added `_mem_read_tab_ptr' and
	`_mem_write_tab_ptr' as on the C64.
	(maincpu_turn_watchpoints_on, maincpu_turn_watchpoints_off): use
	`_mem_read_tab_ptr' and `_mem_write_tab_ptr' instead of updating
	the memory arrays.
	(maincpu_
	(initialize_memory): Call `maincpu_turn_watchpoints_off()'.

	* c64/c64mem.h, vic20/vic20mem.h: Removed machine-dependent stuff.
	* include/mem.h: Moved here.

	* Makefile.in: `maincpu.o' moved to `COMMON_OBJS'.

	* maincpu.c: #include "machspec.h".  Removed machine-specific
 	includes.
	(reset): Removed machine-specific initialization.  Call
 	`true1541_reset' only if the feature is present, according to
 	`machdesc'.

	* vic20/vic20.c (machine_reset, rom_trap_allowed): New file, new
 	functions.

	* c64/c64.c (machine_reset, rom_trap_allowed): New file, new
 	functionS.

	* include/machdesc.h: New file.

Tue Apr 21 03:12:35 1998  Daniel Sladic  <sladic@eecg.toronto.edu>

	* 1541cpu.c,include/1541cpu.h: 1541 watchpoint support: Added
        watchpoint functions, watchpoint functions array and functions
        to turn watchpoints on/off. Define FORCE_IMPORT.

	* 6510core.c: Moved breakpoint checking to `DO_INTERRUPT'.
  	`DO_INTERRUPT' split into 2 separate macros.  Check for forced
 	imports - cases where the monitor changes registers of a processor
 	different from the one that called it.

	* Makefile.in: Removed `-v' flag from bison.  Was for debugging
 	only.

	* c64/c64mem.c,c64/c64mem.h: Change names of watchpoint control
 	functions.

	* include/interrupt.h: Interrupt based breakpoint support.

	* mon.c,include/mon.h: Added force_import support, 1541 watchpoint
 	handling, better PET support and other minor fixes.

	* maincpu.c: Defined `FORCE_IMPORT'.

	* vic20/vic20mem.c,vic20/vic20mem.h: Vic20 watchpoint support:
 	Added watchpoint functions, watchpoint functions array and
 	functions to turn watchpoints on/off. (Note: zero page not
 	included)

Mon Apr 20 15:45:33 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.8.

	* include/findpath.h: #include <unistd.h> to make sure `X_OK',
	`R_OK' and `W_OK' are defined.

	* main.c (set_boot_path) [!__MSDOS__]: Remove trailing '/' from
	`boot_path' if present.

	* resources.c (resources_set_defaults) [!__MSDOS__]: Set
 	`Directory' to a list of two colon-separated paths, so that system
 	files are first searched into the `LIBDIR' and then into the
 	`boot_path'.

	* main.c [__MSDOS__]: `boot_path' is now dynamically allocated.

	* main.c (set_boot_path) [!__MSDOS__]: New function.
	(main) [!__MSDOS__]: Call `set_boot_path()'.

	* arch/unix/kbd.c (kbd_parse_keymap): Locate the keymap file using
 	`findpath'.

	* memutils.c (create_name): Removed.

	* include/memutils.h (open_sys_file): Removed prototype.

	* memutils.c (open_sys_file): Removed.
	(mem_load_sys_file): Use `findpath' to locate the file.

	* include/findpath.c (findpath): Updated prototype.

	* findpath.c (findpath): `cmd' and `syspath' parameters made
	const.  New parameter `mode'.

	* mon.c: #include "vice.h" before anything else.

	* mon.c (debugger): Add the command line to the history if
	nonempty.
	(hunt_memory): Removed unused variable `i'.

	* configure.in: Allow the user to inhibit usage of the system's
 	readline (`--without-readline').  Fixed the `--with-xaw3d' option
	so that it does work as expected.

	* Makefile.in ($(READLINE)): Replaced with
 	`$(READLINEODIR)/readline.a'.  `$(READLINE)' is now defined from
 	`@READLINE@' and is empty if we want to use the system's readline.

	* configure.in: Check for `-lreadline'; if present, set
 	`@READLINE@' to empty, otherwise set it to
 	`$(READLINEODIR)/readline.a'.

	* configure.in: Check for `-lICE' and explicitly add it to `LIBS'
 	if present.

Mon Apr 20 01:11:38 1998  Andreas Boose  <boose@linux.rz.fh-hannover.de>

	* true1541.c: (write_track_gcr): New function that writes back a
 	track to the GCR disk image.
	(read_image_d64): Set speed zones to standard speeds as the D64
 	disk image format does not provide speed zone information.
	(read_image_gcr): Changed to also import speed zones.  New array
 	`GCR_speed_zone'.
	(GCR_data_writeback): Call `write_track_gcr' if a GCR disk image
 	is attached.

Sun Apr 19 21:52:46 1998  Teemu Rantanen  <tvr@cs.hut.fi>

	* include/resources.h: New resource `soundOversample'.

	* arch/unix/menu.h: New menuitem `ChangeSoundOversampleSubmenu'.

	* arch/unix/ui_xaw.c: New UI callback `UiSetSoundOversample' to set
	sound oversample values.

	* sid.c (sound_t): new items for sound oversample calculations
 	`oversampleval', `oversamplecnt', `oversamplenr' and
 	`oversampleshift'.

	* sid.c (update_sid): Oversample calculation.

	* sid.c (init_sid, initsid): Oversample calculation initialization.

	* resources.c (resources). New resourcefile -entry 'SoundOversample'.

	* resources.c (resources_set_defaults, resources_fix): Handle
	sound oversample value setting.

Sun Apr 19 17:28:05 1998  Andreas Boose  <boose@linux.rz.fh-hannover.de>

	* c1541.c (disk_gcrformat): Set the track length field and the
 	zone speed to the correct values.

	* true1541.c: `speed_map' is now in `drive.c'.  Renamed
 	`GCR_track_size' to `GCR_current_track_size'.  `GCR_track_size'
 	now holds the track size for each track.
	(read_image_d64): Use standard track lengths.  Call
 	`true1541_set_half_track' to update `GCR_current_track_size'.
	(read_image_gcr): Use track lengths provided by the GCR disk
 	image.
	(initialize_true1541): Initialise track lengths.
	(GCR_data_writeback): Clear `GCR_dirty_track' when a GCR disk
 	image is attached.

	* drive.c: Moved `speed_map' to this file.

Sun Apr 19 15:22:55 1998  Daniel Sladic  <sladic@eecg.toronto.edu>

	* 1541cpu.c, 1541cpu.h: Moved memory function typedefs to header.

	* 6510core.c: Set variable before mon is called to signal which
 	cpu is the caller.  IMPORT registers after returning from the
 	monitor to recognize changes by the monitor.

	* c64mem.c, include/c64mem.h: Watchpoint support.

	* mon.c, include/mon.h: Watchpoint support.  Stepping support.
  	Better handling of 1541 registers.  Allow assembly after address
 	for `a' command.  Bit better datatype handling.  Other minor
 	fixes.

	* main.c (main): Move monitor init before possible mon() call.

	* maincpu.c (JAM): Setting caller variable before mon() call.

	* mon_cli.l: Changed some syntax for better usability.  Allow
 	assembly to start on same line as 'a' command.  Better guessing of
 	datatype based on default type.

	* mon_cli.y: New commands.  Removed compiler warnings.  Allow
 	assembly to start on same line as 'a' command.

Sun Apr 19 21:19:50 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.7.

	* zfile.c (read_zipped_sector): Removed.
	(try_uncompress_zipcode): Use `zipcode_read_sector()' instead.

	* c1541.c (read_zipped_sector): Removed.
	(disk_import_zipfile): Use `zipcode_read_sector()' instead.

	* zipcode.c (zipcode_read_sector): New file, new function (ripped
 	from the Daniel's `read_zipped_sector()' in `c1541.c').
	* include/zipcode.h: Prototype here.

	* findpath.c (findpath): Check for read permission (instead of
	execution permission).  Return the path to the file, instead of
	just the directory.

	* Makefile.in: Updated to compile `findpath.o'.

	* include/findpath.h (findpath): New file; prototype for
 	`findpath()'.

	* findpath.c: #include "misc.h", "vice.h".
	 (findpath): New parameter `syspath', used instead of `PATH'.  Use
 	`stralloc()' instead of `strdup()'.  Declare `buf' using
 	`PATH_VAR'.

Sun Apr 19 18:03:23 1998  Tomi Ollila  <Tomi.Ollila@tfi.net>

	* findpath.c (findpath): New file, new function.

Sun Apr 19 17:56:01 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* arch/unix/ui_xaw.c: #include <errno.h>.

Fri Apr 19 17:35:21 1998  Andreas Boose  <boose@unixserv.rz.fh-hannover.de>

	* c1541.c (disk_gcrformat): New function to create GCR encoded
	disk images.

	* drive.c (attach_floppy_image): Call `import_GCR_image' after
	the check for d64 disk image failed.  Only read BAM and set disk
	geometry if a d64 disk image is attached.
	(import_GCR_image): New function.  Checks for a valid GCR disk
	image and sets the drive constants.

	* include/drive.h (DRIVE): New member `GCR_Header'.

	* include/fs_cbm.h (hdrinfo): New member `gcr'.

	* true1541.c (read_image_GCR): Renamed to `read_image_d64'.
	(read_image_gcr): New function.  Imports the a GCR disk image and
	converts it to the internal track layout.
	(true1541_attach_floppy): Call `read_image_gcr' if a GCR disk image
	is attached.
	(GCR_data_writeback): Do not write back track data if a GCR disk
	image is attached.  This will change soon.

Sun Apr 19 01:50:50 1998  Andr Fachat <a.fachat@physik.tu-chemnitz.de>

	* Makefile.in: Added vice keyboard maps (*.vkm) to appropriate
 	definitions, to have them copied when installing.

	* bin/C64/vice.vkm: New file, C64 keyboard mapping.

	* bin/VIC20/vice.vkm: New file, VIC20 keyboard mapping.

	* bin/PET/busi_uk.vkm: New file, UK (50 Hz) PET business keyboard
 	map.

	* bin/PET/graphics.vkm: New file, PET graphics keyboard map.

	* bin/PET/posg_de.vkm: PET graphics keyboard positional map for
 	german keyboards.

	* arch/unix/kbd.c: New keymap handling.
	(kbd_init): Set keyconvmap to default, if not PET.  If PET it is
 	done in set40key/set80key.  If given load keymapfile from the
 	resources.
	(kbd_parse_keyword): New function: Parse and execute keywords in
 	keymap files
	(kdb_parse_entry): New function: Parse mapping entry in string and
 	enter entry into the mapping table. Dynamically increase table
 	size if necessary.
	(kbd_parse_keymap): New function: Open filename given and read
 	line by line. Give relevant lines to kbd_parse_keyword and
 	kbd_parse_entry.
	(kbd_load_keymap): New function: dynmicallizes the keymap table
	(if still static) and calls parser.
	(kdb_dump_keymap): Dump current keymap table to file given.

	* arch/unix/kbd.h: Prototypes for `kbd_load_keymap' and
 	`kbd_dump_keymap'.

	* arch/unix/kbdef.h: Removed `shift_type' enum definition, is now
 	only int to be able to use "atoi" when parsing a mapping file.
  	Changed enum entries to cpp defines.  Renamed `keyconvmap' to
 	`default_keyconvmap'.  Made keyconvmap a pointer for all models.
  	Removed `CONV_KEYS'.

	* arch/unix/menu.h: New submenu `KeyboardSubmenu' for keyboard
 	handling.  The vice keymap filenames are defined here as
 	`client_data'.

	* arch/unix/ui_xaw.c (UiSetKeymap): New function to set a default
	keymap.
	(UiLoadKeymap): New function to set load a known keymap table.
	(UiLoadUserKeymap): New function to load a user-specified keymap
	table.
	(UiDumpKeymap): New function to dump the current keymap table.

	* include/memutils.h: New prototype for `open_sys_file()'.

	* include/resources.h: New resource `keymapFile'.

	* memutils.c (open_sys_file): New function to open a file either
	in the current directory, a given path or the emulator directory,
	ripped from `mem_load_sys_file'.
	(mem_load_sys_file): Just call `open_sys_file()'.

	* resources.c (resources): New `KeymapFile' resource.
	(options): `-keymapfile' option.
	(resources_set_defaults): Set default for keymapfile resource.

Fri Apr 17 14:22:08 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.6.

	* c1541.c (disk_unlynx): Replaced `strtol()' calls with calls to
	`string_to_int()'.  Do not complain if `lbsize' is zero.

	* utils.c (string_to_int): New function.

	* arch/unix/ui_xaw.c (UiTogglePause): Call `UiDisplayPaused()'
 	correctly.
	* arch/unix/xdebug.c (StopTrap): Likewise.
	(xdebug_disable): Call `UiDisplayPaused(0)'.
	(RunCb): Likewise.

	* arch/unix/ui_xaw.c (UiDisplayPaused): New parameter `flag'.  If
 	nonzero, display the "(paused)" string.  Otherwise, remove it.
	* arch/unix/ui_xaw.h (UiDisplayPaused): Updated prototype.

Fri Apr 17 00:14:29 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.5.

	* sid.c: `#ifdef NetBSD' -> `#ifdef __NetBSD__'.

Wed Apr 15 11:48:45 1998  Andr Fachat  <a.fachat@physik.tu-chemnitz.de>

	* viad1.def, viad2.def: READ_PRB does not immediately return, but
 	only sets the variable "byte"
	* pet/viap.def, vic20/via1.def, vic20/via2.def: Likewise.

	* via-tmpl.c (update_myviatal): Timer underflow now sets portbit
 	PB7 state.
	(myviapb7, myviapb7x): PB7 state, and invert flag for one special
 	cycle in the timing diagram...
	(store_myvia): T1CH: clear pb7 state, ACR: pb7 handling
	(read_myvia): PRB: macro returns "byte" variable, if pb7 output is
 	set then replace bit 7 with pb7 state.

Tue Apr 15 04:00:00 1998  Daniel Sladic  <sladic@eecg.toronto.edu>

	* mon.c: New monitor!

	* mon_cli.l, mon_cli.y: Flex and bison files to handle monitor
        command line.

	* Makefile.in: Added newfiles mon_cli.y and mon_cli.l and related
        files.

	* asm.c, include/asm.h: Made function `interpret_instr' global.

	* 6510core.c: Added breakpoint checks.

	* 1541cpu.c: Added #include "mon.h".  Made read and store function
 	arrays global.

	* main.c (main): Added `init_monitor()' call.

	* include/mon.h: Added a whole bunch of new variable and function
        declarations for the new monitor.

Tue Apr 14 19:40:29 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.4.

Tue Apr 14 23:48:47 1998  Andr Fachat <a.fachat@physik.tu-chemnitz.de>

	* via*.def: Introduced "myrmwf" definitions for either `rmwf_flag'
 	of `true1541_rmw_flag'.

	* via-tmpl.c: New timer handling:
	(update_myviata, update_myviatb): Removed functions.
	(myviata, myviatb): New cpp macros to compute the current counter
 	value
	(update_myviatal, update_myviatbl): New cpp macros to update timer
 	information before changing the timer latches.
	(myviata, myviatb): Removed variables for the counter values.
	(myviatal, myviatbl): New variables for the latch values.
	(reset_myvia): Clear latch values.
	(store_myvia, read_myvia): New timer handling
	(myvia_prevent_clk_overflow): New timer handling.

Tue Apr 14 19:00:10 1998  Teemu Rantanen  <tvr@cs.hut.fi>

	* sid.c (sun_bufferstatus) [NetBSD]: Fixed return value.

Tue Apr 14 12:53:04 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* drive.c (read_fs): When returning `SERIAL_EOF', put a 0xc7 into
	the buffer.

Tue Apr 14 12:49:27 1998  Petschy  <petschy@derceto.sch.bme.hu>

	* drive.c (read_1541): When returning `SERIAL_EOF', put a 0xc7
	into the buffer.

	* serial.c (serialreceivebyte): Set the N and Z flags according to
	the value of `data'.

Tue Apr 14 12:29:48 1998  Krister Walfridsson  <cato@df.lth.se>

	* Makefile.in: Replaced `@LINUXJOYSTICK@' with `@JOYSTICK@' in
	`DEFS'.  Use `$(RM)' instead of `rm' consistently.

	* configure.in: Replaced `@LINUXJOYSTICK@' with `@JOYSTICK@'. If
 	the `linux/joystick.h' include exists, add both `-DHAS_JOYSTICK
 	-DLINUX_JOYSTICK' to it.  If the `machine/joystick.h' include
 	exists, add `-DHAS_JOYSTICK -DBSD_JOYSTICK'.

	* arch/unix/joystick.c: Added support for NetBSD.
	[BSD_JOYSTICK] #include <machine/joystick.h>
	(joyini) [BSD_JOYSTICK]: Open `/dev/joy0' instead of `/dev/js0'.
	[!HAS_DIGITAL_JOYSTICK]: Do not open the `/dev/djs[01]' devices.
	(joystick): Handle Linux and BSD buttons differently.

	* sid.c: Added support for NetBSD (derived from the code for
 	Solaris).

Fri Apr 10 19:12:55 1998  Andreas Boose  <boose@unixserv.rz.fh-hannover.de>

	* arch/unix/menu.h (Change1541ExtendImageSubmenu): New menu for
 	extended disk handling.

	* arch/unix/ui_xaw.c, arch/unix/ui_xaw.h (UiExtendImageDialog):
 	New dialog to confirm disk image extension.
	(UiSet1541ExtendImage): New function.

	* drive.c (get_std64_header): Do not hardcode track constants.

	* include/fs_cbm.h: Define `EXT_TRACKS_1541' and
 	`EXT_BLOCKS_1541'.

	* resources.c, resources.h: New resource `true1541ExtendImage'.

	* true1541.c (GCR_data_writeback): If data is written to track
 	36..40 extend disk if it complies with the user settings.
	(true1541_extend_disk_image): Clear tracks 36..40 and promote the
 	drive constants to 40 tracks.  New flag `ask_extend_disk_image'
 	that is cleared once the user disallowed extension of the disk
 	image.
	(true1541_attach_floppy): Set `ask_extend_disk_image' on attach.

Fri Apr 10 00:16:11 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.3.

Wed Apr  8 21:36:38 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* arch/msdos/tui_backend.c (tui_beep): New function.  Former
 	callers of `beep' call this one instead.

	* arch/msdos/tui.h (beep): Removed.

	* arch/msdos/tui.c (tui_error, tui_input_string, tui_message): Use
 	`tui_num_cols()' instead of using `text_mode_info' directly.

	* arch/msdos/kbd.c (kbd_init): Lock `queue_command' correctly.

	* configure.in: Add `$(ARCHODIR)/tui_backend.o' to `SYSPEC_OBJS'
	when configuring for MS-DOS.

	* arch/msdos/tui.c: Splitted into `arch/msdos/tui.c' and
 	`arch/msdos/tui_backend.c'.
	* arch/msdos/tui.h: Likewise splitted into
	`arch/msdos/tui.h' and `arch/msdos/tui_backend.h'.

	* arch/msdos/tui_backend.c, arch/msdos/tui_backend.h: New files.

Wed Apr  8 20:27:30 1998  Andreas Boose  <boose@unixserv.rz.fh-hannover.de>

	* true1541.c: New variable `detach_clk'.
	(true1541_detach_floppy): Set `detack_clk' to the value of
 	`true1541_clk'.
	(true1541_write_protect_sense): Toggle write protection bit if the
 	disk is attached or detached.
	(true1541_prevent_clk_overflow): Subtract
 	`PREVENT_CLK_OVERFLOW_SUB' from `detach_clk' to prevent counter
 	overflows.

	* true1541.h: New constant `TRUE1541_DETACH_DELAY'.

	* true1541.c (GCR_data_writeback): Removed bogus line left
	over from the last patch.

Wed Apr  8 11:52:57 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.2.

	* resources.c (parse_cmd_line): Do not handle arguments beginning
	with `+' as orphans anymore.  Fixed typo `argv[1]' -> `argv[i]'.

Wed Apr  8 01:06:41 1998  Teemu Rantanen  <tvr@cs.hut.fi>

	* c64/autostart.c: Added include "kbdbuf.h".

	* kbdbuf.c: Added include "charsets.h"

	* main.c: Removed include "charsets.h" and removed call to
 	petconvstring().  Autostart handles the conversion now.

	* c1541.c (disk_import_zipfile): Added support for extracting
 	zipcodes that are on one file.  There are no standards for this,
 	but this makes life a lot easier when we try to extract zipcodes
 	from archive.

	* c1541.c (disk_import_zipfile): Changed to accept the zipcode
 	-name with the `[1-4]!' -prefix.

	* c1541.c (main): Fixed `-zcreate' parameter when used from the
 	command -line.

	* zfile.c (compression_type): New types COMPR_ZIPCODE and
 	COMPR_LYNX.

	* zfile.c (extensions): New extension '.lnx' to be searched from
 	inside the archive.

	* zfile.c (is_zipcode_name): New function.  Checks the `[1-4]!'
 	prefix.

	* zfile.c (is_valid_extension): Added check for zipcode -names.

	* zfile.c (try_uncompress_archive): When zipcode -filename is found
	inside the archive, the whole zipcode (4 files) is extracted into
	temporary file.

	* zfile.c (read_zipped_sector): Read one zipcode -sector from the
 	image.  NOTE! This was directly copied from c1541.c and it should be
	shared someplace.

	* zfile.c (try_uncompress_zipcode): New function.  Tries to uncompress
	zipcode into image using c1541 -utility.

	* zfile.c (try_uncompress_lynx): New function.  Tries to uncompress
	lynx file into image using c1541 -utility.

	* zfile.c (valid_archives): New extension .lha to be extracted using
	external lha -program.

	* zfile.c (try_uncompress): Try to uncompress zipcode and lynx -image
	if other decompression attempts fail.

	* zfile.c (compress): Warnings if zipcodes or lynx -images are being
	compressed (should not happen as they are read-only).

	* zfile.c (zopen): Support for recursive decompression.

Tue Apr  7 15:33:40 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2.1.

	* c64/autostart.c (feed): Removed; all callers use
 	`kbd_buf_feed()' instead.

	* arch/msdos/vsync.c, arch/unix/vsync.c (do_vsync): Call
 	`kbd_buf_flush'.

	* kbdbuf.c, include/kbdbuf.h (kbd_buf_flush, kbd_buf_feed): New
 	file, new functions.

	* c64/vicii.c (draw_ext_text_foreground): Rewritten to handle
	changes to the registers within the line correctly.
	(draw_ext_text_foreground_2x): Likewise.

	* main.c (main): Do not try to use the `autostartName' resource if
	NULL.

	* resources.c (parse_cmd_line): An argument without an option goes
	into `autostartName'.

Tue Apr  7 15:23:57 1998  Teemu Rantanen  <tvr@cs.hut.fi>

	* include/autostart.h: Added optional parameter `program_name' to
 	functions `autostart_tape()', `autostart_disk()' and
 	`autostart_autodetect()'.

	* arch/unix/ui_xaw.c (UiAttachDisk, UiAttachTape, UiSmartAttach):
 	Added NULL paramater to changed autostart calls (to be changed
 	later when UI supports this feature).

	* main.c (main): Changed autostart to support `image:prgname'
 	-format to start a named program on image.  Checks that image
 	exists.

	* main.c: Added needed includes for autostart.

	* c64/autostart.c: Added new include "utils.h"

	* c64/autostart.c (autostart_program_name): New variable.

	* c64/autostart.c (deallocate_program_name): New function.  Frees
 	autostart_program_name if it exists.  Added calls to this function
 	to every place where autostarting is stopped.

	* c64/autostart.c (feed): Feed the data into next column compared
 	to the cursor.  This is a temporary fix before full keyboard feed
 	is implemented.

	* c64/autostart.c (autostart_advance): Changed loads to include
	the program name if we have one.

	* c64/autostart.c (reboot_for_autostart): Set the program name
	here which we are going to autostart.

	* c64/autostart.c (autostart_advance): Check that we receive
 	"LOADING" -message when loading from disk.  If not, interrupt
 	autostart.

Wed Apr 7 14:26:13 1998  Andr Fachat  <a.fachat@physik.tu-chemnitz.de>

	* include/crtc.h (crtc_screen_enable): New prototype.

	* pet/crtc.c (crtc_screen_enable): New function to immediately
 	disable screen output.

	* pet/petmem.c (initialize_memory): Fix the video RAM size setting
 	to 2k, not 4.  Make $8800-$9000 appear unused (except for CBM
 	8296)
	(patch_2001): Copy string behind the ROM patch to identify what
 	has been done.

	* pet/pets.c: Fix 8096 I/O size to $800 (same as 8032, as the 8096
	is just a 8032 with expansion board).

	* pet/pia.c (reset_pia1): Call `crtc_screen_enable()'.
	(store_pia1): Call `crtc_screen_enable()' when EOI line is handled
 	and we have a PET 2001.

Mon Apr  6 12:02:59 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* tapeunit.c (attach_tape_image): Removed unused variable
 	`realtype'.
	(findheader): Removed unused variable `buf'.

Mon Apr 6  11:58:34 1998  Andreas Boose  <boose@unixserv.rz.fh-hannover.de>

	* drive.c (floppy_free_block_count, do_validate): Changed to use
 	extended BAM if a disk with 40 tracks is attached.
	(allocate_sector, free_sector): Changed likewise.

	* include/fs_cbm.h: Added new SpeedDOS compatible extended BAM
 	offset.  Increased MAX drive constants to 42 tracks.

	* true1541.c (read_image_GCR, true1541_set_half_track): Changed to
 	handle 40 tracks.  Expanded `speed_map' to 42 tracks.
	(GCR_data_writeback): Write back valid tracks only.

	* true1541.c (read_image_GCR): Commented out disk ID hack.

Sun Apr  5 01:11:29 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.2 released.

	* arch/unix/menu.h [HAVE_TRUE1541 && !CBM64]: Disable "Enable
 	parallel cable" menu entry.

	* arch/msdos/kbd.c (my_kbd_interrupt_handler): Ignore release of
 	`K_ESC'.

	* arch/msdos/ui.c (quit_callback): Call
 	`true1541_detach_floppy()'.

	* true1541.c (true1541_enable): If `true1541_floppy' is not NULL,
 	call `true1541_attach_floppy()' to update the GCR image.

	* main.c (exit64) [!NO_SERIAL]: Detach the serial devices even if
 	the `noTraps' resource is set.

	* c64/c64mem.c [EMULATOR_ID]: Updated version and copyright in the
 	emulator ID.

Sat Apr  4 21:30:50 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* arch/msdos/ui.c (mon_trap): Enable on-file logging before
	(instead of after) entering graphics mode.

Fri Apr  3 13:39:29 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.1.8.

	* arch/msdos/ui.c (UiDisplayDriveTrack, UiDisplayDriveLed): New
 	(dummy) functions.
	(UiToggleDriveStatus): Likewise.
	* arch/msdos/ui.h: Prototypes here.

	* resources.c (resources_set_defaults) [HAVE_TRUE1541 && CBM64]:
	Set `app_resources.true1541ParallelCable' to 0.

Thu Apr  2 16:01:18 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.1.7.

	* resources.c [CBM64]: Removed `TapeName' resource.

	* true1541.c (true1541_enable): Do not initialize the true1541.

	* resources.c [CBM64 && HAVE_TRUE1541]: New options `-parallel',
 	`+parallel'.

	* via-tmpl.c (update_myviata, update_myviatb): Delay `A_MYVIAT1'
	and `A_MYVIAT2' alarms by one cycle.  At least, this makes sure
	the emulator does not hang when the latch is set to zero.

Wed Apr  1 12:22:13 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.1.6.

	* arch/msdos/ui.c [CBM64 && HAVE_TRUE1541]
 	(toggle_true1541_parallel_cable_callback): New function.
	(UiInitFinish): new item for toggling the parallel cable
 	emulation.

	* true1541.c (serial_bus_drive_read, serial_bus_drive_write)
	[!FAST_BUS]:  Inverted polarities.

Tue Mar 31 13:06:25 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.1.5.

	* resources.c [!CBM64]: Removed `True1541ParallelCable' resource.

	* resources.c [!__MSDOS__] (wait_user): Removed.

	* true1541.c (initialize_true1541): Position the R/W head on track
	18.

	* vic20/vic20mem.c, vic20/vic20mem.h: Removed variables
 	`kernal_rom' and `basic_rom'.  New variable `rom' which includes
 	both Kernal and Basic.  New macros `kernal_rom' and `basic_rom' to
 	access the two parts.

	* arch/unix/ui_xaw.c (UiToggleDriveStatus, UiDisplayDriveLed):
	Removed when true1541 emulation is not available.
 	(UiDisplayDriveTrack): Likewise.

	* raster.c (refresh_all): Fixed behavior with windows bigger than
	the screen image.

	* arch/unix/ui_xaw.c: Do not #include <X11/IntrinsicP.h> anymore.

	* arch/unix/ui_xaw.c: Removed member `widget' and added members
	`shell' and `canvas' to `AppShells'.
	(UiDisplayPaused, UiPopup, UiCloseAction): Updated accordingly.
	(UiResizeCanvasWindow): Resize the canvas widget in the UiWindow.

	* raster.c (refresh_all) [RASTER_DEBUG_PUTIMAGE_CALLS]: Updated
 	debugging message.
	(resize): Calculate `window_last_line' correctly when the window
	is higher than the screen.

	* serial.c (serial_select_file): Call `true1541_detach_floppy()'
	only if attaching to drive 8.

	* c64/autostart.c (autostart_advance): Do not turn true1541 off if
 	the `noTraps' resource is set.  In case `AUTOSTART_HASDISK', do
 	not load the program before 1 virtual second.

	* arch/unix/ui_xaw.c (UiDisplayDriveLed, UiDisplayDriveTrack): If
	the widget is not realized, realize it automagically.

	* arch/unix/vsync.c (update_drive_led): Renamed to
 	`update_drive_status'.
	(update_drive_status): Display the current track too.  If true
 	1541 is disabled, remove the drive status widget.

	* true1541.c: Removed variable `cur_ht', replaced with an extern
 	one `true1541_current_half_track'.

Mon Mar 30 22:47:30 1998  Michael Schwendt  <sidplay@geocities.com>

	* sid.c: Changed filter parameters to depend on the sample
 	frequency.

Mon Mar 30 22:40:29  Andreas Boose  <boose@unixserv.rz.fh-hannover.de>

	* 6510core.c (LOCAL_SET_OVERFLOW) [__1541__ && TRUE1541_ROTATE]:
 	Removed redundant call to `true1541_rotate_disk()'.  Only clear
 	the byte ready line if VFLAG is actually cleared.

Mon Mar 30 22:27:28 1998  Teemu Rantanen  <tvr@cs.hut.fi>

	* sid.c (update_sid): Removed volume check optimization.

	* sid.c (reset_sid): Changed to use `store_sid()' instead of
 	clearing register -values directly.

	* sid.c (flush_sound): When click happens, send buffer advancing
 	from zero level to next sample.

	* include/sid.h: New protos: `suspend_sound()' and
 	`resume_sound()'.

	* sid.c (sid_device_t): New fields suspend and resume.

	* sid.c (suspend_sound, resume_sound): New functions.

	* sid.c (uss_suspend): Implemented suspend -feature for	the USS
	-device.

	* arch/unix/vsync.c (suspend_speed_eval): Call `suspend_sound()'.

	* sid.c (flush_sound): `Call resume_sound()'.

Mon Mar 30 11:01:41 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.1.4.

	* maincpu.c [AUTOSTART]: #include "autostart.h".

	* true1541.c: #include "ui.h".
	(true1541_disable, true1541_enable): Call `UiToggleDriveStatus' to
 	update the status line.
	(true1541_update_zone_bits): Removed debugging message.
	(true1541_move_head): Display the current position of the head
 	with `UiDisplayDriveTrack()'
	(parallel_cable_drive_write, parallel_cable_drive_read) [!CBM64]:
 	Dummy functions to make the 1541 happy.

	* ui_xaw.h: New prototypes for `UiDisplayDriveTrack',
 	`UiToggleDriveStatus', `UiDisplayDriveLed'.

	* arch/unix/ui_xaw.c: Added member `speed_label' to `AppShells'.
	[HAVE_TRUE1541] Added members `drive_track_label' and `drive_led'
 	to `AppShells'.  New variables `drive_led_on_pixel',
 	`drive_led_off_pixel'.  Added new fallback resources to
 	`fallback_resources'.
	(UiOpenCanvasWindow): Create the speed `speedStatus' label.
	[HAVE_TRUE1541] Create the `driveTrack' and `driveLed' widgets.
	(UiDoAllocColors) [HAVE_TRUE1541]: Allocate colors for the
 	`driveLed'.
	(UiDisplaySpeed): Use `speedStatus' instead of the title bar.
	(UiToggleDriveStatus, UiDisplayDriveTrack, UiDisplayDriveLed): New
 	functions.
	(UiResizeCanvasWindow): (Temporarily?) do nothing.

	* resources.c [HAVE_TRUE1541]: Fixed name of the
 	`True1541ParallelCable' resource.

	* cia-tmpl.c (read_mycia): `A_CIA2TA' -> `A_MYCIATA', `A_CIA2TB'
	-> `A_MYCIATB'.

Sun Mar 29 21:08:49 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.1.3.

	* Makefile.in: Updated `DOCS' according to Andr's documentation
	changes.

Sat Mar 28 17:35:49 1998  Andreas Boose  <boose@unixserv.rz.fh-hannover.de>

	* arch/unix/ui_xaw.c (UiToggleParallelCable): New function to
 	toggle parallel cable emulation.

	* include/menu.h: Added new entry to toggle parallel cable
 	emulation.

	* resources.c: New resource `true1541ParallelCable'.

	* cia-tmpl.c (read_mycia): New macro `READ_CIAICR'.
	(mycia_set_flag): New function to set the flag bit.

	* cia2.def (READ_CIAICR): Call `true1541_cpu_execute()' whenever
 	the ICR is read to update the flag bit.
	(STORE_CIAPB, READ_CIAPB): Changed to new parallel cable handling.

	* viad1.def: (STORE_PRA, READ_PRA): Changed likewise.

	* true1541.c: New variables `parallel_cable_cpu_value' and
 	`parallel_cable_drive_value'.
 	(parallel_cable_cpu_read, parallel_cable_cpu_write): New function
 	for parallel cable handling.
	(parallel_cable_drive_read, parallel_cable_drive_write): More new
 	functions.

	* cia.h: Updated prototypes.
	* true1541.h: Likewise.

Sun Mar 29 15:05:56 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* raster.c (resize): Use the same resizing policy for MS-DOS and
 	Unix.

	* c64/vicii.c (store_vic): When writing to $D017, removed special
 	hack for cycle 54.

	* c64/vicii.c (store_vic): If CSEL changes from 0 to 1 at cycle
	17, set `blank_this_line' to 1.

	* raster.c (emulate_line): If `blank_this_line' is nonzero, draw
 	this line as a blank one.  Set `blank_this_line' to zero before
	returning.

	* include/raster.h: New variable `blank_this_line'.

	* c64/vicii.c: New variables `idle_data', `idle_data_location'.
  	Removed old variables `vbank_39ff', `vbank_3fff', `idle_data_ptr'.
	(int_rasterdraw): Update `idle_data_location' and `idle_data'
 	according to the current values of $D011 and `idle_state'.
	(store_d011): When changing `draw_idle_state', set
 	`idle_data_location' accordingly.
	(store_vbank_39xx, store_vbank_3fxx): New method, use
 	`idle_data_location' and `idle_data'.
	(get_idle): Use `idle_data'.
	(_draw_idle, draw_idle_foreground, draw_idle_foreground_2x):
 	Likewise.
	(set_video_mode): When setting a new video mode, add changes for
 	`idle_data' according to bit 6 in $D011 if needed.
	(set_memory_ptrs): If necessary, update `idle_data' when changing
	video bank.

Sat Mar 28 11:53:51 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* c64/vicii.c (store_vic): Cycle for 38/40 column mode switch in
 	the right border decremented by 1.

	* c64/vicii.c (store_d011): The color memory buffer fetches the 4
 	lowmost bits from `ram[reg_pc]'.

	* 6510core.c: `ASL', `DCP', `DCP_IND_Y', `ISB', `RLA',
 	`RLA_IND_Y', `ROL', ROR `SHA_ABS_Y', `SHA_IND_Y', `SHX_ABS_Y',
 	`SHY_ABS_X', `SHS_ABS_Y', `SLO', `SLO_IND_Y', `SRE', `SRE_IND_Y',
 	`STA', `STA_ZERO', `STA_IND_Y', `STX', `STX_ZERO', `STY',
 	`STY_ZERO' increment PC before doing the write access.

	* maincpu.c: Avoid #undefining or #defining `EXTERN_PC' if already
 	#defined.

	* include/maincpu.h [CBM64]: #define `EXTERN_PC' and declare
 	`reg_pc'.

	* arch/unix/ui_xaw.c (UiChangeWorkingDir): The default value in
 	the text widget is now the path of the current working directory.

	* 6510core.c (STORE_ABS_X, STORE_ABS_Y): Fixed increments of
 	`CLK'.

Fri Mar 27 17:35:02 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* arch/unix/xdebug.c (RegisterBar): XtNeditType of `registers'
 	changed into `XawtextRead' so that they cannot be changed
	(changing them had no effect anyway, so it could just confuse
 	users).

Wed Mar 25 21:40:01 1998  Andr Fachat  <a.fachat@physik.tu-chemnitz.de>

	* Makefile.in: Added `$(JOY_OBJS)' to `PET_DEPS'.

Wed Mar 25 00:25:03 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.1.2.

	* c64/vicii.c (int_rasterfetch): Set `sprite_fetch_clk' using
 	`LINE_START_CLK' and `SPRITE_FETCH_CYCLE' instead of
 	`vic_ii_fetch_clk'.

Tue Mar 24 21:18:18 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* arch/msdos/kbd.c (handle_joy_emu): `K_KP5' moves the joystick
 	down.

	* arch/unix/kbd.c (handle_joy_emu): `XK_KP_5' moves the joystick
 	down.

Mon Mar 23 21:30:49 1998  Andreas Boose  <boose@unixserv.rz.fh-hannover.de>

	* true1541.c (GCR_data_writeback): Convert all sectors from GCR to
 	the D64 image even if there are invalid sectors.
	(serial_bus_drive_write): Added #ifdef to make the compiler quiet.

Mon Mar 23 11:29:01 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* Version 0.14.1.1.

	* c64/vicii.c (store_vic): Changing a bit in to $D017 from 1 to 0
 	at cycle 54 causes the sprite memory pointer to be incremented by
 	3.  (I am not sure that this is really right, though!)

	* c64/vicii.c: #include "sprcrunch.h".
	(store_vic): When a bit in $D017 changes from 1 to 0 and the
 	`exp_flag' of the sprite was zero, set its `memptr_inc' according
 	to `sprite_crunch_table'.

	* include/sprcrunch.h: New file.  New variable
 	`sprite_crunch_table'.

Sun Mar 22 17:46:12 1998  Ettore Perazzoli  <ettore@comm2000.it>

	* c64/vicii.c (RASTER_CHAR): Incremented by 2.  All the occurences
 	updated so that the behavior remains the same.

	* c64/c64mem.c (initialize_memory): Install `store_vbank_3fxx()'
	and `store_vbank_39xx()' as the hooks for $39xx and $3Fxx
	addresses in the video bank.

	* c64/vicii.c: New variables `vbank_39ff', `vbank_3fff',
 	`idle_data_ptr'.
	(_draw_idle, get_idle): Use `idle_data_ptr'.
	(draw_idle_foreground_2x, draw_idle_foreground): Likewise.
	(store_vbank): Made inline.
	(store_vbank_3fxx, store_vbank_39xx): New functions.
	(set_memory_ptrs): Update `vbank_39ff' and `vbank_3fff' when the
 	video bank is changed.  Dispatch the `int_rasterdraw()' alarm if
 	pending.
	(set_video_mode): Update `idle_data_ptr'.

	* c64/vicii.c (int_rasterfetch): New, cleaner algorithm.  It also
 	couple of bugs in the old one.

Sun Mar 22 17:19:01 1998  Andreas Boose  <boose@unixserv.rz.fh-hannover.de>

	* true1541.c (GCR_find_sector_header): If the header is not the
 	one we look for try again instead of aborting the search.
	(convert_sector_to_GCR): Added gap between sectors.

	* true1541.c: New constants `speed_map', `raw_track_size'.
	(set_half_track): Calculate the value of `GCR_track_size' using
 	them.

Sat Mar 21 20:56:00 1998  Andreas Boose  <boose@unixserv.rz.fh-hannover.de>

	* true1541.c: Updated TODO list.
	(true1541_sync_found): Do not change `bits_moved' as the current
	code cannot cope with non byte aligned writes.
	(GCR_find_sector_header): Handle killer tracks more gracefully.

Fri Mar 20 17:03:00 1998  Andreas Boose  <boose@unixserv.rz.fh-hannover.de>

	* true1541.c (read_image_GCR): Enlarged tracks to 7693 bytes.
  	This is not 100% correct, but sufficient for the moment.  Raw
 	track filled with 0xff to avoid `20, READ ERROR'.
	(convert_GCR_to_sector, true1541_set_half_track): Changed to
 	handle non-fixed sector layout.
	(GCR_find_sector_header, GCR_find_sector_data): New functions to
 	find a sector in a track.
	(true1541_move_head): Write back current track before moving the
 	head!
	(GCR_data_writeback): Call the new functions to find a sector.
  	Print error messages whenever non-standard GCR data cannot be
 	written back to the disk image.

Tue Mar 17 12:44:55 1998  Andr Fachat  <a.fachat@physik.tu-chemnitz.de>

	* arch/unix/kbd.c: Changed some joystick-related `#ifdef PET's to
 	include PET joystick emulation.
	(kbd_event_handler) [PET]: Call `handle_joy_emu()' only when the
 	`numpadJoystick' resource is set.

	* arch/unix/menu.h: Change some joystick-related `#ifdef PET's to
        include PET joystick emulation.
	(JoystickSubmenu) [PET]: Add "Enable Numpad Joystick" entry.
	(PetUserportSubmenu): Add "Joystick Settings" menu entry.

	* arch/unix/ui_xaw.c: Change some joystick-related `#ifdef PET's
 	to include PET joystick emulation, esp. the prototypes.
	(UiToggleNumpadJoystick): New function: toggles the
 	`numpadJoystick' resource.

	* arch/unix/vsync.c, main.c: Changed some joystick-related `#ifdef
 	PET's to include PET joystick emulation.

	* include/resources.h: New resource `numpadJoystick'.

	* pet/viap.def (read_viap): Reading VIA PA now reads the joystick
 	values from the userport.

	* resources.c: Changed some joystick-related `#ifdef PET's to
 	include PET joystick emulation.  New `NumpadJoystick' resource and
 	`+/-npjoystick' option for the PET.

Sat Jan 24 21:32:00 1998  Daniel Sladic  <sladic@eecg.toronto.edu>

	* true1541.c: Changed track formats so that each track has about
 	the same # of bits as a real track.  Changed header gap to 9 (from
 	8) bytes.  Added support for non-fixed sector placement inside
 	tracks (find_GCR_sector).



See `ChangeLog.1' for earlier changes.
