Classic Computer Magazine Archive COMPUTE! ISSUE 64 / SEPTEMBER 1985 / PAGE 80

Commodore 64
Disk Commander

Michael Kunkel

Disk access can be clumsy on the Commodore 64 because it has no special disk commands like those found on the Commodore Plus/4, 16, and PET/CBM computers. "Disk Commander" is a powerful new utility which adds the missing commands, plus a few more. It works with any 1541-compatible disk drive. Together with "TurboDisk" (COMPUTE!, April 1985), it transforms your 64 into a much faster and friendlier computer.


Because the Commodore 64 contains BASIC 2.0, designed primarily for cassette storage, disk access is a little inconvenient. For instance, you have to type LOAD"$",8 and LIST to view a disk directory-thereby wiping out a resident BASIC program-or OPEN 15,8,15,"S0:filename": CLOSE15 just to scratch a file. If you merely want to check the disk drive error channel, you have to write a short BASIC program. Other disk operations are equally awkward. Quite a few 64 users have pined for the more powerful BASIC 3.5 or 4.0 found in some other Commodore computers. Now that wish can come true.
    "Commodore 64 Disk Commander" adds 18 commands to BASIC to simplify use of the 1541 disk drive. Furthermore, the commands are flexible enough to be included within BASIC. programs, and some of the commands can't be found even in BASIC 4.0. In addition, Disk Commander resides in the Random Access Memory (RAM) hidden beneath the Commodore 64's Read Only Memory (ROM), so it's relatively protected from interference with other BASIC and machine language programs. In fact, nearly all of the commands are compatible with "TurboDisk," the highspeed disk loader published in the April 1985 issue of COMPUTE!.

Typing The Program
Disk Commander is easy to prepare. Type it in with the MLX machine language entry program found elsewhere in this issue. MLX makes it easier to type machine language programs without errors because it detects most typos after you enter each program line. (See instructions in the MLX article.)
    Before using MLX to enter the data for Disk Commander, clear the computer by turning it off, then on again. Then enter the following line and press RETURN:

POKE 44,20:POKE 5120,0:NEW

Now load and run MLX. Enter these responses to the prompts:

Starting Address? 2049
Ending Address?   4760

    When you're done typing, MLX automatically prompts you to save the program. You can also enter the listing in multiple sittings by following the instructions in the MLX article. If you do enter the listing in more than one sitting, remember to reset the computer and enter the above POKEs and NEW each time before loading the MLX program.
    Once you've saved a copy of Disk Commander, load and run it like any BASIC program. (The POKEs are not necessary to run the finished program.) It will copy itself into a safe place in memory and then delete its loader program from memory. Once Disk Commander is activated, even pressing RUN/ STOP-RESTORE for a warm-start reset will not disable it. Disk Commander can be turned off only by a cold-start reset (shutting off the computer or typing SYS 64738).

Command Summary
Following is a list of the new commands added by Disk Commander. Each command can be abbreviated as shown in the parentheses.

DIRECTORY (DI SHIFT-R) Calls up a disk directory without erasing a resident BASIC program.
DISKST (DI SHIFT-S) Prints the error message from the disk drive error channel.
DSAVE "filename" (D SHIFT-S) Saves a BASIC or machine language program with the specified filename.
DLOAD "filename" (D SHIFT-L) Loads a BASIC or machine language program with the specified filename.
DVERIFY "filename" (D SHIFT-V) Compares the program specified by the filename with the program in memory.
SCRATCH "filename" (S SHIFT-C) Deletes the specified file from the disk. First it asks, ARE YOU SURE? If you respond by typing YES or Y, the file is scratched.
RENAME "oldfile" TO "newfile" (RE SHIFT-N) Changes the filename from oldfile to newfile.
COPY "file1" TO "file2" (CO SHIFT-P) Makes a copy of file1 as file2 on the same disk. However, it does not allow you to copy a file from one disk to another.
COLLECT (CO SHIFT-L) Validates the disk by reconstructing the Block Allocation Map as explained in the disk drive manual (equivalent to OPEN 15,8,15: PRINT#15,"V0:": CLOSE 15).
HEADER "diskname,ID" (HE SHIFT-A) Formats a disk as described in the disk drive manual. (HEADER corresponds to the disk NEW command.) The disk is given the title diskname for directory purposes, and the ID should be a unique two-character combination. Any files currently on the disk will be erased when this command is executed.
DOPEN#x,"filename" (D SHIFT-O) Opens a file to the disk drive as specified by x and the filename. The filename can also specify the type (P for program, S for sequential, or L and the record length for relative files) and whether the file is being opened for reading (R) or writing (W). If these parameters are not specified, certain default values are assumed. For example, DOPEN#1, "TEST" opens file 1 for reading if TEST is an existing sequential or program file, and for both reading and writing if TEST is an existing relative file. Examples: DOPEN#1, "TEST,W" opens the sequential file TEST for writing. DOPEN#1, "TEST,P,R" opens the program file TEST for reading. DOPEN#1, "TEST,L20" creates a relative file with the filename TEST and a record length of 20. (When using the abbreviated form of the command, it is not necessary to type the #. For example, you would use D SHIFT-O 1,"TEST".)
APPEND#x,"filename" (A SHIFTP) Allows you to add data to an existing sequential file. The specified file x is opened for the sequential file specified by filename. Any data written to file x will be added at the end of the existing sequential file. Example: APPEND#1,"TEST": PRINT# 1,"NAME": CLOSE 1. This command is only for sequential files; it cannot be used to append lines to a program file. (When using the abbreviated form of the command, it is not necessary to type the #. For example, you would use A SHIFT-P 1,"TEST".)
RECORD#x,y,z (RE SHIFT-C) Selects record y and character z in the relative file currently open as file x. Examples: RECORD#1,3 selects the third record in the relative file opened as file 1. RECORD#1,3,5 selects the fifth character in the third record. (When using the abbreviated form of the command, it is not necessary to type the #. For example, you would use RE SHIFT-C 1,3,5.)
SEND (S SHIFT-E) This command has the same effect as OPEN1,8,15: PRINT#l,"string": CLOSE1. Example: SEND"IO" initializes the disk drive. SEND "M-R" +CHR$(3) +CHR$(5) reads the byte at location $0503 in the disk drive's memory.
BLOCKS (B SHIFT-L) Displays the number of free blocks remaining on the disk without calling up the entire directory.
PROTECT "filename" (PR SHIFT-O) Protects the specified file so that it cannot be scratched. Protected files are denoted on the disk directory with a less-than sign (<). Even a protected file, however, can be erased by reformatting the entire disk. Also, protected program files cannot be read by the TurboDisk utility from the April issue. Attempting to load a protected program with TurboDisk results in a ?FILE NOT FOUND ERROR.
RELEASE "filename" (RE SHIFT-L) Unprotects the specified file.
TRANSPOSE "file1" WITH "file2" (T SHIFT-R) Transposes the positions of two files in the disk directory. WITH can be abbreviated W SHIFT-I.
    Disk Commander is extremely versatile. In addition to letting you imbed the new commands in your programs, it also lets you use them with variables, too. For instance, instead of typing this:

DOPEN#1,"filename"

you can type this:

A=1:A$="filename":DOPEN#A,A$

    Together with TurboDisk, or just by itself, Disk Commander greatly enhances the power of your Commodore 64.


Commodore 64 Disk Commander
Please refer to the "MLX" article before entering this listing.

2049 :011,008,010,000,158,050,238
2055 :048,054,049,000,000,000,158
2061 :169,012,133,251,169,160,139
2067 :133,252,162,002,160,000,216
2073 :177,251,145,251,200,208,233
2079 :249,230,252,202,208,244,136
2085 :169,233,133,251,169,161,129
2091 :133,252,169,091,133,253,050
2097 :169,008,133,254,160,000,005
2103 :162,010,177,253,145,251,029
2109 :200,208,249,230,252,230,150
2115 :254,202,208,242,185,091,225
2121 :018,153,184,002,200,192,054
2127 :062,208,245,032,184,002,044
2133 :032,068,166,076,116,164,195
2139 :169,158,133,251,169,160,107
2145 :133,252,169,157,133,253,170
2151 :169,160,133,254,096,032,179
2157 :233,161,076,022,162,169,164
2163 :158,133,251,169,160,133,095
2169 :252,169,157,133,253,169,230
2175 :160,133,254,166,122,160,098
2181 :004,132,015,189,000,002,219
2187 :016,007,201,255,240,062,152
2193 :232,208,216,201,032,240,250
2199 :055,133,008,201,034,240,054
2205 :086,036,015,112,045,201,140
2211 :063,208,004,169,153,208,200
2217 :037,201,048,144,004,201,036
2223 :060,144,029,132,113,160,045
2229 :000,132,011,136,134,122,204
2235 :202,200,232,189,000,002,244
2241 :056,241,251,234,240,245,180
2247 :201,128,208,048,005,011,032
2253 :164,113,232,200,153,251,038
2259 :001,185,251,001,240,057,178
2265 :056,233,058,240,004,201,241
2271 :073,208,002,133,015,056,198
2277 :233,085,208,131,133,008,003
2283 :189,000,002,240,223,197,062
2289 :008,240,219,200,153,251,032
2295 :001,232,208,240,166,122,192
2301 :230,011,200,177,253,234,078
2307 :016,c50,177,251,234,208,115
2313 :180,076,170,162,189,000,018
2319 :002,016,187,153,253,001,115
2325 :198,123,169,255,133,122,253
2331 :096,165,251,201,158,208,082
2337 :235,169,000,133,251,169,222
2343 :164,133,252,169,255,133,121
2349 :253,169,163,133,254,160,153
2355 :000,076,076,162,076,096,025
2361 :163,076,109,163,016,248,064
2367 :201,255,240,244,036,015,030
2373 :048,240,056,233,127,170,175
2379 :132,073,160,255,224,077,228
2385 :176,022,202,240,008,200,161
2391 :185,158,160,016,250,048,136
2397 :245,200,185,158,160,048,965
2403 :214,032,000,168,208,245,198
2409 :056,233,076,170,202,240,058
2415 :008,200,185,000,164,016,172
2421 :250,048,245,200,185,000,021
2427 :164,048,188,032,000,168,211
2433 :208,245,032,115,000,032,249
2439 :026,163,076,015,168,240,055
2445 :062,233,128,144,017,201,158
2451 :035,176,023,010,168,185,232
2457 :013,160,072,185,012,160,243
2463 :072,076,028,168,076,048,115
2469 :168,201,058,240,217,076,101
2475 :086,168,201,075,208,003,144
2481 :076,067,168,176,003,076,231
2487 :086,168,201,095,176,249,134
2493 :233,075,010,168,185,129,221
2499 :163,072,185,128,163,072,210
2505 :076,115,000,096,082,069,127
2511 :065,068,089,072,169,243,145
2517 :133,247,169,166,133,248,029
2523 :104,076,193,002,072,169,067
2529 :239,133,247,169,166,133,032
2535 :248,104,076,193,002,000,086
2541 :000,000,000,000,000,000,237
2547 :165,123,165,180,165,194,211
2553 :165,197,165,247,165,216,124
2559 :166,224,166,232,166,250,179
2565 :166,105,167,198,167,211,251
2571 :167,055,169,070,169,140,013
2577 :169,153,169,081,170,085,076
2583 :168,095,133,034,168,165,018
2589 :091,229,096,170,232,152,231
2595 :240,035,165,090,056,229,082
2601 :034,133,090,176,003,198,163
2607 :091,056,165,088,229,034,198
2613 :133,088,176,008,198,089,233
2619 :144,004,177,090,145,088,195
2625 :136,208,249,177,090,145,046
2631 :088,198,091,198,089,202,169
2637 :208,242,096,010,105,062,032
2643 :176,053,133,034,186,228,125
2649 :034,144,046,096,196,052,145
2655 :144,040,208,004,197,051,227
2661 :144,034,072,162,009,152,162
2667 :072,181,087,202,016,250,147
2673 :032,068,073,082,069,067,248
2679 :084,079,082,217,068,073,210
2685 :083,075,083,212,068,083,217
2691 :065,086,197,068,086,069,190
2697 :082,073,070,217,068,076,211
2703 :079,065,196,083,067,082,203
2709 :065,084,067,200,082,069,204
2715 :078,065,077,197,067,079,206
2721 :080,217,067,079,076,076,244
2727 :069,067,212,072,069,065,209
2733 :068,069,210,068,079,080,235
2739 :069,078,163,065,080,080,202
2745 :069,078,068,163,082,069,202
2751 :067,079,082,068,163,083,221
2757 :069,078,196,066,076,079,249
2763 :067,075,211,080,082,079,029
2769 :084,069,067,212,082,069,024
2775 :076,069,065,083,197,084,021
2781 :082,065,078,083,080,079,176
2787 :083,197,087,073,084,200,183
2793 :000,000,000,000,000,000,233
2799 :000,000,000,107,169,032,035
2805 :121,165,132,011,032,019,213
2811 :166,144,068,160,001,177,199
2817 :095,133,035,165,045,133,095
2823 :034,165,096,133,037,165,125
2829 :095,136,241,095,024,101,193
2835 :045,133,045,133,036,165,064
2841 :046,105,255,133,046,229,071
2847 :096,170,056,165,095,229,074
2853 :045,168,176,003,232,198,091
2859 :037,024,101,034,144,003,130
2865 :198,035,024,177,034,145,150
2871 :036,200,208,249,230,035,245
2877 :230,037,202,208,242,032,244
2883 :089,166,032,051,165,173,231
2889 :000,002,240,136,024,165,128
2895 :045,333,090,101,011,133,080
2901 :088,164,046,132,091,144,238
2907 :001,200,132,089,032,184,217
2913 :163,165,020,164,021,141,003
2919 :254,001,140,255,001,165,151
2925 :049,164,050,133,045,036,074
2931 :169,001,162,000,160,165,004
2937 :032,189,255,169,001,162,161
2943 :008,160,096,032,186,255,096
2949 :032,192,255,162,001,032,039
2955 :198,255,169,000,133,144,014
2961 :162,005,032,207,255,164,202
2967 :144,208,056,202,208,246,191
2973 :133,251,032,207,255,164,175
2979 :144,208,044,166,251,032,240
2985 :097,168,169,032,032,210,109
2991 :255,032,207,255,164,144,208
2997 :208,027,170,240,006,032,096
3003 :210,255,076,062,165,169,100
3009 :013,032,210,255,032,237,204
3015 :246,240,005,162,003,076,163
3021 :033,165,076,112,168,032,023
3027 :204,255,169,001,076,195,087
3033 :255,162,000,189,118,165,082
3039 :157,004,003,232,224,006,081
3045 :208,245,096,219,002,234,209
3051 :002,240,002,169,008,032,176
3057 :180,255,169,111,032,150,114
3063 :255,032,165,255,032,210,172
3069 :255,201,013,208,246,076,228
3075 :171,255,169,000,032,189,051
3081 :255,162,008,160,001,169,252
3087 :221,141,208,002,169,225,213
3093 :141,209,002,032,199,002,094
3099 :186,169,169,157,003,001,200
3105 :169,167,157,004,001,096,115
3111 :032,147,165,169,089,133,006
3117 :247,169,225,133,248,076,119
3123 :193,002,169,001,044,169,117
3129 :000,133,010,032,147,165,032
3135 :169,111,133,247,169,225,093
3141 :133,248,076,193,002,165,118
3147 :251,208,003,076,086,168,099
3153 :169,008,032,177,255,169,123
3159 :111,032,147,255,160,000,024
3165 :177,252,032,168,255,200,153
3171 :196,251,208,246,076,174,226
3177 :255,032,129,168,032,047,000
3183 :166,169,083,141,000,190,092
3189 :169,058,141,001,190,160,068
3195 :000,177,098,153,002,190,231
3201 :200,196,097,208,246,169,221
3207 :000,133,252,169,190,133,244
3213 :253,200,200,132,251,032,185
3219 :223,165,165,157,016,012,117
3225 :169,013,032,210,255,076,140
3231 :124,165,165,157,048,001,051
3237 :096,160,000,185,113,166,117
3243 :032,210,255,200,192,014,050
3249 :208,245,032,204,255,032,129
3255 :207,255,201,089,208,025,144
3261 :032,207,255,201,013,240,113
3267 :225,201,069,208,014,032,176
3273 :207,255,201,083,208,007,138
3279 :032,207,255,201,013,240,131
3285 :207,201,013,240,006,032,144
3291 :207,255,208,247,096,104,056
3297 :104,096,065,082,069,032,161
3303 :089,079,085,032,083,085,172
3309 :082,069,063,032,032,129,132
3315 :168,160,000,177,098,153,231
3321 :000,191,200,196,097,144,053
3327 :246,132,250,160,000,177,196
3333 :122,201,164,240,003,076,043
3339 :086,168,032,115,000,032,188
3345 :129,168,160,000,177,098,237
3351 :153,002,190,200,196,097,093
3357 :144,246,169,061,153,002,036
3363 :190,200,200,200,132,252,185
3369 :169,190,133,253,160,000,178
3375 :185,000,191,145,252,200,252
3381 :196,250,144,246,152,024,041
3387 :101,252,133,251,169,000,197
3393 :133,252,169,058,141,001,051
3399 :190,076,223,165,169,082,208
3405 :141,000,190,076,127,166,009
3411 :169,067,141,000,190,076,214
3417 :127,166,169,008,032,177,000
3423 :255,169,111,032,147,255,040
3429 :169,086,032,168,255,076,119
3435 :174,255,032,129,168,032,129
3441 :047,166,169,078,141,000,202
3447 :190,169,058,141,001,190,100
3453 :160,000,177,098,153,002,203
3459 :190,200,196,097,208,246,244
3465 :169,000,133,252,169,190,026
3471 :133,253,200,200,132,251,032
3477 :032,223,165,165,157,016,139
3483 :008,169,013,032,210,255,074
3489 :076,124,165,096,032,152,038
3495 :168,160,000,177,122,201,227
3501 :044,240,003,076,086,168,022
3507 :134,184,032,165,168,165,003
3513 :097,133,183,169,000,133,132
3519 :187,169,190,133,188,160,194
3525 :000,177,098,145,187,200,236
3531 :196,183,208,247,169,044,226
3537 :145,187,200,169,083,145,114
3543 :187,200,132,183,096,032,021
3549 :051,167,032,121,000,201,025
3555 :044,208,076,032,115,000,190
3561 :201,087,208,040,169,044,214
3567 :145,187,200,169,087,145,148
3573 :187,200,132,183,032,115,070
3579 :000,169,008,133,186,160,139
3585 :097,200,152,166,152,202,202
3591 :048,007,221,045,006,240,062
3597 :244,208,246,132,185,076,080
3603 :192,255,201,076,206,194,121
3609 :032,171,168,169,076,164,037
3615 :183,136,145,187,200,169,027
3621 :044,145,187,200,138,145,128
3627 :187,200,132,183,076,138,191
3633 :167,198,183,198,183,076,030
3639 :138,167,032,051,167,169,011
3645 :044,145,187,200,169,065,103
3651 :076,184,167,032,152,168,078
3657 :032,121,000,201,044,240,199
3663 :003,076,086,168,134,251,029
3669 :032,177,168,169,001,133,253
3675 :252,032,121,000,201,044,229
3681 :208,005,032,171,168,134,047
3687 :252,076,000,169,000,000,088
3693 :000,000,000,000,000,072,181
3699 :169,071,141,208,002,169,107
3705 :171,141,209,002,104,076,056
3711 :199,002,072,169,174,133,108
3717 :247,169,167,133,248,104,177
3723 :076,193,002,186,169,233,230
3729 :157,003,001,169,167,157,031
3735 :004,001,169,000,072,169,054
3741 :114,072,076,225,002,104,238
3747 :104,169,167,072,169,233,053
3753 :072,169,165,133,247,169,100
3759 :169,133,248,076,193,002,228
3765 :104,104,169,167,072,169,198
3771 :233,072,169,018,133,247,035
3777 :169,168,133,248,076,193,156
3783 :002,169,008,133,247,169,159
3789 :175,133,248,076,193,002,008
3795 :072,169,205,141,208,002,240
3801 :169,189,141,209,002,104,007
3807 :076,199,002,169,052,133,086
3813 :247,169,168,133,248,169,083
3819 :001,032,195,255,056,076,082
3825 :193,002,169,158,141,208,088
3831 :002,169,173,141,209,002,175
3837 :032,199,002,072,169,143,102
3843 :141,208,002,104,076,221,243
3849 :168,169,158,141,208,002,087
3855 :169,183,141,209,002,076,027
3861 :199,002,032,115,000,076,189
3867 :129,168,032,115,000,076,035
3873 :152,168,032,115,000,169,157
3879 :138,141,208,002,169,173,102
3885 :141,209,002,032,199,002,118
3891 :072,169,247,141,208,002,122
3897 :169,183,141,209,002,104,097
3903 :076,199,002,169,055,133,185
3909 :247,169,164,133,248,162,168
3915 :003,076,193,002,032,199,068
3921 :002,072,169,163,141,208,068
3927 :002,169,182,141,209,002,024
3933 :104,032,199,002,133,097,148
3939 :134,098,132,099,096,000,146
3945 :000,000,016,000,000,000,121
3951 :000,255,000,165,251,166,180
3957 :152,202,016,003,076,208,006
3963 :168,221,089,002,208,245,032
3969 :189,109,002,141,001,190,249
3975 :169,080,141,000,190,165,112
3981 :020,141,002,190,165,021,168
3987 :141,003,190,165,252,141,015
3993 :004,190,169,005,133,251,137
3999 :169,000,133,252,169,190,048
4005 :133,253,076,223,165,032,023
4011 :129,168,162,003,181,096,142
4017 :149,250,202,208,249,076,031
4023 :223,165,169,073,141,000,186
4029 :190,169,001,032,043,169,025
4035 :162,000,189,135,169,157,239
4041 :000,190,232,224,006,208,037
4047 :245,169,006,032,043,169,103
4053 :169,008,032,180,255,169,002
4059 :111,032,150,255,169,013,181
4065 :032,210,255,032,165,255,150
4071 :170,032,165,255,032,165,026
4077 :255,032,097,168,032,171,224
4083 :255,169,013,076,210,255,197
4089 :077,045,082,250,002,003,196
4095 :169,009,141,048,170,169,193
4101 :064,141,049,170,076,164,157
4107 :169,169,041,141,048,170,237
4113 :169,191,141,049,170,032,001
4119 :061,170,169,002,162,008,083
4125 :160,170,032,189,255,162,229
4131 :008,160,002,032,186,255,166
4137 :032,192,255,162,000,189,103
4143 :010,170,157,000,190,232,038
4149 :224,008,208,245,134,251,099
4155 :032,045,169,162,002,032,245
4161 :201,255,162,000,189,018,122
4167 :170,032,210,255,232,224,170
4173 :043,208,245,032,204,255,040
4179 :032,129,168,160,000,177,237
4185 :098,153,003,190,200,196,161
4191 :097,208,246,152,024,105,159
4197 :003,133,251,169,085,141,115
4203 :000,190,169,051,141,001,147
4209 :190,169,058,141,002,190,095
4215 :076,074,170,035,050,066,078
4221 :045,080,032,050,032,048,156
4227 :013,032,238,193,032,152,023
4233 :195,032,032,195,032,202,057
4239 :195,169,000,133,134,032,038
4245 :157,196,048,016,032,183,013
4251 :221,144,014,160,000,177,103
4257 :148,009,064,145,148,076,239
4263 :187,200,076,225,202,076,109
4269 :087,217,032,231,255,169,140
4275 :073,141,000,190,169,001,241
4281 :076,043,169,032,045,169,207
4287 :169,002,076,195,255,032,152
4293 :061,170,169,002,162,008,001
4299 :160,170,032,189,255,162,147
4305 :008,160,002,032,186,255,084
4311 :032,192,255,162,000,189,021
4317 :010,170,157,000,190,232,212
4323 :224,008,208,245,134,251,017
4329 :032,045,169,162,002,032,163
4335 :201,255,162,000,189,041,063
4341 :171,032,210,255,232,224,089
4347 :159,208,245,032,204,255,074
4353 :032,129,168,160,000,177,155
4359 :098,153,003,190,200,196,079
4365 :097,208,246,152,024,105,077
4371 :003,133,251,169,085,141,033
4377 :000,190,169;052,141;001,066
4383 :190,169,058,141,002,190,013
4389 :032,251,170,032,121,000,131
4395 :201,222,240,003,076,086,103
4401 :168,032,115,000,032,129,013
4407 :168,160,000,177,098,153,043
4413 :003,190,200,196,097,208,187
4419 :246,152,024,105,003,133,218
4425 :251,169,085,141,000,190,141
4431 :169,053,141,001,190,169,034
4437 :058,141,002,190,032,251,247
4443 :170,169,002,133,251,169,217
4449 :085,141,000,190,169,051,221
4455 :141,001,190,076,074,170,243
4461 :032,045,169,169,008,032,052
4467 :180,255,169,111,032,150,244
4473 :255,032,165,255,201,048,053
4479 :208,005,032,165,255,201,225
4485 :048,008,032,171,255,040,175
4491 :208,001,096,162,004,169,011
4497 :055,133,247,169,164,133,022
4503 :248,076,193,002,076,069,047
4509 :005,160,000,044,160,033,047
4515 :140,176,005,032,238,193,179
4521 :032,152,195,032,032,195,039
4527 :032,202,195,032,157,196,221
4533 :016,003,076,225,202,165,100
4539 :148,174,176,005,157,177,000
4545 :005,165,149,010,168,185,107
4551 :000,000,157,178,005,185,212
4557 :001,000,157,179,005,160,195
4563 :000,177,148,157,180,005,110
4569 :232,200,192,030,208,245,044
4575 :096,173,178,005,133,006,046
4581 :173,179,005,133,007,169,127
4587 :128,133,000,162,000,032,178
4593 :153,213,160,036,174,177,130
4599 :005,185,177,005,157,000,008
4605 :003,232,200,192,066,208,130
4611 :244,169,144,133,000,162,087
4617 :000,032,153,213,173,211,023
4623 :005,133,006,173,212,005,037
4629 :133,007,169,126,133,000,079
4635 :162,000,032,153,213,160,235
4641 :003,174,210,005,185,177,019
4647 :005,157,000,003,232,200,124
4653 :192,033,208,244,169,144,011
4659 :133,000,162,000,076,153,063
4665 :213,239,255,255,255,255,249
4671 :255,255,255,255,255,255,057
4677 :255,255,255,255,255,255,063
4683 :255,255,255,255,255,255,069
4689 :255,000,000,000,000,000,080
4695 :000,000,000,000,032,210,073
4701 :002,032,104,165,076,225,185
4707 :002,032,225,002,108,247,203
4713 :000,072,165,001,009,001,097
4719 :133,001,104,032,205,189,007
4725 :072,165,001,041,254,133,015
4731 :001,104,096,032,210,002,056
4737 :032,000,162,072,165,001,049
4743 :009,001,133,001,104,096,223
4749 :032,210,002,076,203,162,058
4755 :032,210,002,076,017,163,135