Reviews & Opinions
Independent and trusted. Read before buy Data Becker MI Letra!

Data Becker MI Letra

Manual

Preview of first few manual pages (at low quality). Check before download. Click to enlarge.
Manual - 1 page  Manual - 2 page  Manual - 3 page 

Download (English)
Data Becker MI Letra, size: 924 KB
Instruction: After click Download and complete offer, you will get access to list of direct links to websites where you can download this manual.

About

Data Becker MI LetraAbout Data Becker MI Letra
Here you can find all about Data Becker MI Letra like manual and other informations. For example: review.

Data Becker MI Letra manual (user guide) is ready to download for free.

On the bottom of page users can write a review. If you own a Data Becker MI Letra please write about it to help other people.

 

[ Report abuse or wrong photo | Share your Data Becker MI Letra photo ]

User reviews and opinions

<== Click here to post a new opinion, comment, review, etc.

Comments to date: 9. Page 1 of 1. Average Rating:
kellsm 9:35am on Monday, September 20th, 2010 
I bought the iphone because it is "idiot proof". Being of an older generation and not too tech savvy this phone was a breeze. Amazing combination of phone/music player/video player WHEN IT WORKS! Screen suddenly dies or freezes during task. Firmware update may kill it!
Vid 3:04pm on Sunday, August 1st, 2010 
Earphones Although the earphones work fine, one of them lost the metal outside cover within a week. Also one of the cords (right and left). Apple Earphones They are the Apple earphones. Exactly what you expect. The mic and button work with the iPhone 3G, but not the volume buttons. Knock-off earbuds I only paid 3$ for mine, but they are knock-offs and not the real Apple earbuds. The sound in them stinks.
dracular_magic 11:07pm on Wednesday, July 21st, 2010 
This is no longer necessary to pipe music to receive telephone, Internet connection their new Apple iPhone . With the iPhone. * The bold, 115.5 x 62.1 x 12.3mm compared to the first generation iPhone apple 115 x 61 x 11.6mm * Impressive cheap.
debt_consolidation 5:20pm on Sunday, June 20th, 2010 
An amazing phone. In the start it looks like it is difficult to handle, first by price and then by functions. I love my new iphone, it was very easy to sync with itunes - both music and contacts, very intuitive to learn how to do things.
Otilio 11:26am on Thursday, May 27th, 2010 
Good phone, fast, better battery life, retina display Overpriced. You can get it much cheaper via ATT or even Apple direct for 699. Apps is what makes this phone so great.
ianengelbrecht 8:57pm on Wednesday, May 26th, 2010 
Absolutely LOVE my iPhone! I was an initial adopter of mobileme when it had problems. However, those have been ironed out and the product works as advertised.
OOoFabian 6:35am on Friday, April 30th, 2010 
Hubby has a new toy , the Apple Iphone 8 g (gigabytes). It measures 2 1/2 x 4 1/2 and 3/8" thick. His case was $39.00. Nice to handle, 4GB Storage Price, camera quality
dev.null 4:03pm on Saturday, March 20th, 2010 
Apple is making millions on a great idea but ...  I like the internet, I like videoing and taking pictures and being able to email them. The iPhone is a great phone... If you like sp...  I really like the touch screen and all the apps that iPhone has. I bought this phone and a MacBook thinking th...  Screen size, Apps, voice quality No bluetooth communication with Mac computers AT&T is known for their 3g problems. I ca...  Great App Store Poor Coverage, Verizon Wireless is faster and has better coverage
p35 1:25pm on Saturday, March 20th, 2010 
The iphone is a nice phone, but not great. AT&T and Apple lock this phone down which is not right since we spend so much on it. I have used this phone since July and love it. It brings so many features together into one device. The keyboard is great.

Comments posted on www.ps2netdrivers.net are solely the views and opinions of the people posting them and do not necessarily reflect the views or opinions of us.

 

Documents

doc1

(to display the error)

To understand the operation of this program, first create the followlng error: OPEN l,8,15,-NEW ABCDISK,TlCLOSE 1 When you have given these commands, the red LED on the disk drive begins to blink. Did you spot the error? A colon is missing from the command NEW. Now type the program to read the error channel and type RUN. The error will appear on the screen: 34 SYNTAX ERROR 0 0
The 34 1S the number of the error, which is explained later. The track and sector fields are 0 because this information
Anatomy of the 1541 Disk Drive is not relevant to this error. If you read the error occurred, the message: channel when an error had not
is returned. In any case, if the red LED on the dr i ve blinks, check the syntax of the c om mand , since mo s t, errors can be easily recognized. Otherwlse, you can simply read the error channel to find the error which the DOS has detected. A detailed description of the error message and their caus~s follows in section 1.6.
LOAD-$-,8 - Loading the Directory
The directory is a "table of contents" of the diskette. All tne flIes on the dlskette are cataloged here. Be sure to note that loading the directory has a disadvantage: any program previously in memory is overlayed by the d r ze c t.c r y information. The directory is loaded by typing:
and can be viewed with the LIST command. Try LOADing the directory of the TEST/DEMO diskette that accompanies your disk drive. Insert this diskette into the disk drive and enter: LOAD -$-,8 to load the directory. Then display the directory by using the LIST command. What follows sho~ld be shown on the screen
., zx 2a prg "how part two" prg "vic-20 wedge" prg "c-64 wedge" prg "do s 5.1" prg "copy/all" prg "dlSk addr change" prg "dirt' prg prg "view bam " "check disk" prg "display t&S" prg "performance test" prg "sequential flle" prg "random file" prg

"1541test/demo

"how to use
A lot of lnforl"ation is kept in the directory. Let's look at the first line, the header of the directory. The number 0 in this line means that the directory is of the diskette in drive O. Other disk drives such as the 4040, contain two disk drives - drive 0 or drive 1. On the 1541 r.he drive

relative file with 128-character records. Now you want to
read the tenth record of this file and place it in the variable RC$. The example of the following routine illustrates reading this with GETI:
OPEN 1,8,2,"TEST.GET,L,"+CHRS(128)
OPEN 2,8,15 PRINT#2,"P"+CHRS(2)+CHRS(10)+CHR$(0)+CHR$(l)
RC$=" FOR 1=1 TO 128 GET#1,XS RC$=RC$+X$ NEXT I
After running this routine, the record is contained in the variable RC$. If this record had been written with a PRINT! statement without a trailing semicolon, the last character in the string will be a RETURN. To ignore this RETURN, allow the loop in line 140 to run only to 127. The last character of the record RETURN is not read.
As already mentioned, the last parameter of the P command specifies at which character the transfer of data should begin. If, for instance, in the 127-character record of the previous example, you want to read positions 40-60 into a
field, the head oust be positioned over the 40th character
and the this: next 21 bytes read. The following routine clarifies
100 OPEN 1,8,2,"TEST.GET,L,"+CHR$(128) 110 OPEN 2,8,IS
120 PRINT#2,"P"+CHR$(2)+CHR$(10)+CHRS<0)+CHRSU0)

130 ISO F$=>"

FOR 1=1 TO 21 GETtl,X$ 160 FS=FS+X$ 170 NEXT I
In line 120, the head is positioned over the the 40th byte of the tenth record in line 120 and the loop in lines 140170 reads the following 21 bytes (bytes 40-60 of the record)

into P$.

you see then that the entire record need not be read if you only want to work with part of it.

Closing a Relative Pile

There is no difference between closing a relative file and sequential file. Because the command channel must always be
open to send the position command when working with relative storage, it must also be closed.
Searching Records with the Binary Method record is accessed by record number. But what
if you want to search for a specific name in a relative file and the record number is not known, it is possible to read each record and compare each for the desired.name. But this is very time consuming if the file has many records.

260 GOTO REM ======================
240 IF ASC(RCS)<>255 THEN PRINT "RECORD NOT WRITTEN" PREPARE RECORD

280 REM

320 330
290 REM ========aBsscsaassssaa
FS(l)=MIDS(RC$,l,10) F$(2)=MID$(RC$,11,5) F$(3)=MID$(RCS,16,10) F$(4)=MID$(RC$,26,15)

======================

S*99999939S3 = =SrXO==9:999

DISPLAY FIELDS

PRINT CHRS(147)

FOR 1=1 TO 4

390 PRINT-FIELD";I?": 400 NEXT I 410 PRINT"

420 REM

"jP$(I)

"

BBSaaSSSSSSSBBSSSSBSSS

CHANGE

FIELDS FIELD (1-4)?"

: ";F$(VAL(X$))

aaa:xasaaaasss====ss ===

PRINT"CHANGE WHICH

INPUT'NEW CONTENTS
460 GETX$:IFXS<"ln OR X$>"4" THEN PRINT"RECORD IS CHANGED" 490 PRINT'MORE CHANGES IN THIS

RECORD <Y/N)?"

THEN 500
500 GETX$:IF X$O"Y" AND X$OnN" 510 IF X$="Y" THEN 340

520 REM ==============

FIELDS

09=9000=0===========

RC$ = F$(1)+LEFT$(BLS,10-LEN(P$(1)))
560 RC$RC$+F$(2)+LEFT$<BL$,5-LEN(F$<2))> 570 RC$RC$+F$(3)+LEFT$<BL$,10-LEN(F$(3)))
RC$RC$+F$(4)+LEFT$(BL$,15-LEN(F$<4)))
133=333 = = = = = = = = = ="= = = =

600 REM

WRITE RECORD BACK
=========================

620 PRINT!1,RC$

630 REM ====================

END PROGRAM?

QBssasisssBSESBSSssBBs
660 PRINT"MORE CHANGES TO FILE

<Y/N>?"

THEN 670
GETX$:IF X$O"Y" AND X$O"Nfl

IP X$="Yil THEN

CLOSE 1:CLOSE
After this program is RUN you can change any desired record. This record must have been written with the program in section 1.5.5.
This editing program does not check the new field data for correct length.
The important commands in this program have already been explained in the corresponding sections.
1.5.10 Expanding a Relative File
Every relative file has a user-determined number of records that ranges from 1 to 65S38. This number is the record with
the highest record number and

is written

to the

file with

value of CHR$(255). Writing this last record also formats all records in the file that precede this record number with

CHR$(25S).

position the file at record number 3 and write the record with CHR$(255). Here's an example of how you might do this:

20 OPEN

you can expand the size of a relative file at a later time. Por example, consider a relative file that is initially created with three records. After the file is OPENed, you

corresponding number.

Display monthly summary:
Here the income or expenses of all accounts are displayed. The monthly balance of all accounts is also displayed.
Display year-end summary:
year-end balance. This display takes some time,
accesses the entire file.
This function shows the summary of all accounts and the
monthly fields of each record must be read and totaled

the program listing:

since all

Here's

100 POKE 53280,2:POKE53281,2:PRINTCHR$U58)js

BL$="

110 GOSUB 2050

":DIMS(12)

INPUT"CURRENT YEAR : ";Y$ IF YS<"1984"ORYS>"1999"THENPRINTCHR$(145);:GOTO120
140 GOSUB PRINT"SELECT A FUNCTION:

220 230

PRINT" PRINT" PRINT" PRINT" PRINT" PRINT" PRINT" PRINT"
GETX$!lFX$<"0"ORXS>"9"THEN240

-1-2-3-4-5-6-0-

" :PRINT CREATE ACCOUNTS" POST TO ACCOUNTS" ACCOUNT SUMMARY" DISPLAY ACCOUNT NAMES" MONTHLY SUMMARY" YEAR SUMMARY":PRINT END PROGRAM"
250 IFXSO"0"THENEND 270 ONVAL(XS)GOSUB 290,560,920,1160,1370,1720

GOTO 140

REM sssssasaaasssssssssssssa

CREATE

ACCOUNTS
ssssssssssassisssasssssss

320 GOSUB 2050

330 PRINT'CAUTION! ANY PREVIOUS PILE FOR THIS YEAR"
340 PRINT'WILL BE ERASED1":PRINT 350 PRINT'CONTINUE (Y/N)?" 360 GETXS:IFX$O"Y"ANDX$O"N"THENIFX$="Y"THEN390

380 CLOSE1:CLOSE2:RETURN

390 OPEN2,8,15,"S:ACCOUNTS"+YS 400 OPEN1,8,2,"ACCOUNTS"+Y$+",L,"+CHR$(141) 410 GOSUB INPUT'HOW MANY ACCOUNTS (1-20)8 ";AN 430 PRINT 440 IFAN<lORAN>20THENPRINTCHR$<145);:GOTO420

450 FORI=1TOAN

470 480
PRINT"NAHE OF ACCOUNT NO."jI;"s
INPUTANS IFLEN(AN$)>20THENPRINTCHRS(145);:GOTO420

FORX=1TO12

"j
490 RC$=AN$+LEFT$(BL$,20-LEN<AN$))

4 bytes of a track designation in the BAM: : Track 18, sector 0, bytes 4-7 (track 1) : : 00001010
11111111 : ($00) ($03) ($FF)

: 10 free : blocks

1 = free = allocated
Using a simple program, you can read the first byte of each track entry in the bit map, add them up and find the total number of free blocks on the diskette.

The Directory

The directory is the table of contents of the diskette. It contains the following information: disk name disk 10 DOS version number filenames file types bloc~s per file free blocks
This directory is loaded into memory with the command LOAD
-$-.8. A program previously in memory will be destroyed! It
can be displayed on the screen with the LIST command. The directory occupies all of track 18 on the disk. The file entries follow the directory header. Each block accommodates 107
Anatomy of the 1541 Disk Drive a maXimum of 8 file entries. Because the BAM and the header occupy one bloCk, 18 blocks are left for file entries. A total of 144 files may reside on one diskette (18 blocks with 8 entries each). Format of the directory header: : Track 18, sector 0
----------------------------------------------------------144-161 ($90-$Al) 162,163 ($A2-$A3) ($M) 164 165,166 ($A5-$A6) 167-170 ($A7-$AA) 171-255 ($AB-$FF) $AO $32,$41 $AO $00 Disk narne (padded with shifted spaces) Disk ID marker Shifted Space ASCII characters 1'2A" (format) Shifted Space not used, filled with 0

: BYTE

: CONTENTS : MEANING
: * Bytes 180 to 191 have the contents "BLOCKS FREE" on : many diskettes
The Diskette Name: The name of the diskette can be a maximum of 16 characters in length and is established when the diskette is formatted. If fewer then 16 characters are given, the rest is filled with shifted spaces ($AO). The following BASIC routine reaos the name and saves it in the string variable DN$: 100 OPEN 15,8,15,"10" REM COMMAND CHANNEL 15 AND DISK INITIALIZED 110 OPEN 2,8,2,"#" REM DATA CHANNEL 2 OPENED REM TRACK 18, SECTOR 0 READ 120 PRINT#15,"B-R"l2l0l1BlO AND PLACED IN CHANNEL 2 REM BUFFER-POINTER TO BYTE 130 PRINT#15."B-P"l2l140 DN$= '"I REM STRING DN$ IS ERASED 150 REM LOOP TO READ THE 16 BYTES OF THE NAME 160 FOR 1=1 TO 16 REM READ A BYTE 170 : :GET#2 ,X$ REM IGNORE SHIFT SPACE 180 : :IF ASC(X$)=160 THEN 200 REM BYTE ADDED TO DN$ 190 : : DN$=DN$+X$ 200 NEXT I 210 CLOSE 2:CLOSE 15 REM CLOSE CHANNELS After running the routine, name. the string DN$ contains the disk

Anatomy of the 1541 Disk Drive 3.4 The Organization of Relative Files
Relative files differ from sequential files in that each data record can be accessed directly by a record number. The 1541 DOS takes care of most of the tasks required to support relative records. Let's take a closer look at the organization of a relative file. First OPEN a relative f1le w1th a record length of 100: OPEN 2,8,2, "REL-FILE,L,"+CHR$(lOO) Now write data record number 70: OPEN 1,8,15 PRINTil,"P"+CHRS(21+CHRSI701+CHRSI01+CHRSI11 PRINTi2,"DATA FOR RECORD 70" CLOSE 2 : CLOSE 1 The directory entry then looks like this: 84 >:00 >:>:10 AO AO AO >:00 00

4C 45 AO AO 00 00

4C REL AO AO AO -FILE 11 OA 64 $ 00
The first byte $84 denotes a relative file. The next two bytes denote the f1rst track and sector of the data ($11, $001 track 17 sector 0)1 exactly as with a ae qu e n t La Lvf Ll e , As usual, the name of the file follows (16 characters, padded with shifted spaces, $AO). Following are two fields not used with sequential files. The first field is a two byte p01nter to the track and sector of the first sidesector block. A side-sector contains the pointers to each data record and is described more in detail later ISll, gOA: track 17, sector 10). The second field is a byte which contains the record length, a value between 1 and 254, in our case $64 (100). The convenience of being able to access each record ind1vidually requires a definite length for each record thet must be defined when establishing a rel'ative file. The rest of the fields 1n the directory entry have the usual s i qn i f Lc a n c e r the last two bytes contain the number of blocks in the file (10 and hi byte, $10 and $00 (29. What does such a s r d e-e s e c t o r' block look like and what 1S its function? The side-sector blocks contain the track and sector pointers to the individual data records. For example, if we want to read the 70th record i n the relative file, the DOS consults the side-sector block to determine which track and sector contains the record and then read this record directly. As
Anatomy of the 1541 Disk Drive a resul t, you can read the 70th record of the file without having to read the entire file. Now let's take a look at the exact construction of a side-sector block. This s ide-sectc'r block is from our previous file. >:00 >:08 >:10 >:18 >:20 >:28 >:30 >:38 >:40 > :48 >:50 etc. 00 OB OD

11 OA 00 00

turn LED on erase LED bit drive number O? not drive 0, turn LED off turn LED on

turn LED on LED on

erase errOr flags _

save X register

8 turn LED on get x register back
interpret command from cOIl'puter C146 e148 C14B A80 FAD 8E 02 LOA #$00 STA $02F9 LOA S028E

last drive number

Anatomy of the 1541 Disk Drive C14E CISO CI53 C155 C157 C159 C15B C150 C160 C163 C165 C168 C16A C160 Cl70 Cl72 C173 Cl75 CI77 CI7A C170 C17F C18l C184 C187 C18A C18C C18F C19l A29 C9 FO 4C 20 Bl 80 A2 BO CD FO CA 10 A9 4C 8E EO AE BO 85 BD 85 6C 7F BC E09 OF OF 03 BB3 C2 A02 OB 89 FE 08 FC8 2A EE 2A 95 6F Al 70 6F STA JSR LOA BPL AND CMP BEO JMP JSR LOA STA LOX LOA CMP BEO OEX BPL LOA JMP STX CPX BCC JSR LOX LOA STA LOA STA JMP $7F $E6BC $84 $C160 #SOF #$OF $C160 $07B4 $C2B3 (SA3) ,Y $0275 #$OB $FE89,X $0275 $C17A $C16A iS3l $ClC8 $022A #$09 $C184 $ClEE $022A $FE95,X $6F $FEAl,X $70 ($006F) drive, number prepare 'okl message secondary address 15, command channel yes to OPEN command determine line length and erase flags get fIrst character and store 11 commands compare to first character found? not found 31, 'syntax error' number of command words command nUIl'ber < 9? test for 'R ', SI, and 'N' command number Jump address 10 Jump address hI jump to command prepare error ~essage after executing command flag set? yes, then set error message error number 0 r rack number 0 sector number 0 prepare 'ok' message erase error flag drive number save as last drIve number

Cl 02 Cl 02 FE FE 00

******************************
C194 C196 C199 C19C C19E CIAO ClAl ClA3 ClA5 ClA7 ClAA CIAO CIAF ClB2 ClB3 ClB5 ClB7 CIBA CIBO ClBF

AAD DO AO AAA (lA9

00 F6C 02 2A 81 A3 C7 ECl 7F 8E 02 00

[95 FF

20 BD Cl 4C OA 04 AO 28 A9 00
LOA STA LOA BNE LOY TYA STY STY STY JSR JSR LOA STA TAX LOA STA JSR JMO
#$00 $02F9 $026C $ClC8 #$00 $80 $81 $A3 $E6C7 $C123 $7F $028E #$00 $FF,X $ClBO SD40A
erase input buffer close internal channel erase input buffer erase 41 characters

03 Fs 22

20 DB Bl 04 AD FO 22 Bl OA 7F Bl 02 Bl 02
JSR LOA PHA ASL BPL LOA STA PLA ANO TAY LOA STA OEX LOA STA OEX LOA STA OEX DEX BCS LOA STA LOA STA OEX LDY LOA STA OEX OEY CPY BCS LOA STA INX CPX BCS LOA CMP BEO CMP BNE LOA STA INX CPX BCS LOA ANO STA BPL JSR SEC RTS
($94), Y A SC74A #$3C $02B2,X #$OF $FECs,Y $02Bl,X $FECO,Y S02Bl,X SFEBB,Y $02Bl,X $C76B #$2A $02B2,X #$AO $02Bl,X #S12 ($94), Y $02Bl,X #$03 $C773 #$22 $02Bl,X #$20 SC793 $02Bl,X j1$22 $C793 #$AO $C783 #$22 S02Bl,X #$20 $C7A7
erase buffer file type bit 7 i n carry bit 6 not set? '< ' for protected file write behind file type isolate bits 0-3 as flle type marker 3rd letter of the flle type in buffer 2nd letter of file type ln buffer 1st letter of file type ln buffer file not closed?
before f i Le type in buffer pad wi th 'shift blank' in buffer filenames write in buffer

wrlte before file type

character from buffer '='? 'Shlft blank' at end of name fl11 through '='
bit 7 erase in the remain i nq chars search for next dlrectory entry
$02Bl,X $02Bl,X $C798 $C4Bs
Anatomy of the 1541 oisk Drive
****************************** C7AC AO lB LDY i$lB C7AE ALOA i$20 C7BO STA $02BO,Y 99 BO 02 DEY C7BDO FA BNE $C7BO C7B4 C7BRTS ****************************** C7B19 Fl JSR $Fl19 C7BA 20 DF FO JSR $FODF C7BD 20 AC C7 JSR $C7AC C7CO A9 FF LDA iSFF 85 6F STA S6F C7C2 A6 7~' LDX $7F C7C4 STX $0272 C7C6 8E ALDA i$OO C7C9 C7CB STA $0273 8D LDX $F9 C7CE A6 F9 C700 LDA $FEEO,X BD EO ~'E C7D95 STA $95 AD 88 FE LDA $FE88 C7D94 STA $94 C7D8 C7DA AO 16 LDY i$16 LDA ($94),Y C7DC Bl 94 C7DE C9 AO CMP i$M 00 OB BNE $C7ED C7EO ALDA i$3l C7E2 C7E4.BYTE $2C 2C C7E5 LDA ($94),Y Bl 94 C7E7 C9 AO CMP i$AO C7E9 DO 02 BNE SC7ED AC7EB LOA #$20 C7ED STA S02BBDEY C7FO 88 C7Fl 10 F2 BPL $C7E5 LDA #$12 AC7F3 STA $02Bl C7F5 8D Bl 02 C7F8 ALDA iS22 C7FA STA $02B2 8D BC7FD 8D CSTA $02C3 C800 LDA i$20 AC802 8D CSTA $02C4 C805 RTS 60
erase directory buffer , , blank writ:e in buffer
create header with disk name init1al1ze if needed read disk name erase buffer drive number as block no. 10 in buffer block number 10 buffer number hi-byte of the buffer address $90, position of disk name save pad buffer with 'shift: blank'
character from buffer compare with 'shift blank' , , blank 1n buffer 'RVS ON' in buffer
write before and after disk name , blank behind it create last hne erase buffer 12 characters 'blocks free.' write in buffer number of free blocks in front
C806 C809 C80B C80E CBll C8l2 C8l4

20 AO B4C

AC C7 OB 17 C8 Bl 02 F7 4D EF
JSR LDY LDA STA DEY BPL JMP
$C7AC #$OB $C8l7,Y $02Bl,Y $C80B SEND
Anatomy of the 1541 oisk Orive ****************************** C4C 4F 43 4B 46 C81F 45 2E

'blocks f' I ree. I

S command 'scratch'

C823 C826

C82E C830

C833 C835 C838

C83E C840

20 Al 60

JSR $D12P LDA ($99,X)

set pointer to buffer

CD42 CD45 CD47 CD4A

20 A20 A60

CD50 CD52 CD55

36 CD 00 C8 D4 3C CD 89 F2 00

read open

block from disk channel, read block
LDA #$00 JSR $D4C8 JSR $CD3C
set buffer pointer to zero get a byte from the buffer

STA $0244,Y LDA $89

STA $00F2,Y

read and write flag

CD56 CD59 CD5C

CD 20 EC D3 4C 94 Cl

JSR SD3EC
B-R command, 'Block-Read' read block from disk prepare byte from buffer

******!

CD68 CD6B CD6D

6F CC 42 CD 3E 02

JSR $CC6F

command,

'Block-Rea

JSR $CD42

LDA $0244,Y STA $023E,Y

LDA #$FF 02 Cl

STA $0244,Y

JMP SCI94

read block from disk end pointer save as data byte
end pointer to $FF done, prepare error message

44 4C 94

CD73 CD76

B-W command,

open channel

'Block-Write'

CD79 CD7A

JSR $CDF2

JSR SD4E8

set buffer pointer

CD7D CD7F CD81

CD83 CD86

CDS 7 CD8A
TAY DEY CMP BCS LDY LDA JSR
#$02 $CD81 #$01 #$00 $D4C8

buffer pointer lo

less than 2?

to zero

CD8C CD90 CD91 CD94

CD8B CD8F

JSR SCFF1

write byte

JSR $D464

write block to disk

EE DCl

JSR SD3EE JMP SC194

get byte from buffer done, error message

*********************

CD9A CD9D

6F CC F2 CD 64 D4 Cl

JSR SCC6F JSR $CDF2 JSR SD464

U2, get

sub for 'Block-Write* command parameters

and write block

to disk

******t*************

CDA3 CDA6 CDA9

JSR $F258 JSR $CD36

LDA $00 STA $6F

LDX $F9

B-E1 command, 'Block-Execute' (RTS) open channel and read block

CDAD CDAF

CDB2 CDB4

CDB7 CDBA

94 Cl 6F 00

LDA STA JSR JMP JMP

$FEEO,X $70 $CDBA $C194 (S006F)

buffer address

execute done routine

to routine

JSR $CDD2 LDA $F9

ASL A TAX

channel,

'Block-Pointer'

get buffer number

CDC2 CDC3

E6CD E6CP E6D1 E6D4 E6D6

LDX STX LDX STX JSR

$D5 $A5 #$02 SA6 SE6AB

#$2C ($A5),Y

pointer $A5/$A6 TO $2D5

E6D9 E6DC

E6DP E6E0

LDA S02D5

STA $0243

error # to ASCII and in buffer 1, comma write in buffer increment buffer pointer first digit of the disk status in output register
error number in accumulator

E6E7 E6E8 E6EA

C8 AA9 91

80 9B 2C A5

LDA #$2C STA ($A5),Y
error message in buffer 1,' comma write in buffer and increment buffer pointer
track number to ASCII and 1,' comma

E6EF E6P1 B6F2 E6F4 E6F7

LDA $80 JSR $E69B LDA S$2C

($A5)fY

write in buffer increment buffer pointer

AS 20 88

JSR $E69B

E6F9 E6FA

E6FC E6FF

D5 8D 49

CLC ADC #$D5 02

E703 E705

E6 A60

STA INC LDA STA

$0249 SA5 4$88 $F7

write error message

error code to X

to buffer

E706 E707 E709 E70A E70C

LDA $86

$87 #$FC #$E4

pointer $86/$87

E70F E713

FC 86 87

messages

E716 E718

8A ACl 86

number with

accumulator no in table

<$86,X)

E71A E71C E71D E720 E722 E725 E727

E729 E72B

E72D E72F

E735 E736 E739

FO E75 EPB AC9 E08 DO 0A A0 OA C68 4C 18 E7

BEQ SE73D

JSR BCC JSR BCC LDA CMP BCC BNE LDA CMP
SE775 SE727 SE775 SE722 $87 #$E6 $E735 SE739 #$0A $86

into carry and erase

bit 7 into carry wait for character with

$E60A,

to end of

BCC $E739

continue

E73A E73D

E740 E742

JHP SE74D

E7 E7 E7
E745 E748 E74A E74D E74E E750 E751 E753

JSR JST BCC PLA

SE754 SE767 SE742
character, bit 7 in carry wait for character with bit 7 set and write in buffer

get next character

F87 86

JSR $E754

for character with

character in buffer

STA $86

buffer in buffer

CMP BCS

8$20 SE763

greater, then write save code

E75B E75D E75E E75F

($A5),Y

E762 E763 E765 E766

blank write in buffer increment buffer pointer code in accumulator output previous text
write character in buffer and increment pointer

char of

E769 E76B E76D E76F E770 E772 E774
$86 BNE SE76D INC $87 LDA ($86,X)

AND FTS

(S86,X) #$7F
bit 7 into carry get character erase bit 7

E778 E77A B77C E77E

E6 DO E6 60

into carry pointer

LDA STA TXA

S7F SFED5
position 18 drive number 'A1, 1541 format

$0101,X

ID, first character in buffer

B91 v94

and second character in buffer
STA INY LDA STA LDY STA FE EF LDA STA

' 21 in buffer

EE8D EE8F

BE91 EE94

$FED5 ($94),Y #$02 (S6D),Y SFE85 $80

SEF93 #$01 $81

Aformat in buffer and at position track number mark block as allocated 1

EE96 EE99 EE9B

EE9D EEAO

EEA3 EEA6 EEA8

JSR $EF93 JSR SEEFF

SF005 #$01

mark block as allocated write BAM pointer $6D/$6E to buffer, buffer track write

#$FF (S6D),Y

following BAM

C4C 94

sector number,

prepare disk

create BAM

k* ** 1k * * * * 1

EEBA EEBC EEBE

#$00 $12

{$6D),Y

BBCO EEC1 EEC2

EEC5 EEC6 EEC7 EEC9 BBCB EECD BBCF EEDO BBD1 BBD2 EBD5 EBD7 BED8 EED9

BEDA EEDC

C8 C8 C8 A98 4A 4A C8

TYA STA

(S6D),Y

00 6P 70 71

INY INY LDA
STA S6F STA S7O STA $71 TYA LSR A

3 bytes -

24 bits

for sectors

byte position

4B F2 6D

LSR A JSR SF24B
divided by 4 = track number get number of sectors

and in BAM

TAX SEC

26 6F CA

DO BS 91

S6P ROL S7O ROL S71

ROL DEX BNB STA INY

bit model

EEB1 EEB3 BBB5 EEE7 BBE8 EEB9 EEEB EBED EEEP BE PI

LDA S6P,X

<$6D),Y

3 bytes the BAM

E8 EO P6 CO D6 4C 75

INX CPX BCC CPY BCC

*$03 SEEE3 *$90 SEEC7 JMP SD075

position 144?

no, next track

write BAM

if needed

JSR TAX LDA AND STA LDY

EEF7 EEF8

S025B.X

#$01 $7F $7F $0251,Y SEF07

EEPD EEFF

EF04 EP06

A4 B9 DO 60 A9

01 7F 7F 51

BAM-changed

P445 F447 F449 F44B F44D F44F F4S1 F453 F455 F457 F458 F4SA F45C

F45E F45F

DO AO Bl C5 DO AS C9 FO AO 38 Bl E5 10

3C OC 4D 4C IE

BNE LDY LDA CMP BNE LDA CMP BEO LDY

SBC LDA BPL

SF483 #$00 ($32),Y $40 SF483 $45 $60 SF461 SO1

($32),Y SBC $4D

F463 F46S F466 F468 F46A F46B F46D F46F P471 F473 F475 F477
65 C4 BO 48 A5 FO 68 C9 90
CLC ADC $43 CMP S4C BCS SF483

OC 10 4C 3F

LDA $45 BEO SF47E

PLA CMP $09

C9 BO 85 AS

BCC CMP BCS STA LDA

SF483 #$0C SF483 S4C S3F

F47A F47C F47E F47F

DO 68 C9
ADC *$O3 STA $31 BNE $F483

PLA CMP #S06

F483 F485
BCC SF473 DEC S3F BPL SF43A

F488 F48A F48D

4C 9C 86 3F

BPL F9

F492 F494 F497 F499 F49A F49C F49D F49F F4A1 F4A3
AS 45 4C CA AS 48 AAA9 85
JSP SF393 LDA S45 JMP SF4CA

continue checking

LDA $30

S3O/S31

LDA S31 PHA LDA #$24 STA S30 LDA *$OO STA $31 LDA S00 STA S34

S30/S31

to S24
P4A9 F4AC P4AE F4B0 F4B2 P4B4 F4B6 F4B8 P4BB F4BD F4BF P4C1 F4C3 F4C4 F4C6 F4C7 F4C9

53 1A E6

85 A60
JSR SP7E6 LDA $55 STA $18 LDA $54 STA $19 LDA $53 STA $1A JSR SF7E6 LDA $52 STA $17 LDA $53 STA $16

STA $31 PLA

pointer $30/S31 back
F4CA P4CC F4CE F4D1 F4D4 P4D6 F4D7

CP4C 6E

CMP #$00 BEO SF4D1 JHP SF56E JSR SF50A BVC SF4D4

'read1?

checking command
find beginning of data byte ready?

F4DC P4DD F4DF F4E1

AD 91 C8

LDA S1C01 STA ($30),Y

get data byte and write in buffer 256 tines

DO A0 50

BNE SF4D4

BVC $F4E1

LDA S1C01 STA $0100,Y

P4E4 F4E7

F4EA F4EB F4ED P4F0 F4F2 F4F4 F4F6 F4P8 F4FB F4FE F500 F502

B8 AD 00 C8 DO

read bytes from S1RA to S1FF

20 AS C5

BNE SF4B1 JSR SF8E0 LDA $38 CMP $47 BEO SF4FB LDA *$04 JMP SF969 JSR SF5E9

4C 20 C5 F0 A9 2C A9 4C

69 E9 3A 03 05

beginning of data

22, 'read error' error termination

calculate agreement?

parity of
CMP $3A BEO SFS05 LDA *$05 BYTE S2C F9

LDA #S0I JMP $F969

23, ok

'read error'

F5O5 F507

start of data

block header for SYNC

SF510 SP556

read wait

Anatcny of

read F510 PS 12 F513 P514 P516 F518

ASL A 12 TAX LDA $12,X

STA $16 LDA STA

F51C P51E F520

$13,X $17
F522 PS23 F52S F527 F529 F52B F52D F52P P531 F533 P536 PS38 F53B P53D F53P FS40 F543 FS46

100 LOAD "MACH-PRG",8,1 Here we can make use of the fact that the varIables are preserved when chaIning. If we program the following, we have reached our goal: 100 IF A=O THEN A=l 110 LOAD "MACH-PRG",8,1
When the program is started with RUN. A has the value zero and the assignment after the THEN is executed, A contains the value 1 and the machIne language program is the~ LOADed. When the program begins again after LOADing the program MACH-PRG, A has the value 1 so the next line is executed. The procedure IS simIlar language programs to load. 100 IF A=O THEN A=l 110 IF A=l THEN A=IF A=2 THEN A=if you have several machine
LOAD "PROG 1" , 8,1 LOAD "PROG 2" , 8,1 LOAD "PROG 3",R,1
The first t i me through, PROG 1 will be loaded, the next time, PROG 2, and so on. Once all the programs are loaded, execution continues with lIne 130.
Anatomy of the 1541 Disk Drive 4.5 Merge - Appending BASIC Programs
Certainly you have thought about the possibility of combining two separate BASIC programs into one. without further details this is not possible, because loading the second program would overwrite the first. with the knowledge of how BASIC programs are stored in memory and on the diskette, you can develop a simple procedure to accomplish this task. BASIC programs are stored in memory as follows:

NL NH LL LH

pointer to the next program line, 10 hi line number, 10 hi. tokenized BASIC statements end-of-line marker
At the end of the program are two additional zero bytes: a total of 3 zero bytes Programs are also saved in this format. Where the program starts and ends lies in two pointers in page zero: PRINT PEEK(43) + 256

PEEK(44)

gives the start of BASIC, 2049 for the Commodore 64, PRINT PEEK(451 + 256 PEEK(46)
points to the byte behind the three zero bytes. Because a program is always loaded at the start of BASIC, contained in the pointer at 43/44, one can cause a second program to load at the end of the first. In practice, we must proceed as follows: First we load the first program into memory. LOAD PROGRAM 1.8 Now get the value of the ending address of the program. A

 

Tags

SA-PM15 SGH-E715 ALL-IN-ONE Citation 11 AG8-V UT10580 WPS54G RH361LD DSR3009 DSX-S100 30PF9946D DSC-P93 KX-TC1481B Camera S10 2001 KV-32FX66K 22fbst Screenplay HD CMT-CP333 NW-E016 SA-GX200L WF-T653A KDL-V26a12U CT-740 Dvdr3440H LV2378 Taax390 2092 F CDE-9846RM H-MOD Spirograph D-EJ621 LG XA12 ICF-CD7000 Azur 540R Keyboard Extensa 5210 Elna 683 Calculator Tivoli Ipal VGN-SZ110 Ixus 55 S200X CFF-884 VGN-UX180P EFT740 Gateway M675 EM 3732 100 B AJ-HDX900P VN-1800 Nevada DJ72 Cygnus X RD-400 SGH-X700 DSC-S780 LG XC62 Casio LK35 UE40B6000 WN111 PSR-3 D3232 Fragfx SH12ZWH Freestar-2005 CS-F24dte5 HD306 BM1308 Neromix RH4820 ADG 8555 SGH-U900L Travelmate 2410 RL-JT10 SW50ASP Screenplay Flair Makita 9911 Review KX-T7536NE Radio KX-TG8021G HD D45 MDR-RF820RK Q 9H AM-300 400 SRX 280 TL543C Songbook GT-PM-01 TD9473 WGR614 V4 Caddx NX-6 IC-02AT Speed 85 L1718S-SNQ WA10V5 Coupe 21PT5409 RX-SL100RDS 10400

 

manuel d'instructions, Guide de l'utilisateur | Manual de instrucciones, Instrucciones de uso | Bedienungsanleitung, Bedienungsanleitung | Manual de Instruções, guia do usuário | инструкция | návod na použitie, Užívateľská príručka, návod k použití | bruksanvisningen | instrukcja, podręcznik użytkownika | kullanım kılavuzu, Kullanım | kézikönyv, használati útmutató | manuale di istruzioni, istruzioni d'uso | handleiding, gebruikershandleiding

 

Sitemap

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101