Sharp X68000 Disassemblies
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

drive.s 14KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895
  1. ;=============================================
  2. ; Filename drive.x
  3. ;
  4. ;
  5. ; Base address 000000
  6. ; Exec address 000000
  7. ; Text size 000786 byte(s)
  8. ; Data size 0005bc byte(s)
  9. ; Bss size 0006ea byte(s)
  10. ; 144 Labels
  11. ;
  12. ; Commandline dis -b2 -h -m68000 --sp -q1 -B -M -o120 -gdrive.lab --overwrite drive.x drive.s
  13. ; DIS version 3.16
  14. ;=============================================
  15. .include inc/doscall.mac
  16. .include inc/iocscall.mac
  17. .include inc/fefunc.mac
  18. .cpu 68000
  19. .text
  20. Start:
  21. lea.l (L00142a),sp
  22. clr.b (L001022)
  23. clr.b (L001023)
  24. DOS _VERNUM
  25. cmp.w #$0332,d0
  26. bcc.w L00056e
  27. movea.l (Start-$0000e0),a0
  28. addq.l #1,a0
  29. lea.l (L000d46),a1
  30. lea.l (L000e5e),a2
  31. bsr.w L000616
  32. move.l d0,(L000d42)
  33. lea.l (L000e5e),a0
  34. L000040:
  35. tst.b (a0)
  36. beq.s L000078
  37. bsr.w L0006d0
  38. L000048:
  39. move.b (a0)+,d0
  40. beq.s L000040
  41. cmp.b #$64,d0 ;'d'
  42. beq.s L000064
  43. cmp.b #$76,d0 ;'v'
  44. bne.w L00053a
  45. move.b #-$01,(L001023)
  46. bra.s L000048
  47. L000064:
  48. tst.l (L000d42)
  49. bne.w L00053a
  50. move.b #-$01,(L001022)
  51. bra.s L000048
  52. L000078:
  53. DOS _CURDRV
  54. move.w d0,-(sp)
  55. DOS _CHGDRV
  56. addq.l #2,sp
  57. move.w d0,d4
  58. clr.l d5
  59. move.l (L000d42),d0
  60. bne.s L0000cc
  61. tst.b (L001022)
  62. beq.w L0001d0
  63. DOS _VERNUM
  64. cmp.w #$0162,d0
  65. bcs.w L00053a
  66. DOS _CURDRV
  67. move.w d0,d2
  68. move.w #$ffff,-(sp)
  69. move.w #$ffff,-(sp)
  70. DOS _DRVXCHG
  71. addq.l #4,sp
  72. move.w d0,d1
  73. tst.l d0
  74. bmi.w L00053a
  75. pea.l (L0009eb)
  76. DOS _PRINT
  77. addq.l #4,sp
  78. cmp.w d1,d2
  79. beq.w L0001d0
  80. bra.w L000198
  81. L0000cc:
  82. cmp.l #$00000002,d0
  83. bhi.w L00053a
  84. lea.l (L000d46),a0
  85. cmpi.b #$3a,($0001,a0) ;':'
  86. bne.w L00053a
  87. tst.b ($0002,a0)
  88. bne.w L00053a
  89. move.b (a0),d0
  90. or.b #$20,d0
  91. sub.b #$61,d0 ;'a'
  92. move.b d0,d2
  93. cmp.w d4,d0
  94. bhi.w L00052a
  95. and.l #$000000ff,d2
  96. cmpi.l #$00000001,(L000d42)
  97. beq.w L0001d2
  98. L000114:
  99. tst.b (a0)+
  100. bne.s L000114
  101. cmpi.b #$3a,($0001,a0) ;':'
  102. bne.w L00053a
  103. tst.b ($0002,a0)
  104. bne.w L00053a
  105. move.b (a0),d0
  106. or.b #$20,d0
  107. sub.b #$61,d0 ;'a'
  108. move.b d0,d1
  109. cmp.w d4,d0
  110. bhi.w L00052a
  111. and.l #$000000ff,d1
  112. cmp.w d1,d2
  113. beq.w L00052a
  114. move.w d1,-(sp)
  115. addq.w #1,(sp)
  116. move.w d2,-(sp)
  117. addq.w #1,(sp)
  118. DOS _DRVXCHG
  119. addq.l #4,sp
  120. DOS _FFLUSH
  121. pea.l (L0009a2)
  122. DOS _PRINT
  123. addq.l #4,sp
  124. move.w d2,-(sp)
  125. addi.w #$0041,(sp)
  126. DOS _PUTCHAR
  127. addq.l #2,sp
  128. pea.l (L00099f)
  129. DOS _PRINT
  130. addq.l #4,sp
  131. move.w d1,-(sp)
  132. addi.w #$0041,(sp)
  133. DOS _PUTCHAR
  134. addq.l #2,sp
  135. pea.l (L0009ac)
  136. DOS _PRINT
  137. addq.l #4,sp
  138. DOS _CURDRV
  139. cmp.w d2,d0
  140. beq.s L000198
  141. cmp.w d1,d0
  142. bne.s L0001d0
  143. move.w d1,d0
  144. move.w d2,d1
  145. move.w d0,d2
  146. L000198:
  147. move.w d1,-(sp)
  148. DOS _CHGDRV
  149. addq.l #2,sp
  150. pea.l (L0009c0)
  151. DOS _PRINT
  152. addq.l #4,sp
  153. move.w d2,-(sp)
  154. addi.w #$0041,(sp)
  155. DOS _PUTCHAR
  156. addq.l #2,sp
  157. pea.l (L0009ca)
  158. DOS _PRINT
  159. addq.l #4,sp
  160. move.w d1,-(sp)
  161. addi.w #$0041,(sp)
  162. DOS _PUTCHAR
  163. addq.l #2,sp
  164. pea.l (L0009d7)
  165. DOS _PRINT
  166. addq.l #4,sp
  167. L0001d0:
  168. clr.w d2
  169. L0001d2:
  170. move.w d2,d0
  171. addq.w #1,d2
  172. cmp.w d4,d2
  173. bhi.w L0004f8
  174. lea.l (L000b59),a0
  175. bsr.w L00075c
  176. tst.l d0
  177. bne.s L000228
  178. pea.l (L000f76)
  179. move.w d2,-(sp)
  180. DOS _GETDPB
  181. addq.l #6,sp
  182. tst.l d0
  183. seq.b (L001024)
  184. bpl.w L000284
  185. pea.l (L001026,pc)
  186. clr.w -(sp)
  187. move.w d2,-(sp)
  188. move.w #$000d,-(sp)
  189. DOS _IOCTRL
  190. tst.l d0
  191. bmi.s L000222
  192. move.w (L001026,pc),d1
  193. moveq.l #$00,d3
  194. move.b d2,d0
  195. subq.w #1,d0
  196. bra.w L0002c8
  197. L000222:
  198. lea.l (L000b34),a0
  199. L000228:
  200. tst.l d5
  201. beq.s L00025c
  202. cmpa.l d5,a0
  203. beq.s L000272
  204. move.w d2,d0
  205. sub.w d6,d0
  206. cmp.w #$0002,d0
  207. bcs.s L00025c
  208. cmp.w #$0003,d0
  209. bcs.s L00024a
  210. pea.l (L000a16)
  211. DOS _PRINT
  212. addq.l #4,sp
  213. L00024a:
  214. move.w d2,d0
  215. add.w #$003f,d0
  216. move.w d0,-(sp)
  217. DOS _PUTCHAR
  218. addq.l #2,sp
  219. move.l d5,-(sp)
  220. DOS _PRINT
  221. addq.l #4,sp
  222. L00025c:
  223. move.l a0,d5
  224. move.w d2,d6
  225. move.w d2,d0
  226. add.w #$0040,d0
  227. move.w d0,-(sp)
  228. DOS _PUTCHAR
  229. addq.l #2,sp
  230. move.l a0,-(sp)
  231. DOS _PRINT
  232. addq.l #4,sp
  233. L000272:
  234. cmpi.l #$00000001,(L000d42)
  235. bne.w L0001d2
  236. bra.w L000528
  237. L000284:
  238. tst.l d5
  239. beq.s L0002b6
  240. move.w d2,d0
  241. sub.w d6,d0
  242. cmp.w #$0002,d0
  243. bcs.s L0002b4
  244. cmp.w #$0003,d0
  245. bcs.s L0002a2
  246. pea.l (L000a16)
  247. DOS _PRINT
  248. addq.l #4,sp
  249. L0002a2:
  250. move.w d2,d0
  251. add.w #$003f,d0
  252. move.w d0,-(sp)
  253. DOS _PUTCHAR
  254. addq.l #2,sp
  255. move.l d5,-(sp)
  256. DOS _PRINT
  257. addq.l #4,sp
  258. L0002b4:
  259. clr.l d5
  260. L0002b6:
  261. move.b (L000f76),d0
  262. move.b (L000f8c),d1
  263. move.b (L000f77),d3
  264. L0002c8:
  265. lea.l (L000a1a),a0
  266. cmp.b #$fe,d1
  267. beq.s L000346
  268. lea.l (L000a2e),a0
  269. cmp.b #$f9,d1
  270. beq.s L000346
  271. lea.l (L000a42),a0
  272. cmp.b #$f8,d1
  273. beq.s L000346
  274. lea.l (L000a54),a0
  275. cmp.b #$f7,d1
  276. beq.s L000346
  277. lea.l (L000a6c),a0
  278. cmp.b #$f6,d1
  279. beq.s L000346
  280. lea.l (L000ab0,pc),a0
  281. cmp.b #$fd,d1
  282. beq.s L000346
  283. lea.l (L000ac4,pc),a0
  284. cmp.b #$fb,d1
  285. beq.s L000346
  286. lea.l (L000adc,pc),a0
  287. cmp.b #$fc,d1
  288. beq.s L000346
  289. lea.l (L000af4,pc),a0
  290. cmp.b #$fa,d1
  291. beq.s L000346
  292. lea.l (L000a84,pc),a0
  293. cmpi.b #$f5,d1
  294. beq.s L000346
  295. lea.l (L000a98,pc),a0
  296. cmpi.b #$f4,d1
  297. beq.s L000346
  298. lea.l (L000b0c),a0
  299. L000346:
  300. add.b #$41,d0 ;'A'
  301. move.w d0,-(sp)
  302. DOS _PUTCHAR
  303. addq.l #2,sp
  304. move.l a0,-(sp)
  305. DOS _PRINT
  306. addq.l #4,sp
  307. pea.l (L000b20)
  308. DOS _PRINT
  309. addq.l #4,sp
  310. clr.l d0
  311. move.b d3,d0
  312. lea.l (L000fda),a0
  313. bsr.w L000716
  314. clr.b (L000fe4)
  315. pea.l (L000fe2)
  316. DOS _PRINT
  317. addq.l #4,sp
  318. tst.b (L001023)
  319. beq.s L0003de
  320. move.w #$ffff,-(sp)
  321. move.w #$0010,-(sp)
  322. DOS _CONCTRL
  323. addq.l #4,sp
  324. cmp.b #$01,d0
  325. bhi.s L0003de
  326. move.w d2,d0
  327. and.w #$00ff,d0
  328. move.w d0,-(sp)
  329. DOS _DRVCTRL
  330. addq.l #2,sp
  331. and.l #$00000004,d0
  332. bne.s L0003de
  333. lea.l (L000fda),a0
  334. lea.l (L0007b2),a1
  335. bsr.w L0006c2
  336. move.b d2,d0
  337. add.b #$40,d0 ;'@'
  338. move.b d0,(a0)
  339. move.w #$0008,-(sp)
  340. move.l a0,-(sp)
  341. pea.l (L000fe6)
  342. DOS _FILES
  343. lea.l ($000a,sp),sp
  344. tst.l d0
  345. bmi.s L0003de
  346. bsr.w L0005d0
  347. L0003de:
  348. pea.l (L000d3f)
  349. DOS _PRINT
  350. addq.l #4,sp
  351. cmpi.l #$00000001,(L000d42)
  352. bne.w L0001d2
  353. tst.b (L001024)
  354. beq.w L000528
  355. lea.l (L000b6e),a0
  356. move.w (L000f78),d0
  357. and.l #$0000ffff,d0
  358. bsr.w L00057e
  359. lea.l (L000b97),a0
  360. move.b (L000f7a),d0
  361. and.l #$000000ff,d0
  362. addq.l #1,d0
  363. bsr.w L00057e
  364. lea.l (L000bc0),a0
  365. move.w (L000f84),d0
  366. and.l #$0000ffff,d0
  367. subq.l #1,d0
  368. bsr.w L00057e
  369. lea.l (L000be9),a0
  370. move.w (L000f7c),d0
  371. and.l #$0000ffff,d0
  372. bsr.w L00057e
  373. lea.l (L000c12),a0
  374. move.b (L000f7f),d0
  375. and.l #$000000ff,d0
  376. bsr.w L00057e
  377. lea.l (L000c3b),a0
  378. move.w (L000f86),d0
  379. and.l #$0000ffff,d0
  380. bsr.w L00057e
  381. lea.l (L000c64),a0
  382. move.w (L000f80),d0
  383. and.l #$0000ffff,d0
  384. bsr.w L00057e
  385. lea.l (L000c8d),a0
  386. move.w (L000f82),d0
  387. and.l #$0000ffff,d0
  388. bsr.w L00057e
  389. move.w d2,d0
  390. and.w #$00ff,d0
  391. move.w d0,-(sp)
  392. DOS _DRVCTRL
  393. addq.l #2,sp
  394. move.l d0,d1
  395. lea.l (L000cb6),a0
  396. and.l #$00000004,d0
  397. bsr.w L0005ae
  398. lea.l (L000ce0),a0
  399. move.l d1,d0
  400. and.l #$00000040,d0
  401. bsr.w L0005ae
  402. lea.l (L000d0a),a0
  403. move.l d1,d0
  404. and.l #$0000000c,d0
  405. bsr.w L0005ae
  406. bra.s L000528
  407. L0004f8:
  408. tst.l d5
  409. beq.s L000528
  410. move.w d2,d0
  411. sub.w d6,d0
  412. cmp.w #$0002,d0
  413. bcs.s L000528
  414. cmp.w #$0003,d0
  415. bcs.s L000516
  416. pea.l (L000a16)
  417. DOS _PRINT
  418. addq.l #4,sp
  419. L000516:
  420. move.w d2,d0
  421. add.w #$003f,d0
  422. move.w d0,-(sp)
  423. DOS _PUTCHAR
  424. addq.l #2,sp
  425. move.l d5,-(sp)
  426. DOS _PRINT
  427. addq.l #4,sp
  428. L000528:
  429. DOS _EXIT
  430. L00052a:
  431. pea.l (L000962)
  432. DOS _PRINT
  433. addq.l #4,sp
  434. move.w #$0002,-(sp)
  435. DOS _EXIT2
  436. L00053a:
  437. lea.l (L0008a8),a0
  438. DOS _VERNUM
  439. cmp.w #$0162,d0
  440. bcs.s L00054e
  441. lea.l (L00084f),a0
  442. L00054e:
  443. pea.l (L0007b9)
  444. DOS _PRINT
  445. addq.l #4,sp
  446. move.l a0,-(sp)
  447. DOS _PRINT
  448. addq.l #4,sp
  449. pea.l (L0008ab)
  450. DOS _PRINT
  451. addq.l #4,sp
  452. move.w #$0001,-(sp)
  453. DOS _EXIT2
  454. L00056e:
  455. pea.l (L000982)
  456. DOS _PRINT
  457. addq.l #4,sp
  458. move.w #$0002,-(sp)
  459. DOS _EXIT2
  460. L00057e:
  461. move.l d0,-(sp)
  462. move.l a0,-(sp)
  463. DOS _PRINT
  464. addq.l #4,sp
  465. move.l (sp)+,d0
  466. lea.l (L000fda),a0
  467. bsr.w L000716
  468. clr.b (L000fe4)
  469. pea.l (L000fdf)
  470. DOS _PRINT
  471. addq.l #4,sp
  472. pea.l (L000d3f)
  473. DOS _PRINT
  474. addq.l #4,sp
  475. rts
  476. L0005ae:
  477. move.l d0,-(sp)
  478. move.l a0,-(sp)
  479. DOS _PRINT
  480. addq.l #4,sp
  481. move.l (sp)+,d0
  482. tst.b d0
  483. beq.s L0005c4
  484. pea.l (L000d3b)
  485. bra.s L0005ca
  486. L0005c4:
  487. pea.l (L000d34)
  488. L0005ca:
  489. DOS _PRINT
  490. addq.l #4,sp
  491. rts
  492. L0005d0:
  493. pea.l (L000947)
  494. DOS _PRINT
  495. addq.l #4,sp
  496. move.w #$0015,d1
  497. lea.l (L001004),a0
  498. clr.w d0
  499. L0005e6:
  500. tst.w d1
  501. beq.s L00060a
  502. move.b (a0)+,d0
  503. beq.s L000606
  504. cmp.b #$2e,d0 ;'.'
  505. beq.s L0005e6
  506. move.w d0,-(sp)
  507. DOS _PUTCHAR
  508. addq.l #2,sp
  509. subq.w #1,d1
  510. bra.s L0005e6
  511. L0005fe:
  512. move.w #$0020,-(sp) ;' '
  513. DOS _PUTCHAR
  514. addq.l #2,sp
  515. L000606:
  516. dbra.w d1,L0005fe
  517. L00060a:
  518. pea.l (L00095c)
  519. DOS _PRINT
  520. addq.l #4,sp
  521. rts
  522. L000616:
  523. movem.l d1/a0-a2,-(sp)
  524. clr.l d1
  525. L00061c:
  526. bsr.w L0006a8
  527. adda.l d0,a0
  528. tst.b (a0)
  529. beq.s L000698
  530. move.b (a0)+,d0
  531. cmp.b #$2d,d0 ;'-'
  532. beq.s L000634
  533. cmp.b #$2f,d0 ;'/'
  534. bne.s L00064a
  535. L000634:
  536. move.b (a0)+,d0
  537. beq.s L000698
  538. cmp.b #$09,d0
  539. beq.s L000646
  540. cmp.b #$20,d0 ;' '
  541. beq.s L000646
  542. move.b d0,(a2)+
  543. L000646:
  544. clr.b (a2)+
  545. bra.s L00061c
  546. L00064a:
  547. addq.l #1,d1
  548. L00064c:
  549. move.b d0,(a1)+
  550. cmp.b #$22,d0 ;'"'
  551. bne.s L000662
  552. L000654:
  553. move.b (a0)+,d0
  554. beq.s L000698
  555. move.b d0,(a1)+
  556. cmp.b #$22,d0 ;'"'
  557. bne.s L000654
  558. bra.s L000674
  559. L000662:
  560. cmp.b #$27,d0 ;'''
  561. bne.s L000674
  562. L000668:
  563. move.b (a0)+,d0
  564. beq.s L000698
  565. move.b d0,(a1)+
  566. cmp.b #$27,d0 ;'''
  567. bne.s L000668
  568. L000674:
  569. move.b (a0),d0
  570. beq.s L000698
  571. cmp.b #$2f,d0 ;'/'
  572. beq.s L000694
  573. cmp.b #$2d,d0 ;'-'
  574. beq.s L000694
  575. addq.l #1,a0
  576. cmp.b #$09,d0
  577. beq.s L000694
  578. cmp.b #$20,d0 ;' '
  579. beq.s L000694
  580. bra.s L00064c
  581. L000694:
  582. clr.b (a1)+
  583. bra.s L00061c
  584. L000698:
  585. clr.b (a1)+
  586. clr.b (a1)
  587. clr.b (a2)+
  588. clr.b (a2)
  589. move.l d1,d0
  590. movem.l (sp)+,d1/a0-a2
  591. rts
  592. L0006a8:
  593. move.l a0,-(sp)
  594. L0006aa:
  595. move.b (a0)+,d0
  596. cmpi.b #$20,d0 ;' '
  597. beq.s L0006aa
  598. cmpi.b #$09,d0
  599. beq.s L0006aa
  600. move.l a0,d0
  601. movea.l (sp)+,a0
  602. sub.l a0,d0
  603. subq.l #1,d0
  604. rts
  605. L0006c2:
  606. movem.l a0-a1,-(sp)
  607. L0006c6:
  608. move.b (a1)+,(a0)+
  609. bne.s L0006c6
  610. movem.l (sp)+,a0-a1
  611. rts
  612. L0006d0:
  613. movem.l d0-d1/a0,-(sp)
  614. clr.b d1
  615. L0006d6:
  616. move.b (a0),d0
  617. beq.s L000710
  618. tst.b d1
  619. beq.s L0006e2
  620. clr.b d1
  621. bra.s L0006f8
  622. L0006e2:
  623. cmp.b #$80,d0
  624. bcs.s L0006fc
  625. cmp.b #$a0,d0
  626. bcs.s L0006f4
  627. cmp.b #$e0,d0
  628. bcs.s L0006fc
  629. L0006f4:
  630. move.b #$01,d1
  631. L0006f8:
  632. addq.l #1,a0
  633. bra.s L0006d6
  634. L0006fc:
  635. cmpi.b #$41,d0 ;'A'
  636. bcs.s L00070c
  637. cmpi.b #$5a,d0 ;'Z'
  638. bhi.s L00070c
  639. add.b #$20,d0 ;' '
  640. L00070c:
  641. move.b d0,(a0)+
  642. bra.s L0006d6
  643. L000710:
  644. movem.l (sp)+,d0-d1/a0
  645. rts
  646. L000716:
  647. movem.l d0-d2/a0-a1,-(sp)
  648. movem.l a0,-(sp)
  649. lea.l (L000786),a1
  650. L000724:
  651. clr.b d2
  652. move.l (a1)+,d1
  653. beq.s L00073a
  654. L00072a:
  655. addq.b #1,d2
  656. sub.l d1,d0
  657. bcc.s L00072a
  658. add.l d1,d0
  659. add.b #$2f,d2 ;'/'
  660. move.b d2,(a0)+
  661. bra.s L000724
  662. L00073a:
  663. clr.b (a0)
  664. movem.l (sp)+,a0
  665. L000740:
  666. move.b (a0)+,d0
  667. beq.s L000756
  668. cmp.b #$30,d0 ;'0'
  669. bne.s L000756
  670. tst.b (a0)
  671. beq.s L000756
  672. move.b #$20,(-$0001,a0) ;' '
  673. bra.s L000740
  674. L000756:
  675. movem.l (sp)+,d0-d2/a0-a1
  676. rts
  677. L00075c:
  678. movem.l d1,-(sp)
  679. and.l #$000000ff,d0
  680. move.l d0,d1
  681. DOS _CURDRV
  682. move.w d0,-(sp)
  683. move.w d1,-(sp)
  684. DOS _CHGDRV
  685. addq.l #2,sp
  686. cmp.w d1,d0
  687. bhi.s L00077a
  688. moveq.l #$ff,d0
  689. bra.s L00077e
  690. L00077a:
  691. DOS _CHGDRV
  692. clr.l d0
  693. L00077e:
  694. addq.l #2,sp
  695. movem.l (sp)+,d1
  696. rts
  697. .data
  698. L000786:
  699. .dc.b $3b,$9a,$ca,$00,$05,$f5,$e1,$00
  700. .dc.b $00,$98,$96,$80,$00,$0f,$42,$40
  701. .dc.b $00,$01,$86,$a0,$00,$00,$27,$10
  702. .dc.b $00,$00,$03,$e8,$00,$00,$00,$64
  703. .dc.b $00,$00,$00,$0a,$00,$00,$00,$01
  704. .dc.b $00,$00,$00,$00
  705. L0007b2:
  706. .dc.b 'A:\*.*',$00
  707. L0007b9:
  708. .dc.b 'X68k Drive v2.20 Copyright 1989,90,91,92,93 SHARP/Hudson',$0d,$0a
  709. .dc.b '使用法:drive[スイッチ][ドライブ名1][ドライブ名2]',$0d,$0a
  710. .dc.b $09,'/v',$09,'ボリュームラベルを表示する',$0d,$0a,$00
  711. L00084f:
  712. .dc.b $09,'/d',$09,'すべてのドライブ名を初期状態に戻す',$0d,$0a
  713. .dc.b $0d,$0a
  714. .dc.b $09,'/dのスイッチを付けた場合ドライブ名は指定しない'
  715. L0008a8:
  716. .dc.b $0d,$0a,$00
  717. L0008ab:
  718. .dc.b $09,'ドライブ名の指定が無いと全ドライブのタイプを表示する',$0d,$0a
  719. .dc.b $09,'ドライブ名1のみ指定するとステ-タスを表示する',$0d,$0a
  720. .dc.b $09,'ドライブ名1,2を指定するとドライブ名を交換する',$0d,$0a,$00
  721. L000947:
  722. .dc.b ' ボリュ-ムラベルは ',$00
  723. L00095c:
  724. .dc.b ' です',$00
  725. L000962:
  726. .dc.b 'drive: ドライブ指定が無効です',$0d,$0a,$00
  727. L000982:
  728. .dc.b 'このOSでは使用できません',$0d,$0a,$00
  729. L00099f:
  730. .dc.b ':と'
  731. L0009a2:
  732. .dc.b 'ドライブ ',$00
  733. L0009ac:
  734. .dc.b ':を入れ替えました',$0d,$0a,$00
  735. L0009c0:
  736. .dc.b 'カレント ',$00
  737. L0009ca:
  738. .dc.b ':をドライブ ',$00
  739. L0009d7:
  740. .dc.b ':に切り替えました',$0d,$0a,$00
  741. L0009eb:
  742. .dc.b 'すべてのドライブ名を初期状態に戻しました',$0d,$0a,$00
  743. L000a16:
  744. .dc.b '|',$0d,$0a,$00
  745. L000a1a:
  746. .dc.b ': 2HD(1MB)',$09,$00
  747. L000a2e:
  748. .dc.b ': RAM DISK',$09,$00
  749. L000a42:
  750. .dc.b ': ハードディスク',$09,$00
  751. L000a54:
  752. .dc.b ': ハードディスク(SCSI)',$09,$00
  753. L000a6c:
  754. .dc.b ': 光磁気ディスク(SCSI)',$09,$00
  755. L000a84:
  756. .dc.b ': CDROM(SCSI)',$09,$00
  757. L000a98:
  758. .dc.b ': DATドライブ(SCSI)',$09,$00
  759. L000ab0:
  760. .dc.b ': 2HC(1MB)',$09,$00
  761. L000ac4:
  762. .dc.b ': 2DD(640KB)',$09,$00
  763. L000adc:
  764. .dc.b ': 2DD(720KB)',$09,$00
  765. L000af4:
  766. .dc.b ': 2HD(1.44MB)',$00
  767. L000b0c:
  768. .dc.b ': その他のタイプ ',$09,$00
  769. L000b20:
  770. .dc.b 'ユニット番号・・・・ ',$00
  771. L000b34:
  772. .dc.b ': ドライブの装置情報が存在しません',$0d,$0a,$00
  773. L000b59:
  774. .dc.b ': 仮想ドライブです',$0d,$0a,$00
  775. L000b6e:
  776. .dc.b '1セクタあたりのバイト数・・・・・・・・・・・・・・・・',$00
  777. L000b97:
  778. .dc.b '1クラスタあたりのセクタ数・・・・・・・・・・・・・・',$00
  779. L000bc0:
  780. .dc.b '総クラスタ数・・・・・・・・・・・・・・・・・・・・・・・・・・・・',$00
  781. L000be9:
  782. .dc.b 'ファイルアロケーションの先頭セクタ番号・・',$00
  783. L000c12:
  784. .dc.b 'ファイルアロケーションのセクタ数・・・・・・・・',$00
  785. L000c3b:
  786. .dc.b 'ルートディレクトリの先頭セクタ番号・・・・・・',$00
  787. L000c64:
  788. .dc.b 'ルートディレクトリの最大個数・・・・・・・・・・・・',$00
  789. L000c8d:
  790. .dc.b 'データ領域の先頭セクタ番号・・・・・・・・・・・・・・',$00
  791. L000cb6:
  792. .dc.b 'アクセス・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ ',$00
  793. L000ce0:
  794. .dc.b 'イジェクト・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ ',$00
  795. L000d0a:
  796. .dc.b '書き込み・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ ',$00
  797. L000d34:
  798. .dc.b ' 可',$0d,$0a,$00
  799. L000d3b:
  800. .dc.b '不可'
  801. L000d3f:
  802. .dc.b $0d,$0a,$00
  803. .bss
  804. L000d42:
  805. .ds.l 1
  806. L000d46:
  807. .ds.b 280
  808. L000e5e:
  809. .ds.b 280
  810. L000f76:
  811. .ds.b 1
  812. L000f77:
  813. .ds.b 1
  814. L000f78:
  815. .ds.w 1
  816. L000f7a:
  817. .ds.b 2
  818. L000f7c:
  819. .ds.b 3
  820. L000f7f:
  821. .ds.b 1
  822. L000f80:
  823. .ds.w 1
  824. L000f82:
  825. .ds.w 1
  826. L000f84:
  827. .ds.w 1
  828. L000f86:
  829. .ds.b 6
  830. L000f8c:
  831. .ds.b 78
  832. L000fda:
  833. .ds.b 5
  834. L000fdf:
  835. .ds.b 3
  836. L000fe2:
  837. .ds.b 2
  838. L000fe4:
  839. .ds.b 2
  840. L000fe6:
  841. .ds.b 30
  842. L001004:
  843. .ds.b 30
  844. L001022:
  845. .ds.b 1
  846. L001023:
  847. .ds.b 1
  848. L001024:
  849. .ds.b 2
  850. L001026:
  851. .ds.b 1028
  852. L00142a:
  853. .ds.b 2
  854. End:
  855. .end Start