Enjoy!
Posted Fri Mar 28, 2008 8:31 PM
Posted Fri Mar 28, 2008 8:49 PM
Wickeycolumbus, on Fri Mar 28, 2008 7:31 PM, said:
Posted Fri Mar 28, 2008 8:49 PM
Wickeycolumbus, on Fri Mar 28, 2008 9:31 PM, said:
Posted Fri Mar 28, 2008 8:50 PM
Posted Fri Mar 28, 2008 9:16 PM
Posted Sat Mar 29, 2008 2:27 AM
Posted Sat Mar 29, 2008 11:42 AM
Posted Sat Mar 29, 2008 12:34 PM
Posted Sat Mar 29, 2008 3:58 PM
SpiceWare, on Sat Mar 29, 2008 4:09 PM, said:
MAC READ_PADDLE_1 lda INPT0 ; 3 - always 9 bpl .save ; 2 3 .byte $2d ; 4 0 What does this do? .save sty Paddle1 ; 0 3 To read the paddle you read Paddle1? (lda Paddle1) ENDM
Posted Sat Mar 29, 2008 4:31 PM
Wickeycolumbus, on Sat Mar 29, 2008 10:58 PM, said:
.byte $2d ; 4 0 What does this do?
Quote
.save sty Paddle1; 0 3 To read the paddle you read Paddle1?
Quote
Edited by Thomas Jentzsch, Sat Mar 29, 2008 4:39 PM.
Posted Sat Mar 29, 2008 5:04 PM
Posted Sat Mar 29, 2008 6:58 PM
Thomas Jentzsch, on Sat Mar 29, 2008 6:31 PM, said:
Wickeycolumbus, on Sat Mar 29, 2008 10:58 PM, said:
.byte $2d; 4 0 What does this do?
Quote
.save sty Paddle1; 0 3 To read the paddle you read Paddle1?
Quote
sta HMCLR lda INPT0 cmp shadowINPT0 bmi paddleminus bpl paddleplus paddleminus lda #%00010000 sta HMP1 sta shadowHMP1 jmp regular paddleplus lda #%11110000 sta HMP1 sta shadowHMP1 regular ;on with the rest of the program
Edited by Wickeycolumbus, Sat Mar 29, 2008 7:05 PM.
Posted Sat Mar 29, 2008 9:23 PM
Posted Sun Mar 30, 2008 12:48 AM
Posted Sun Mar 30, 2008 12:57 AM
Posted Sun Mar 30, 2008 1:11 AM
Posted Sun Mar 30, 2008 4:17 AM
Wickeycolumbus, on Sun Mar 30, 2008 2:58 AM, said:
bit INPT0 ; 3 bmi .save+1 ; 2/3 .save: sty paddle ; 3/2 paddle has to be at the address of an 1 byte, 2 cycles opcode, e.g. $ea (NOP)Total: 8 cycles, 1 cycle saved
Edited by Thomas Jentzsch, Sun Mar 30, 2008 4:25 AM.
Posted Sun Mar 30, 2008 10:28 AM
ovalbugmann, on Sun Mar 30, 2008 3:11 AM, said:
Posted Sun Mar 30, 2008 10:35 AM
Thomas Jentzsch, on Sun Mar 30, 2008 6:17 AM, said:
Wickeycolumbus, on Sun Mar 30, 2008 2:58 AM, said:
bit INPT0 ; 3 bmi .save+1; 2/3 .save: sty paddle ; 3/2 paddle has to be at the address of an 1 byte, 2 cycles opcode, e.g. $ea (NOP)Total: 8 cycles, 1 cycle saved
Posted Sun Mar 30, 2008 11:08 AM
Quote
Quote
VerticalBlank: lda #$82 sta WSYNC sta VSYNC ; 3 start vertical sync, D1=1 sta VBLANK ; 3 6 start vertical blank and dump paddles to ground ... ldx Paddles2Read lda #153 ; prep paddle results with highest possible value sta Paddle1,x ; our initial paddle results will be 1-153 sta Paddle3,x ; and will be adjusted to 0-152 in overscan lda #0 VblankWait lda INTIM bpl VblankWait sta WSYNC sta HMCLR ; clear hmoves for next time around stx VBLANK ; turn on video output & remove paddle dump to ground
Posted Sun Mar 30, 2008 12:11 PM
Thomas Jentzsch, on Sun Mar 30, 2008 5:17 AM, said:
ldx paddlectr dex bne nohit stx.w VBLANK .. one copy of succeeding code nohit: stx lctr .. another copy of succeeding codeTen cycles, every ten scan lines. Some time later on the screen, you'll need a loop which checks the paddle every line, and you'll have to adjust the starting value of paddlectr so that the paddle is expected to time out around the middle of that loop.
0 members, 0 guests, 0 anonymous users