NEOS Mouse
| NEOS Mouse | |
| Type: | Mouse |
| Producer: | Nihon Electronics Co. Ltd. |
| Price: | |
| Released: | 1985 |
| Discontinued: | 199? |
| Processor: | |
| Memory: | |
| OS: | GEOS compatibility |
| Info: | differents designs |
The Neos Mouse was a third party mouse, produced by the company Nihon Electronics Co. Ltd. (internally Mitshumi), introduced in 1985 for the C64 and C128 at the same time as the Commodore 1350, really a joystick shaped in a mouse form. (Edit: the 1350 mouse is inside a Neos mouse [1]).
It went inside a drawing package named "Mouse cheese" but had poor support by other software as Commodore launched in 1986 their 1351 real mouse.
Curiously similar packs existed for the MSX (Mouse+Cheese), Amstrad CPCs (Mouse Pack 2.0, Gerdes Mouse, Centaure mouse, ASS Reis-Mouse or Reisware-Mouse) and even the Enterprise 128 (Boxsoft's Paintbox). The reason was that in reality the Neos mouse was an MSX protocol mouse with the pins interchanged to suit the Atari standard.
MSX DB9 has the +5v in pin 5 and ground in pin 9, but the Atari DB9 standard (Amiga) has the +5v in pin 7 and ground in pin 8. Connecting the wrong mouse to a computer can fire it "some".
Commodore used a direct lecture protocol that charged the interpretation of the data over the processor.
On the other side MSX used an intelligent protocol that discharges the hard work on a little processor (MB88201) inside the mouse that sends the data over a 4 bit parallel port formed with the four direction switches. It needs four lectures of the port to form two bytes, x and y displacements on twos complements. Then the program managing the mouse only have to add the displacement to the actual position of the pointer to know the next move.
That simplicity of the protocol and its connection made it easy to implement it on other computers.
PC mice, both RS232 or PS/2 use a similar way to transmit data, but they do it over a serial line.
The mouse has two buttons. The ball and a light barrier with encoders are needed for the movement of the pointer's mouse.
Contents
[hide]Joystick mode and drivers[edit]
Same as with the Mouse 1513, a joystick mode can also be activated for using the mouse as joystick for software. The joystick mode is activated by restarting the computer and pushing the left mouse button. The mouse is compatible with GEOS, but the mouse driver cannot be used for the Mouse 1351.
Package and content[edit]
The mouse was sold together with the user manual and a datasette with program in styrofoam. The tape contained the mouse driver and the paint program Mouse-Cheese.
Bundles[edit]
The NEOS mouse was contained in the C64 bundle Commodore C64C Connoisseur's Collection, with a limited edition of the C64C series, which was sold in 1990 in Great Britain.
Models[edit]
Software[edit]
Neos Cheese Paint[edit]
The paint program is used over icons at the lower screen border. (The version 1.1 of Mouse-Cheese is started with SYS 4096).
Driver[edit]
; da65 V2.15 - Git N/A
; Created: 2015-10-30 20:05:31
; Input file: neos-driver.bin
; Page: 1
.setcpu "6502"
ldy #$3F
LC002: lda sprite,y
sta $0340,y
dey
bpl LC002
lda #$0D
sta $07F8
lda #$01
sta $D015
lda #$07
sta $D027
lda #$7F
sta $DC00
sei
LC020: jsr LC100
lda #$07
bcc LC029
lda #$0A
LC029: sta $D027
jsr LC190
jsr LC1D0
lda $DC00
and #$10
bne LC020
cli
rts
brk
brk
brk
brk
brk
sprite: .byte $FC
.byte $00
.byte $00
.byte $F0
.byte $00
.byte $00
.byte $F0
.byte $00
.byte $00
.byte $D8
.byte $00
.byte $00
.byte $8C
.byte $00
.byte $00
.byte $86
.byte $00
.byte $00
.byte $03
.repeat 173
.byte $00
.endrepeat
LC100: lda $DC00
pha
lda $DC01
pha
lda $DC02
pha
lda $DC03
pha
lda #$10
sta $DC02
lda $DC00
and #$EF
sta $DC00
ldx #$08
jsr delay
lda $DC00
asl a
asl a
asl a
asl a
sta $19
lda $DC00
ora #$10
sta $DC00
ldx #$05
jsr delay
lda $DC00
and #$0F
ora $19
sta $19
lda $DC00
and #$EF
sta $DC00
ldx #$05
jsr delay
lda $DC00
asl a
asl a
asl a
asl a
sta $1A
lda $DC00
ora #$10
sta $DC00
ldx #$05
jsr delay
lda $DC00
and #$0F
ora $1A
sta $1A
lda $D419
cmp #$FF
pla
sta $DC03
pla
sta $DC02
pla
sta $DC01
pla
sta $DC00
rts
delay: nop
nop
nop
dex
bne delay
rts
rts
rts
rts
rts
brk
brk
LC190: nop
nop
nop
lda $19
bmi LC1A2
sec
lda $FE
sbc $19
bcs LC1AF
lda #$00
beq LC1AF
LC1A2: sec
lda $FE
sbc $19
bcs LC1AD
cmp #$A0
bcc LC1AF
LC1AD: lda #$9F
LC1AF: sta $FE
lda $1A
bmi LC1C0
sec
lda $FF
sbc $1A
bcs LC1CD
lda #$00
beq LC1CD
LC1C0: sec
lda $FF
sbc $1A
bcs LC1CB
cmp #$C8
bcc LC1CD
LC1CB: lda #$C7
LC1CD: sta $FF
rts
LC1D0: lda $FE
clc
adc #$0C
asl a
pha
bcc LC1E0
lda $D010
ora #$01
bne LC1E5
LC1E0: lda $D010
and #$FE
LC1E5: sta $D010
pla
sta $D000
clc
lda $FF
adc #$32
sta $D001
rts



