PS/2 마우스를 지원하지 않는 빈티지 컴퓨터에서 사용할 수 있는 PS/2-시리얼 마우스 어댑터를 직접 만드는 방법의 회로도와 Arduino 코드입니다. 빈티지 시리얼 마우스에 대한 저렴하고 훨씬 더 안정적인 DIY 대안으로 의도되었으며, 이를 통해 현대 레이저 마우스를 지원하지 않는 빈티지 컴퓨터에서 사용할 수 있습니다.
어댑터는 3버튼 Microsoft 직렬 마우스를 에뮬레이트합니다. 3버튼 버전을 지원하지 않는 드라이버는 2개의 버튼만 등록할 수 있습니다. 스크롤휠은 지원되지 않으며 스크롤 휠이 있는 직렬 마우스를 지원하는 소프트웨어나 운영 체제가 거의 없기 때문에 구현되지 않을 가능성이 큽니다.
이 프로젝트는 Arduino Leonardo를 사용하여 프로토타입을 만들었지만 Arduino 코드를 거의 수정하지 않고도 내장된 직렬 UART가 있는 5V Arduino와 함께 작동해야 합니다. 어댑터는 직렬 포트 중 하나에 연결된 386DX에서 완벽하게 작동했습니다.
특징
Microsoft 3버튼 마우스와 호환(Logitech도 지원).
초당 ~40개 보고 이벤트 속도(가운데 버튼을 누르지 않았을 때).
사용자의 빌드에 맞게 Arduino 스케치 코드를 쉽게 구성할 수 있습니다.
요구 사항
UART가 내장된 5V Arduino.
74LS00 NAND 게이트(74HC00도 가능하며 12V 출력이 가능할 수 있음(테스트 안 함)).
- 증상 : 처음 막 설치할 때는 괜찮으나 여러가지 드라이버들을 설치하다 보면 제대로 윈도우가 종료되지 않는다. 시스템 종료를 선택하면 재부팅되어 버림. 시스템 재시작을 선택하면 'Windows를 종료하고 있습니다...'의 화면에서 멈춰버림.
- 해결 : MS에서 내놓은 종료 버그 패치를 깔면 된다
2) USB 패치
- 증상 : 화면 절전으로 꺼졌을 때 USB 마우스나 키보드로 깨우는 기능이 작동하지 않는다. 처음 컴퓨터를 켰을 때에는 키보드, 마우스가 잘 작동하나 어느 정도 사용하다 보면 작동이 멈춘다. 화면 절전으로 꺼진 다음에는 마찬가지로 작동이 멈춘다.
- 해결 : 레지스트리 에디터로 다음 사항을 적용
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usb] "USBBIOSHACKS"=dword:00000000 "USBBIOSx"=dword:00000000
그냥 출력하고 나중에 색칠해도 되지만 애초에 출력할 때 다색출력으로 하면 채색하는 수고를 줄일 수 있다.
2. 부품 주문
인쇄물 외에 다음이 필요합니다.
* Raspberry Pi(저는 4B를 사용했지만 Pi에 맞는 부품을 인쇄해야 합니다) * Pi Zero 2W~3B 어댑터( 이것 과 같은 것 ) - Pi Zero에 후면 I/O 포트를 추가하는 데 필요합니다. * 3.5인치 HDMI MPI3508 LCD 디스플레이( 이것 과 같은 ) * Micro SD to SD 카드 유연한 확장 케이블:Pi 5/4B/3B/2B의 경우 - 리더 드라이브 부분은 링크에 있는 부분에 맞게 특별히 설계되었습니다. 제가 시도한 다른 제품은 마이크로 SD 쪽이 너무 커서 데스크탑 베이스에 맞지 않았습니다. SD 리더의 올바른 방향은 SD 카드를 라벨이 위를 향하게 삽입하는 것입니다. * HDMI 플랫 플렉시블 케이블 15cm ( 이것 과 같은 ):파이 5/4B - 변형 D2 + A2.Pi 3B - 변형 A2 + A2.Pi Zero 2W - 변형 C2 + A2.1x 0.1m USB-C 확장 케이블(예: 이 케이블 )로 Pi가 후면 I/O 패널에서 전원을 공급받을 수 있습니다. 참고: Pi 5는 일반 USB 확장 케이블과 작동하지 않으며 USB PD 지원 케이블을 사용해야 합니다(아직 작동하는지 테스트하지 못했습니다). * SD 카드 드라이브 래치용 M1.5x8 다웰 핀 1개( 이것 과 같은 것) * 40핀 GPIO 확장 케이블( 이것 과 같은 ). 조립할 때 모니터에 여유 공간을 최대한 남겨서 데스크탑에 다른 케이블을 위한 공간을 남겨두세요. * USB-C 포트 브레이스를 데스크탑 받침대에 고정하기 위한 M2.5x8 나사 1개. * Pi를 데스크탑 베이스에 고정하기 위한 M2.5x5 나사 4개. * 데스크탑 케이스를 모니터 받침대에 고정하기 위한 M2.5x5 나사 4개. * SD 드라이브 브레이스를 전면 패널 뒷면에 고정하기 위한 M2.5x5 나사 1개.데스크탑 케이스를 데스크탑 받침대에 고정하기 위한 M2.5x8 나사 2개. * 디스플레이 브레이스를 모니터 전면에 고정하기 위한 M2.5x8 나사 2개.모니터용 M2.5x8 나사 4개.
옵션 항목:
* Pi 스피커 확장 보드( 이것 과 같은 ) * LCD 디스플레이 5v 핀( 이것 과 같은)에 연결된 듀얼 25mm 팬. 또한 JST 2핀 연장 케이블이 필요했습니다. * 팬을 데스크탑 받침대에 고정하기 위한 M2.5x10 나사 8개.
직접 시도하기 전에 Sound Blaster 카드에 실제로 IDE가 있는지 확인하십시오 . 이전의 Creative 카드에는 IDE처럼 보이지만 전기적으로 호환되지 않는 독점적인 CD-ROM 헤더가 있었습니다. IDE 드라이브를 비표준 헤더에 연결하면 드라이브나 귀중한 카드가 손상될 수 있습니다.
커넥터 주변에 "IDE"라고 쓰인 실크스크린 노트를 찾아보세요. "Panasonic"이나 "Sony" 가 아닙니다 . 더 나은 방법은 카드의 모델 번호를 검색하여 확인하는 것입니다.
카드와 드라이브 준비
Sound Blaster 32, AWE32, AWE64는 플러그 앤 플레이 카드입니다. DOS에서는 다음 순서로 로드합니다.
Creative의 PnP 감지 도구 CTCM.EXE
IDE 컨트롤러용 SBIDE.SYS 드라이버
MSCDEX.EXE 또는 동등한 CD-ROM 드라이버
Creative 웹사이트에는 2023년 현재도 기적적으로 위 2개 항목이 존재하고 있습니다. 만약 위 링크가 죽어버렸거나 다운로드가 되지 않는다면, 웹에서 파일명을 검색해 찾아보세요:
CTCMBBS.EXE 아카이브에는 Sound Blaster 카드의 구성을 조사하는 데 사용할 수 있는 CTCU.EXE가 포함되어 있습니다. 화살표 키를 사용할 수 있지만 먼저 마우스 드라이버를 로드하면 더 쉽습니다 .
CTCU.EXE를 실행하세요
메뉴를 클릭 하고 PnP 카드를 클릭합니다.
장치 목록 에서 IDE를 클릭하세요
리소스 버튼을 클릭하세요 .
설정 에서 다음과 같은 세 줄이 표시됩니다.
I/O Range 1e8-1ef
I/O Range 3ee-3ef
Interrupt 11
이 설정을 기록해 두십시오. 그리고 ESC를 두 번 누른 다음 메뉴 에서 종료를 선택하십시오 .
드라이버 구성
CONFIG.SYS 에서 LASTDRIVE를 정의하여 CD-ROM에 할당할 여분의 드라이브 문자를 확보합니다. 완료되면 종료되므로 높게 로드할 필요가 없는 CTCM 드라이버를 실행합니다. 그런 다음 SBIDE.SYS IDE 드라이버를 로드합니다. /P 플래그는 위의 첫 번째 I/O 범위의 시작을 사용하고, 그 다음에 인터럽트를 사용하고, 그 다음에 두 번째 I/O 범위를 사용합니다.
그리고 AUTOEXEC.BAT . 위에서 /D를 사용하여 정의한 것과 동일한 드라이브 레이블을 사용합니다 .
:: AUTOEXEC.BAT
SET SOUND=C:\DRIVERS
SET CTCM=C:\DRIVERS
:: Uncomment if using Windows 3.x
:: C:\DRIVERS\CTCU.EXE /S /W=C:\WINDOWS
C:\DRIVERS\MSCDEX.EXE /D:JIMKLOSS /L:E /M:15 /V
재부팅하고 테스트하세요
모든 것이 잘 진행되면 다음과 같은 출력이 표시됩니다.
Creative CD-ROM Device Driver Version 1.22
Copyright (C) Creative Technology Ltd,1994-97. All rights reserved.
Transfer Mode : Programmed I/O
Number of drives :
Drive 0: Port= 1E8 IRQ= 11 CD-ROM CRN-8241B 2.23
MSCDEX Version 2.24
Copyright (C) IBM Corp. 1986-1994. All rights reserved.
Drive D: = Driver JIMKLOSS unit 0
또는 SHSUCDX를 사용하는 경우 :
SHSUCDX installed.
Drives Assigned
Drive Driver Unit
D: JIMKLOSS 0
이제 접속할 수 있습니다!
문제 해결
당연한 것처럼 들리지만 드라이브가 감지되지 않으면 카드에 IDE 리본 케이블을 다시 끼우거나 바꿔보세요. 저는 제가 엉터리 케이블을 사용하고 있다는 것을 깨닫기 전까지 몇 시간 동안 문제 해결에 허비했고, 그 오래된 사운드 카드 IDE 커넥터는 매우 불안정할 수 있습니다.
CTCU.EXE 는 문제 해결을 위한 친구입니다. 카드가 전혀 나열되지 않으면 ISA 버스에 제대로 연결되지 않은 것일 수 있습니다.
DeoxIT 또는 유사한 산화 제거 용액 캔을 잡고 슬롯에 뿌리고 카드의 핀을 청소하세요. 알다시피, 그것이 이유라고 생각하지는 않겠지 만, 이 물건은 오래되었습니다.
카드가 감지되면 CTCU.EXE를 사용하여 다른 인터럽트 및 I/O 주소를 설정한 다음 CONFIG.SYS를 업데이트하여 이를 반영해 보세요. 특정 보드는 기본 설정을 좋아하지 않는다는 글을 읽었습니다.
아무것도 효과가 없다면, 포기하고 두 개의 인터페이스가 있는 전용 IDE 컨트롤러를 사용하는 게 좋을지도 모릅니다. 저는 레트로컴퓨팅을 좋아하지만, 다른 일을 할 수 있도록 새 카드로 문제를 해결하는 것도 나쁘지 않습니다.