RE: Weird problem writing buffer 1 of a 8250 drive

ruud.baltissen_at_apg.nl
Date: 2008-09-04 15:51:58

Hallo allemaal,


I already mentioned a work-around:


list

 100 open1,8,15
 110 open2,8,2,"#1"
 120 print#1,"b-p";2;0
 200 for i=0 to 15 : print i;
 210 print#2,chr$(i); : next
 240 print : print
 400 for i=0 to 15
 410 print#1,"m-r" chr$(i) chr$(18)
 420 get#1,a$ : if a$="" then a$=chr$(0)
 430 print asc(a$); : next
 440 close1 : close2
ready.
run
 0  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15

 0  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15
ready.


This one works as you can see. 

Next (in VICE) I changed line 210 into "print#2,chr$(96); : next" and
added the following lines:

 500 directory
 510 print#1,"m-e" chr$(0) chr$(18)
 520 directory

Line 210 fills the buffer with the value 96 = $60 = RTS. Line 510 will
execute a program starting at address $1200 = Buffer1. Lines 500 and 500
are there to check if the drive is (still) available. Deleting line 510
I see two listings of the directory, with line 510 I only see one :(

I tried the PRG with colon ie. "m-e:" and without the spaces in line 510
but with the same result: drive hangs.

Fortunately I have even a work-around for that problem: 510
print#1,"u3":

 100 open1,8,15
 110 open2,8,2,"#2"
 120 print#1,"b-p";2;0
 200 print#2,chr$(76);
 210 print#2,chr$(183);
 220 print#2,chr$(242);
 240 print : print
 400 for i=0 to 15
 410 print#1,"m-r" chr$(240+i) chr$(255)
 420 get#1,a$ : if a$="" then a$=chr$(0)
 430 print asc(a$); : next
 440 print : print
 500 directory
 510 print#1,"u3"
 520 directory

Looking at the result of lines 400-430 I found out that u3 is associated
with Buffer 2, $1300-$13FF, therefore the use of #2 in line 110. Lines
200-220 insert the command "JMP Reset" into Buffer 2. The results is two
listings plus a delay of several seconds between the actual output to
the screen.

OK. So far we know that m-w and m-e don't work as it should on a 8250.
What I really don't understand that this should be something more people
should have bumped into? I cannot imagine that I'm the first person in
thirty years time encountering this weird problem :)

For those who are interested why I need all this: I want to create a
fast diskcopy program. I created one in the past to copy WordCraft for
Marko but that took ages to copy one disk. The idea I have is a ML that
runs in the memory of the 8250 and transfers the data of every sector
byte for byte to the LPT port of a PC using my own protocol. The
hardware, just a cable, is no problem because I use the one of my CBM-HD
project. 


--
     ___
    / __|__
   / /  |_/     Groetjes, Ruud
   \ \__|_\
    \___|       URL: Ruud.C64.org

 






De informatie in dit e-mailbericht is vertrouwelijk en uitsluitend bestemd voor de 
geadresseerde. Wanneer u dit bericht per abuis ontvangt, verzoeken wij u contact op te 
nemen met de afzender per kerende e-mail. Verder verzoeken wij u in dat geval dit 
e-mailbericht te vernietigen en de inhoud ervan aan niemand openbaar te maken. 
Wij aanvaarden geen aansprakelijkheid voor onjuiste, onvolledige dan wel ontijdige 
overbrenging van de inhoud van een verzonden e-mailbericht, noch voor daarbij 
overgebrachte virussen.

APG Algemene Pensioen Groep NV is gevestigd te Heerlen en is ingeschreven in het handelsregister van de Kamer van Koophandel Limburg onder nummer 14099617


The information contained in this e-mail is confidential and may be privileged. 
It may be read, copied and used only by the intended recipient. 
If you have received it in error, please contact the sender immediately by 
return e-mail; please delete in this case the e-mail and do not disclose it's 
contents to any person. We don't accept liability for any errors, omissions, 
delays of receipt or viruses in the contents of this message which arise as a 
result of e-mail transmission.

APG Algemene Pensioen Groep NV is registered in the trade register of the Chamber of Commerce Limburg, The Netherlands, registration number: 14099617



       Message was sent through the cbm-hackers mailing list

Archive generated by hypermail pre-2.1.8.