Login
Mouse Extension
Title:Mouse Extension
Category:Utility
Release Date:
Language:English
Size:64K
Machine:PAL & NTSC
Code Type:Machine code
Distribution:Freeware
Code by:bszggg
Notes:An OS extension with mouse pointer and other mouse features.
  External links:
    YouTube Video
    GitLab

User Rating: 9.3/10 (4 votes)
User comments: Read comments
Mouse Extension Title Screenshot

Mouse Extension Screenshot


Effects
PartEffect nameParametersNotes
Mouse Support 


Additional Software Materials
Mousepad
Submitted by bszggg
Mousepad


Description
##Mouse Extension v1.0 - Mouse for commodore plus/4

# Git:

https://gitlab.com/bszggg/plus4mouse

#Features

- Handle the Amiga mouse with NST's audio extension (and other too)
- Handle RS232 serial mouse with ACIA
- Handle commodore 1351 mouse with sid card
- Char mode cursor
- Graphical cursor in HiRes mode
- Graphical cursor in MultiColor mode
- Handle split screen in both graphical modes
- The pointer display is independent from the client program (use the raster interrupt to it)
- Easy use and optimized to BASIC
- Less memory usage (uses just the RS232 reserved memory addresses)
- Handle the multi rows basic line (important for command mode)
- Fast display

#Command mode
- Left click : Place the original cursor to the mousepointer
- Right click : Clear the actual mouse cursor position

#Handles
- Mouse positions
- Left click
- Right click
- 2 buttons in one time (In Amiga mouse is middle)

#Hot keys / with hot keys

CTRL + F1 Exit
CTRL + inst/del (in V1.0 version) Exit (REMOVED in the V1.1 !)
CTRL + cursors move the pointer
CTRL + space Left click
CTRL + return right click
COMMODORE + click + cursor move up/down reposition the split row

#After exit
- it can be run again with sys1015 ; g03f7

#Addresses that we can read for pointers
; MERGED 180-as cursor - Same pointer for the two type mouse
.MerHiColX =$042d ; x 180 merge
; MERGED CHAR MOUSE POINTER
.MerCharX =$042e ; X 80 - for Char mode
.MerCharY =$042f ; Y 40 - for Char mode
; MERGED MOUSE POINTER - Limitalt MERGED 320-as kurzor
.MerLimBtn =$0430 ; Buttons 7-es bit bal, 6-middle, 5-right,
.MerLimXHi =$0431 ; x mergeHI
.MerLimX =$0432 ; x merge
.MerLimY =$0433 ; y merge
; STORED FOR BASIC - MERGED MOUSE POINTER
.MerLimXHiStor =$0434 ; x mergeHI stored
.MerLimXStor =$0435 ; x merge stored
.MerLimYStor =$0436 ; y merge stored

Basic pointer storage fill. (It fills STORED FOR BASIC from MERGED MOUSE POINTER)
.jmpStoreBasicSI =$0420 ;

#Used memory addresses at working
$fc $fd - RS232 zero page pointer
$03f7 - 0436 : RS232 putter addresses - uses for the routines (jumping for ram-rom, runs, interrupt handler)
$07cd -$07d8 : RS232 working addresses - uses for rs232 puffer (3 sendt position +2 bytes other)
$f270 - $fade : the driver OR Nothing with CRT


Best performance with the NST's audio extension with Amiga mouse

#Tested in
- Commodore plus/4

#I tested it
- NST's audio extension - amiga mouse mode - USB to AMIGA mouse transformer
- NST's audio extension - commodore 1351 mouse mode - USB to 1351 mouse transformer
- Max 232 IC with PC serial mouse

Sukkopera tested it with
- commodore 1351 mouse - Need to check the right click handling!

NST's audio extension homepage:
http://bsz.amigaspirit.hu/nae/index_hu.html

RS-232 mouse documentation:
Plus4_RS232mouse_documentation_V2.pdf

Reseed: (Need to test the final too!)

#tested mouse converters:
- TIKUS BLACK AMIGA DB9 USB ADAPTER TANK MOUSE C64 ATARI ST JOYPAD - € 21.99
- TOM USB HID AMIGA ATARI C64 C128 MOUSE JOYSTICK GAMEPAD ADAPTER - € 23.99

#thanks to
BSZ for the lot of the help, ideas, and lot of information
MMS to keep the interesting
sukkopera for testing and keep the interesing to 1351 mouse too


----------------------- For more information the actual possibilities -----------------------
FAQ:

This is the current situation:

4 types of mice can be natively connected to commodore plus/4

- PC serial mouse (with voltage converter, 5v user port - 12v RS232)
- Commodore 1351 mouse (NST's audio extension OR other SID CARD)
- Amiga mouse (NST's audio extension)
- Atari mouse (NST's audio extension)

- with USB mouse converter (1351 or Amiga)
- with PS/2 mouse converter (1351 or Amiga)

There are 3 types of binding options

- ACIA in user port
- NST audio extension
- Reseed and other SID cards

There are many types of mouse adapters

- RS232 port converter to ACIA user
- TIKUS BLACK AMIGA DB9 USB ADAPTER TANK MOUSE C64 ATARI ST JOYPAD - € 21.99
- TOM USB HID AMIGA ATARI C64 C128 MOUSE JOYSTICK GAMEPAD ADAPTER - € 23.99
- PS/2 to Amiga 500 600 1200 2000 3000 4000 Mouse Adapter

- PS/2 to Atari ST Mouse Adapter Converter
- Jerry Rev.2 Amiga Atari ST USB Mouse Adapter
- Commodore 64 C64 PS/2 Mouse to 1351 Mouse Adapter

(Collected from: https://sordan.ie/category/14/retro-computing-accessories/)


The program is sure to handle the

- PC serial mouse -> RS232 port-converter to ACIA user
- Amiga mouse -> NST's audio extension
- Commodore 1351 mouse -> NST's audio extension

? Commodore 1351 mouse -> Reseed and other SID cards (Not tested by me. NEED CHECK The right click handling!)
? *** Atari mouse -> NST's audio extension (in principle it can work, but you have to issue a poke command to switch the card to ATARI mode) -> NST's audio extension

The working versions I tested:

- PC serial mouse -> RS232 portconverter to ACIA user
- USB mouse -> TIKUS BLACK AMIGA DB9 USB ADAPTER TANK MOUSE C64 ATARI ST JOYPAD IN "Amiga mouse" mode -> NST's audio extension
- USB mouse -> TOM USB HID AMIGA ATARI C64 C128 MOUSE JOYSTICK GAMEPAD ADAPTER IN "Commodore 1351 mouse" mode -> NST's audio extension

The NON-working versions I tested:

PS/2 mouse -> PS/2 to Amiga 500 600 1200 2000 3000 4000 Mouse Adapter -> NST's audio extension



## -------------------------------------- RELEASE v1.1 --------------------------------------

It contains a lot of bugfixes.
- Fix unneeded jumping as it possible (serial, and 1351 mouse)
- Updates cursor smoothness (serial, and 1351 mouse)
- Different ROM BANK versions
- Yape versions for earlier emulator

The different ROM version helps us to use the driver cartridge with other extensions (3-plus-1 and Basic V7.0)
Maybe it helps to let the C16 owners to use it somehow, with a cartridge, and a serial adapter

# Normal version

The uploaded zip contains 3 types of cartridge rom,
00 basic kernal
01 3+1 -> mouse_extension_v1_1_bank01.bin
02 -> mouse_extension_v1_1_bank02.bin
03 Basic7 -> mouse_extension_v1_1_bank03.bin

# The "Y" Version:
1.1Y is a yape version, you can try it at ROM _BANK 02

The Yape version because of the Y axis handled wrong direction. So in this ROM image helps us to use in the Yape.
So we can try other softwares too, that written with this driver






Instructions
The tool can be used on emulators too due to the mouse emulation via keyboard.

CTRL + Cursors Move the pointer
CTRL + Space Left click
CTRL + Return Right click
CTRL + F1 Exit
Commodore + (click) + Cursor up/down Reposition the split row


Image Gallery
Mouse Extension v1.0 Screenshot #1
Mouse Extension v1.2 in YAPE Screenshot #2


Copyright © Plus/4 World Team, 2001-2025. Support Plus/4 World on Patreon