PDA

Просмотр полной версии : пару ламовских вопросов



Sinus
05.01.2006, 17:52
ёх. короче давно я на спеке ничего не писал, а теперь надо одну штуку зафигачить. лазить по журналам и искать где что написано влом :rolleyes:

1) напомните плиз порты кемпстон мышки.
2) по какому адресу переменная васика где время тикает (совсем память отшибло, не помню как называется ;) )

SMT
05.01.2006, 19:05
адрес #5С78 - легко найти в unreal через cheatsearcher, называется FRAMES (кажется)

Sinus
05.01.2006, 19:12
о! сенькс.
а еще порты мышки напомни плизззз :)
и какая раскладка битов на том порту, где кнопки.

SMT
05.01.2006, 19:32
#FBDF - ыкс,
#FFDF - игрюк,
#FADF - кнопки (bit 0 - Left, 1 - right, 2 - middle, +5 - отжата, GND - нажата)

Sinus
06.01.2006, 13:27
биг сенькс! ты меня просто спас.
и вроде как порты на Х и У так же на запись рулят, как и на чтение.

Электрик
06.01.2006, 13:34
Это типо что мышка сама ездила? :D В соседней теме AlCo как раз про джойстик с отдачей спрашивал. :rolleyes:

Sinus
06.01.2006, 13:48
ага ;)
однако это подходит только для шариковых пассивных мышек.
если у тебя контроллер писишной мышки с оптикой, то ничего не сработает.
и тем более не все контроллеры поддерживают обратное перемешение.
и не забудь сбросить 7 бит порта #FADF (это недокументированный бит).

вот пример кода, мышка будет ездить по кругу:



LD C,#DF

LD A,%01111111
LD B,#FA
OUT (C),A

LD H,'SINTAB
LD D,'COSTAB

LOOP HALT
LD A,(HL)
LD B,#FB
OUT (C),A

LD A,(DE)
LD B,#FF
OUT (C),A

INC L
INC E

XOR A
IN A,(#FE)
OR #E0
INC A
JR NZ,LOOP

RET

jtn
06.01.2006, 14:04
чорд. у меня по квадрату ездит

Sinus
06.01.2006, 14:09
так у тебя таблички SINTAB и COSTAB кривые.
во-первыхх, они должны располагаться по адресу кратному 256

и вот генерилка:



10 CLEAR 39999
20 FOR i=0 TO 255
30 POKE 40000+i,SIN(i*PI/256)*127+128
40 POKE 40256+i,COS(i*PI/256)*127+128
50 NEXT i
60 RANDOMIZE USR 15619:REM:SAVE "tbl" CODE 40000,512


и кстати, у тебя пассивная мышка или с писишным контроллером?
если с контроллером, то там может глюк какой, надо обычную, от корвета.

а если пассивная, то моторы могут криво стоять.

jtn
06.01.2006, 15:16
самая обычная от БК0010. может мне у стола углы спилить?

Sinus
06.01.2006, 15:50
ну тогда фиг его знает.
если спилишь углы, а мыша ездит по квадрату, тогда она падать начнёт.

;)
в ощем пона наверное во флейм переносить ;)

jtn
06.01.2006, 16:50
не! всё норм. стало, там датчики не дают выйти за пределы.
давай теперь другую программку чтоб по спирали ездила, а то я лох в матиматике

Sinus
06.01.2006, 17:23
а программка та же самая, только надо вначале вместо


LD H,'SINTAB
LD D,'COSTAB

поставить


LD HL,SINTAB
LD DE,COSTAB

чтоб всегда с начала табличек начиналось и табличку другую сгенерить ;)