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.
Joystick mode and drivers[edit | edit source]
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 | edit source]
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 | edit source]
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 | edit source]
Software[edit | edit source]
Neos Cheese Paint[edit | edit source]
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 | edit source]
; 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