PDA

View Full Version : Keyboard, mouse, joystick simulation for vintage-PCs



Rajni
February 16th, 2007, 11:28 PM
Okay, up for auction currently is the keyboard, mouse, and joystick simulator which I talked about previously a month or so ago:

http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=320083719149

What's new is that PS/2 type keyboards are now simulated with the professional version of MPDOS using the same cable as the Amiga 4000 cable. They both use the mini-din connector. So if you decide to upgrade to the Professional version, you get that free-bie although it's not currently stated on the website. There's also a DOS version of keyboard, mouse, and joystick simulator available for those who have a broken down PC which only boots with a floppy or does not have enough memory/HD space to run Windows. In fact, you can use a broken down laptop with a broken LCD and as long as it boots up from floppy, you can use it to simulate the keyboard, mouse, and joystick of Amigas and Ataris. Of course, the parallel port has to be there and work.

Rajni
April 17th, 2007, 12:33 PM
The professional version of MPDOS includes a 6502 Assembler and 680x0 Assembler which allows you to boot your Atari or Amiga directly from your PC. Here's link for latest auction on Standard version of MPDOS; winner has option to upgrade to professional version:

http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&ssPageName=ADME:L:LCA:US:11&item=320102924004

Included below is sample code that you can load into MPDOS and run on the Atari 400/800/XL/XE via the cable on auction. More sample is included with MPDOS. The digital joystick adapter is also still available and has been now tested with more games:

http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&ssPageName=ADME:L:LCA:US:11&item=320104489758

Why would someone want to program nowadays on the Atari? For one thing, some things run better with more timing accuracy verses having faster and faster processors. Here's code from Krishna Software that sets a timer interrupt to show a yellow line in the middle of the screen. It only uses the timer interrupt not any DLIs (display list interrupts) so you can compare with PC timer. Go try doing this on your PC what to speak of emulating it using an Atari emulator running on a PC. Someone asked before that they rather use an emulator; well here's one example where your emulator will fail:

;*** Test timer accuracy on Atari 400/800 by Krishna Software Inc. without using DLIs.
TIMERFREQLSB = 53760
TIMERFREQMSB = 53762
WSYNC = 54282
VCOUNT = 54283

DOSVEC = 10
CASINI = 2
WARMSTART = 58484
VMIRQ = 534 ;hardware irq ptr

ORG = 600h
;DW 0FFFFh
;DW StartAdr
;DW LastOffset-1
DB 0,3 ;# of sectors to load 1..255
DW ORG
DW StartAdr
Rts
StartAdr: Lda #MyReset,L
Sta CASINI
Lda #MyReset,H
Sta CASINI+1
Lda #0
Sta 580
Lda #2
Sta 9
Jmp WARMSTART
MyReset: Lda #2
Sta 9
Lda #MyReset,L
Sta CASINI
Lda #MyReset,H
Sta CASINI+1
Sei
Lda #0 ;no VBIs nor DLIs for maximum performance
Sta 54286
Sta 53774 ;disable all IRQs
Sta 54272 ;turn off screen
Lda #TimerTwoIRQ,L ;general IRQ routine but we use only for timer #2
Sta VMIRQ
Lda #TimerTwoIRQ,H
Sta VMIRQ+1
Lda #80 ;40 for join channels 3,4; +80 for channels 1+2 @1.79Mhz
Sta 53768 ;join channels at 1.79 Mhz
Lda #165 ;lsb 165
Sta 53760 ;timer #2 freq = 1789790/[A+1]
Lda #116 ;msb for rate divisor A
Sta 53762
Lda #2 ;2=timer interrupt
Sta 53774 ;enable IRQ #2
NotMidScreen: Lda VCOUNT
Cmp #65
Bne NotMidScreen
Sta WSYNC
Sta 53769 ;start timer counter
CLI
Lda #34
Sta 54272
IdleLoop: ;put your code here
Jmp IdleLoop

TimerTwoIRQ: Pha
Lda #255
Sta 53272 ;change register (like color for example)
Lda #0
Sta 53774
Lda #2
Sta 53774 ;send ack to timer irq
Nop
Nop
Lda #96
Sta 53272 ;change register (like color for example)
Pla
Rti

;LastOffset: DW 2e0h,2e1h,ORG

Terry Yager
April 17th, 2007, 05:42 PM
Haven't you whupped this poor mule's carcass enough? This is borderline spam.

--T

Rajni
April 17th, 2007, 07:01 PM
I was trying to give evidence for the statement regarding emulation. Actually, I wound up giving a link of an auction that is invalid. The real link is:

http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=320104919302

Ebay ended that auction because I mentioned my website link in that auction. Someone asked before regarding emulation versus programming on a real machine and also more games were tested with the digital joystick adapter. Sorry, I won't post again unless someone asks something regarding the issue.