home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 1998-07-31 | 1.2 KB | 61 lines |
- Screen Open 0,640,256,2,$8000
- Curs Off : Flash Off : Paper 0 : Pen 1 : Cls
- Dev Open 0,"trackdisk.device",128,0,0
- TRK=0
- TLEN=24000
- Reserve As Chip Work 10,32*1024
- ST=Start(10)
- For TRK=0 To 159
- Repeat
- Fill ST To ST+Length(10),$AAAAAAAA
- DISKRAWWRITE[ST,TLEN,TRK]
- Fill ST To ST+Length(10),0
- Loke ST,$44894489
- ' MOTOROFF
- ' Wait 15
- DISKRAWWRITE[ST,4,TRK]
- ' MOTOROFF
- WA=Rnd(150)
- Wait WA
- DISKRAWREAD[ST,TLEN,TRK]
- T=0
- For A=0 To TLEN-1
- P=Peek(ST+A)
- If P=$AA or P=$55 Then T=0 Else Inc T
- Exit If T>3
- Next
- F=A
- T=0
- For A=F+50 To TLEN-1
- P=Peek(ST+A)
- If P=$AA or P=$55 Then T=0 Else Inc T
- Exit If T>3
- Next
- TRKLEN=A-F
- If A=TLEN Then TRKLEN=0
- Until TRKLEN>12000
- Extension_8_0472 "ram:test",10
- Print "Track";TRK;":";TRKLEN;" (Wait:";WA;")"
- Next
- MOTOROFF
- Dev Close
- End
- Procedure DISKRAWWRITE[AD,LE,OS]
- IO=Dev Base(0)
- Loke IO+36,1
- Dev Do 0,9
- Poke IO+30,0
- Loke IO+36,LE : Loke IO+40,AD : Loke IO+44,OS
- Dev Do 0,17
- End Proc
- Procedure DISKRAWREAD[AD,LE,OS]
- IO=Dev Base(0)
- Poke IO+30,0
- Loke IO+36,LE : Loke IO+40,AD : Loke IO+44,OS
- Dev Do 0,16
- End Proc
- Procedure MOTOROFF
- IO=Dev Base(0)
- Loke IO+36,0
- Dev Do 0,9
- End Proc