Блин , всё равно странно ведет себя
прога байт состояния правильно считывает
а подключаю оссцил и непонимаю
как она это считала
...
счас будут слайды
...
Блин , всё равно странно ведет себя
прога байт состояния правильно считывает
а подключаю оссцил и непонимаю
как она это считала
...
счас будут слайды
...
10 CLEAR 29999Сообщение от The Exploited
20 LOAD""CODE
30 PRINT USR 15619:REM:SAVE"AYSPI00"CODE 40872,4907
потом любым дискедитором меняешь разширение на A и грузишь в тасм
;SUB AYVER ; BFFD -<FROM REGISTER ->SET REGISTER
; C 7FFD ->DATA TO REGISTER
; 4 BIT RES GFX
; 5 --- SI
; 6 --- SCK
; 7 --- CS
; B
; 0 BIT SO
;COMMANDS
RDSR EQU #05
WRSR EQU #01
READ EQU #03
WRITE EQU #02
WREN EQU #06
WRDI EQU #04
ORG #8000
DI
CALL INI_SPI
CALL READ_ST
LD HL,DATA_IN
LD C,(HL)
LD B,0
EI
RET
DATA_IN ! SHIT !0
DATA_OU ! SHIT !0
INI_SPI
PUSH AF
PUSH BC
LD BC,65533
LD A,7 ;-7 REG MUST 10XXXXXX
OUT (C),A
LD BC,49149
LD A,128 ;1000000
OUT (C),A
;--------------------------------
LD BC,65533
LD A,15 ;B OUTPUT
OUT (C),A ;SET FOR OUTPUT
; B FOR UTPUT
LD A,%10110000 ;CS-H SCK-L SI-H
LD BC,49149
OUT (C),A
POP BC
POP AF
RET
SH_IN NOP ;GET DATA TO A
PUSH BC
PUSH HL
LD HL,DATA_IN
LD (HL),0
NOP ;MSB FIRST
LD A,%00110000 ;SCK LOW
CALL OUT_B
CALL IN_A
RRA ;--->cy-DATA 7 BIT
JR C,SET7
RES 7,(HL)
JR RES7
SET7 SET 7,(HL)
RES7 NOP
LD A,%01110000 ;SCK HI
CALL OUT_B
NOP
;---------------------------------------------
LD A,%00110000 ;SCK LOW
CALL OUT_B
CALL IN_A
RRA ;--->cy-DATA 7 BIT
JR C,SET6
RES 6,(HL)
JR RES6
SET6 SET 6,(HL)
RES6 NOP
LD A,%01110000 ;SCK HI
CALL OUT_B
NOP
;---------------------------------------------
LD A,%00110000 ;SCK LOW
CALL OUT_B
CALL IN_A
RRA ;--->cy-DATA 7 BIT
JR C,SET5
RES 5,(HL)
JR RES5
SET5 SET 5,(HL)
RES5 NOP
LD A,%01110000 ;SCK HI
CALL OUT_B
NOP
;---------------------------------------------
LD A,%00110000 ;SCK LOW
CALL OUT_B
CALL IN_A
RRA ;--->cy-DATA 7 BIT
JR C,SET4
RES 4,(HL)
JR RES4
SET4 SET 4,(HL)
RES4 NOP
LD A,%01110000 ;SCK HI
CALL OUT_B
NOP
;---------------------------------------------
LD A,%00110000 ;SCK LOW
CALL OUT_B
CALL IN_A
RRA ;--->cy-DATA 7 BIT
JR C,SET3
RES 3,(HL)
JR RES3
SET3 SET 3,(HL)
RES3 NOP
LD A,%01110000 ;SCK HI
CALL OUT_B
NOP
;---------------------------------------------
LD A,%00110000 ;SCK LOW
CALL OUT_B
CALL IN_A
RRA ;--->cy-DATA 7 BIT
JR C,SET2
RES 2,(HL)
JR RES2
SET2 SET 2,(HL)
RES2 NOP
LD A,%01110000 ;SCK HI
CALL OUT_B
NOP
;---------------------------------------------
LD A,%00110000 ;SCK LOW
CALL OUT_B
CALL IN_A
RRA ;--->cy-DATA 7 BIT
JR C,SET1
RES 1,(HL)
JR RES1
SET1 SET 1,(HL)
RES1 NOP
LD A,%01110000 ;SCK HI
CALL OUT_B
NOP
;---------------------------------------------
LD A,%00110000 ;SCK LOW
CALL OUT_B
CALL IN_A
RRA ;--->cy-DATA 7 BIT
JR C,SET0
RES 0,(HL)
JR RES0
SET0 SET 0,(HL)
RES0 NOP
LD A,%01110000 ;SCK HI
CALL OUT_B
NOP
;---------------------------------------------
NOP
LD A,(HL)
POP HL
POP BC
; EI
RET
SH_OUT NOP ; ->DEVICE
PUSH AF
PUSH BC
PUSH HL
LD HL,DATA_OU
NOP ;MSB FIRST
LD A,%00000000 ;CS-LOW SCK 0 SI
; ;CS SCK SI RGFX
; CALL OUT_B
BIT 7,(HL)
JR Z,BIT7L
LD A,%00110000 ;SI HIGH
JR BIT7H
BIT7L LD A,%00010000 ;CS 0 SCK 0 SI 0
BIT7H NOP
CALL OUT_B
SET 6,A ;CS0 SCK1 SI1
CALL OUT_B ;SETB SCK
NOP
;-------------------------
LD A,%00110000 ;CS-LOW SCK 0 SI
CALL OUT_B
BIT 6,(HL)
JR Z,BIT6L
LD A,%00110000 ;HIGH
JR BIT6H
BIT6L LD A,%00010000
BIT6H NOP
CALL OUT_B
SET 6,A ;CS0 SCK1 SI1
CALL OUT_B ;SETB SCK
NOP
;-------------------------
LD A,%00110000 ;CS-LOW SCK 0 SI
CALL OUT_B
BIT 5,(HL)
JR Z,BIT5L
LD A,%00110000 ;HIGH
JR BIT5H
BIT5L LD A,%00010000
BIT5H NOP
CALL OUT_B
SET 6,A ;CS0 SCK1 SI1
CALL OUT_B ;SETB SCK
NOP
;-------------------------
LD A,%00110000 ;CS-LOW SCK 0 SI
CALL OUT_B
BIT 4,(HL)
JR Z,BIT4L
LD A,%00110000 ;HIGH
JR BIT4H
BIT4L LD A,%00010000
BIT4H NOP
CALL OUT_B
SET 6,A ;CS0 SCK1 SI1
CALL OUT_B ;SETB SCK
NOP
;-------------------------
LD A,%00110000 ;CS-LOW SCK 0 SI
CALL OUT_B
BIT 3,(HL)
JR Z,BIT3L
LD A,%00110000 ;HIGH
JR BIT3H
BIT3L LD A,%00010000
BIT3H NOP
CALL OUT_B
SET 6,A ;CS0 SCK1 SI1
CALL OUT_B ;SETB SCK
NOP
;-------------------------
LD A,%00110000 ;CS-LOW SCK 0 SI
CALL OUT_B
BIT 2,(HL)
JR Z,BIT2L
LD A,%00110000 ;HIGH
JR BIT2H
BIT2L LD A,%00010000
BIT2H NOP
CALL OUT_B
SET 6,A ;CS0 SCK1 SI1
CALL OUT_B ;SETB SCK
NOP
;-------------------------
LD A,%00110000 ;CS-LOW SCK 0 SI
CALL OUT_B
BIT 1,(HL)
JR Z,BIT1L
LD A,%00110000 ;HIGH
JR BIT1H
BIT1L LD A,%00010000
BIT1H NOP
CALL OUT_B
SET 6,A ;CS0 SCK1 SI1
CALL OUT_B ;SETB SCK
NOP
;-------------------------
LD A,%00110000 ;CS-LOW SCK 0 SI
CALL OUT_B
BIT 0,(HL)
JR Z,BIT0L
LD A,%00110000 ;HIGH
JR BIT0H
BIT0L LD A,%00010000
BIT0H NOP
CALL OUT_B
SET 6,A ;CS0 SCK1 SI1
CALL OUT_B ;SETB SCK
NOP
RES 6,A ; !!!!!!!!!!!!!!!!!!!!!
CALL OUT_B
POP AF
POP HL
POP BC
RET
READ_ST DI ;READ STATUS
PUSH AF
PUSH BC
PUSH HL
LD A,%00000000 ;CS-LOW SCK 0 SI
CALL OUT_B ;CLR CS
LD A,RDSR
LD HL,DATA_OU
LD (HL),A
CALL SH_OUT
CALL SH_IN
;DATA IN DATA_IN
LD A,%10110000 ;CS-LOW SCK 0 SI
CALL OUT_B ;DESELECT
POP HL
POP BC
POP AF
RET
;AY SUBS
;
OUT_B NOP ;SEND DATA IN A TO PORT B
PUSH BC
PUSH AF
LD BC,65533
LD A,15 ; B PORT
OUT (C),A
LD BC,49149
POP AF
OUT (C),A
POP BC
RET
IN_A NOP ; READ DATA FROM A RETURNS A
PUSH BC
LD BC,65533
LD A,14 ; APORT
OUT (C),A
IN A,(C)
POP BC
RET
короче теперь такая фишка - с одним щупом подключенным на sck или на SO
читает правильно
стоит подключить второй щуп - начинает считывать ерунду
что это за вольная интерпритация ?Сообщение от The Exploited
конвертер не все директивы понимаетСообщение от Orionsoft
Another day - another demo =(
Вобщем освоил чтение и запись
пытаюсь разобюратся с защитой от записи
получается такая штука
говорю ему
сними защиту
{ разреши запись , запиши в статусный регистр 80 h считай состояние статуса , если равно , приступай к записи )
всё происходит ....
читаю потом микросхему на программаторе
считывает область с 0000 до 02FF и останавливается , говорит типа произошла ошибка
данные с 0000 по 02ff соответствуют тому , что писалось ...
но вывести микросхему из такого ступора удаётся
лишь приминив команду полное стирание ....
как работать с защитой ?
вобщем с защитой тоже всё работает , оказаллось меньше дергать микруху ркуой надо .
впоследствии код был переписан для работы через ВВ55 .
если найду выложу .
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)