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.

mxp.s 13KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907
  1. ;=============================================
  2. ; Filename mxp.x
  3. ; Time Stamp Mon Dec 17 21:09:21 2018
  4. ;
  5. ; Base address 000000
  6. ; Exec address 000000
  7. ; Text size 000780 byte(s)
  8. ; Data size 00021c byte(s)
  9. ; Bss size 004204 byte(s)
  10. ; 124 Labels
  11. ;
  12. ; Commandline dis -b2 -h -m68000 --sp -q1 -B -M -o120 -gmxp.lab --overwrite mxp.x mxp.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. L000000:
  21. lea.l (L004ba0,pc),sp
  22. lea.l ($0010,a0),a0
  23. suba.l a0,a1
  24. move.l a1,-(sp)
  25. move.l a0,-(sp)
  26. DOS _SETBLOCK
  27. addq.l #8,sp
  28. pea.l ($0001,a2)
  29. bsr.w L00043e
  30. clr.w -(sp)
  31. DOS _EXIT2
  32. L00001e:
  33. movem.l ($0004,sp),d0-d1/a1
  34. trap #4
  35. rts
  36. L000028:
  37. move.l ($0004,sp),-(sp)
  38. DOS _PRINT
  39. move.w #$ffff,(sp)
  40. DOS _EXIT2
  41. L000034:
  42. link.w a6,#-$0100
  43. move.l #$00000008,-(sp)
  44. pea.l (-$0100,a6)
  45. move.l #$00000024,-(sp)
  46. bsr.w L000600
  47. addq.l #4,sp
  48. subq.l #8,d0
  49. move.l d0,-(sp)
  50. bsr.w L0005da
  51. lea.l ($000c,sp),sp
  52. move.l #$00000005,-(sp)
  53. pea.l (L000896,pc)
  54. pea.l (-$0100,a6)
  55. bsr.w L0006fe
  56. lea.l ($000c,sp),sp
  57. tst.l d0
  58. beq.s L00007c
  59. pea.l (L00089c,pc)
  60. bsr.s L000028
  61. addq.l #4,sp
  62. L00007c:
  63. move.l #$00000003,-(sp)
  64. pea.l (L0008bd,pc)
  65. pea.l (-$00fb,a6)
  66. bsr.w L0006fe
  67. lea.l ($000c,sp),sp
  68. tst.l d0
  69. bge.s L00009e
  70. pea.l (L0008c1,pc)
  71. bsr.s L000028
  72. addq.l #4,sp
  73. L00009e:
  74. unlk a6
  75. rts
  76. L0000a2:
  77. link.w a6,#-$0004
  78. movem.l a3-a5,-(sp)
  79. movea.l ($0008,a6),a5
  80. movea.l ($000c,a6),a4
  81. movea.l ($0010,a6),a3
  82. move.l a4,d0
  83. beq.s L0000c0
  84. move.l a4,(L00099c)
  85. L0000c0:
  86. move.l (L00099c,pc),d0
  87. movea.l d0,a0
  88. moveq.l #$00,d0
  89. move.b (a0),d0
  90. tst.l d0
  91. bne.s L0000de
  92. L0000ce:
  93. move.l (L00099c,pc),d0
  94. movea.l d0,a0
  95. moveq.l #$00,d0
  96. move.b (a0),d0
  97. tst.l d0
  98. beq.s L0000fe
  99. bra.s L00012e
  100. L0000de:
  101. move.l (L00099c,pc),d0
  102. movea.l d0,a0
  103. moveq.l #$00,d0
  104. move.b (a0),d0
  105. move.l d0,-(sp)
  106. move.l a3,-(sp)
  107. bsr.w L0006ac
  108. addq.l #8,sp
  109. tst.l d0
  110. beq.s L0000ce
  111. addq.l #1,(L00099c)
  112. bra.s L0000c0
  113. L0000fe:
  114. moveq.l #$01,d0
  115. L000100:
  116. movem.l (sp)+,a3-a5
  117. unlk a6
  118. rts
  119. L000108:
  120. move.l (L00099c,pc),d0
  121. movea.l d0,a0
  122. moveq.l #$00,d0
  123. move.b (a0),d0
  124. move.l d0,-(sp)
  125. move.l a3,-(sp)
  126. bsr.w L0006ac
  127. addq.l #8,sp
  128. tst.l d0
  129. bne.s L00013c
  130. move.l (L00099c,pc),d0
  131. movea.l d0,a0
  132. move.b (a0),(a5)+
  133. addq.l #1,(L00099c)
  134. L00012e:
  135. move.l (L00099c,pc),d0
  136. movea.l d0,a0
  137. moveq.l #$00,d0
  138. move.b (a0),d0
  139. tst.l d0
  140. bne.s L000108
  141. L00013c:
  142. moveq.l #$00,d0
  143. move.b d0,(a5)
  144. andi.l #$000000ff,d0
  145. bra.s L000100
  146. L000148:
  147. link.w a6,#-$0200
  148. movem.l d7/a4-a5,-(sp)
  149. movea.l ($0008,a6),a5
  150. move.l a5,-(sp)
  151. pea.l (-$0100,a6)
  152. bsr.w L0006de
  153. addq.l #8,sp
  154. clr.l -(sp)
  155. pea.l (-$0100,a6)
  156. bsr.w L00060a
  157. addq.l #8,sp
  158. move.l d0,d7
  159. bge.w L0001fc
  160. pea.l (-$0100,a6)
  161. clr.l -(sp)
  162. pea.l (L0008e9,pc)
  163. bsr.w L000652
  164. lea.l ($000c,sp),sp
  165. tst.l d0
  166. blt.s L0001dc
  167. pea.l (L0008ed,pc)
  168. pea.l (-$0100,a6)
  169. L000190:
  170. bsr.w L000726
  171. addq.l #8,sp
  172. movea.l d0,a4
  173. bra.s L0001d8
  174. L00019a:
  175. move.l a4,-(sp)
  176. pea.l (-$0200,a6)
  177. bsr.w L0006de
  178. addq.l #8,sp
  179. pea.l (L0008f1,pc)
  180. pea.l (-$0200,a6)
  181. bsr.w L000698
  182. addq.l #8,sp
  183. move.l a5,-(sp)
  184. pea.l (-$0200,a6)
  185. bsr.w L000698
  186. addq.l #8,sp
  187. clr.l -(sp)
  188. pea.l (-$0200,a6)
  189. bsr.w L00060a
  190. addq.l #8,sp
  191. move.l d0,d7
  192. bge.s L0001dc
  193. pea.l (L0008ef,pc)
  194. clr.l -(sp)
  195. bra.s L000190
  196. L0001d8:
  197. move.l a4,d0
  198. bne.s L00019a
  199. L0001dc:
  200. move.l d7,d0
  201. bge.s L0001fc
  202. pea.l (L0008f3,pc)
  203. bsr.w L0005ec
  204. addq.l #4,sp
  205. move.l a5,-(sp)
  206. bsr.w L0005ec
  207. addq.l #4,sp
  208. pea.l (L0008f6,pc)
  209. bsr.w L000028
  210. addq.l #4,sp
  211. L0001fc:
  212. move.l d7,d0
  213. movem.l (sp)+,d7/a4-a5
  214. unlk a6
  215. rts
  216. L000206:
  217. link.w a6,#-$0004
  218. move.l #$00000002,-(sp)
  219. clr.l -(sp)
  220. move.l ($0008,a6),-(sp)
  221. bsr.w L00062c
  222. lea.l ($000c,sp),sp
  223. move.l d0,(-$0004,a6)
  224. clr.l -(sp)
  225. clr.l -(sp)
  226. move.l ($0008,a6),-(sp)
  227. bsr.w L00062c
  228. lea.l ($000c,sp),sp
  229. move.l (-$0004,a6),d0
  230. unlk a6
  231. rts
  232. L00023a:
  233. link.w a6,#$0000
  234. movem.l d4-d7/a5,-(sp)
  235. move.l ($0008,a6),-(sp)
  236. bsr.w L000148
  237. addq.l #4,sp
  238. move.l d0,d5
  239. move.l d0,-(sp)
  240. bsr.s L000206
  241. addq.l #4,sp
  242. move.l d0,d6
  243. lea.l (L0009a0,pc),a5
  244. bra.s L000262
  245. L00025c:
  246. move.l d7,d0
  247. move.b d0,(a5)+
  248. subq.l #1,d6
  249. L000262:
  250. move.l d5,-(sp)
  251. bsr.w L0005f6
  252. addq.l #4,sp
  253. move.l d0,d7
  254. cmp.l #$0000000d,d0
  255. bne.s L00025c
  256. move.l d5,-(sp)
  257. bsr.w L0005f6
  258. addq.l #4,sp
  259. move.l d5,-(sp)
  260. bsr.w L0005f6
  261. addq.l #4,sp
  262. clr.b (a5)
  263. subq.l #4,d6
  264. lea.l (L000aa0,pc),a5
  265. bra.s L000290
  266. L00028e:
  267. subq.l #1,d6
  268. L000290:
  269. move.l d5,-(sp)
  270. bsr.w L0005f6
  271. addq.l #4,sp
  272. move.l a5,d1
  273. addq.l #1,a5
  274. movea.l d1,a1
  275. move.b d0,(a1)
  276. bne.s L00028e
  277. pea.l (L0009a0,pc)
  278. bsr.w L0006ec
  279. addq.l #4,sp
  280. move.l d0,d7
  281. add.l #$00000009,d7
  282. moveq.l #$fe,d0
  283. and.l d0,d7
  284. move.l d6,d0
  285. add.l d7,d0
  286. move.l d0,-(sp)
  287. bsr.w L00063e
  288. addq.l #4,sp
  289. movea.l d0,a5
  290. move.l d0,d4
  291. bgt.s L0002d4
  292. pea.l (L000826,pc)
  293. bsr.w L000028
  294. addq.l #4,sp
  295. L0002d4:
  296. clr.w (a5)
  297. moveq.l #$00,d0
  298. move.b (L000aa0,pc),d0
  299. tst.l d0
  300. beq.s L0002e4
  301. moveq.l #$00,d0
  302. bra.s L0002e6
  303. L0002e4:
  304. moveq.l #$ff,d0
  305. L0002e6:
  306. move.w d0,($0002,a5)
  307. move.l d7,d0
  308. move.w d0,($0004,a5)
  309. moveq.l #$08,d0
  310. move.w d0,($0006,a5)
  311. pea.l (L0009a0,pc)
  312. move.l a5,-(sp)
  313. addq.l #8,(sp)
  314. bsr.w L0006de
  315. addq.l #8,sp
  316. move.l d6,-(sp)
  317. move.l a5,d0
  318. add.l d7,d0
  319. move.l d0,-(sp)
  320. move.l d5,-(sp)
  321. bsr.w L000618
  322. lea.l ($000c,sp),sp
  323. cmp.l d6,d0
  324. bge.s L000324
  325. pea.l (L000808,pc)
  326. bsr.w L000028
  327. addq.l #4,sp
  328. L000324:
  329. move.l a5,-(sp)
  330. move.l d7,d0
  331. add.l d6,d0
  332. move.l d0,-(sp)
  333. move.l #$00000002,-(sp)
  334. bsr.w L00001e
  335. lea.l ($000c,sp),sp
  336. tst.l d0
  337. beq.s L000348
  338. pea.l (L00090c,pc)
  339. bsr.w L000028
  340. addq.l #4,sp
  341. L000348:
  342. move.l a5,-(sp)
  343. bsr.w L000648
  344. addq.l #4,sp
  345. movem.l (sp)+,d4-d7/a5
  346. unlk a6
  347. rts
  348. L000358:
  349. link.w a6,#$0000
  350. movem.l d4-d7/a5,-(sp)
  351. clr.l -(sp)
  352. move.l #$00000009,-(sp)
  353. bsr.w L00001e
  354. addq.l #8,sp
  355. movea.l d0,a5
  356. move.l d0,d4
  357. beq.s L000386
  358. move.l ($0008,a6),-(sp)
  359. move.l a5,-(sp)
  360. bsr.w L0006c4
  361. addq.l #8,sp
  362. tst.l d0
  363. beq.w L000436
  364. L000386:
  365. move.l ($0008,a6),-(sp)
  366. bsr.w L000148
  367. addq.l #4,sp
  368. move.l d0,d6
  369. move.l d0,-(sp)
  370. bsr.w L000206
  371. addq.l #4,sp
  372. move.l d0,d7
  373. move.l ($0008,a6),-(sp)
  374. bsr.w L0006ec
  375. addq.l #4,sp
  376. move.l d0,d5
  377. add.l #$00000009,d5
  378. moveq.l #$fe,d0
  379. and.l d0,d5
  380. move.l d7,d0
  381. add.l d5,d0
  382. move.l d0,-(sp)
  383. bsr.w L00063e
  384. addq.l #4,sp
  385. movea.l d0,a5
  386. move.l d0,d4
  387. bge.s L0003ce
  388. pea.l (L000826,pc)
  389. bsr.w L000028
  390. addq.l #4,sp
  391. L0003ce:
  392. clr.l (a5)
  393. move.l d5,d0
  394. move.w d0,($0004,a5)
  395. moveq.l #$08,d0
  396. move.w d0,($0006,a5)
  397. move.l ($0008,a6),-(sp)
  398. move.l a5,-(sp)
  399. addq.l #8,(sp)
  400. bsr.w L0006de
  401. addq.l #8,sp
  402. move.l d7,-(sp)
  403. move.l a5,d0
  404. add.l d5,d0
  405. move.l d0,-(sp)
  406. move.l d6,-(sp)
  407. bsr.w L000618
  408. lea.l ($000c,sp),sp
  409. cmp.l d7,d0
  410. bge.s L00040a
  411. pea.l (L000808,pc)
  412. bsr.w L000028
  413. addq.l #4,sp
  414. L00040a:
  415. move.l a5,-(sp)
  416. move.l d5,d0
  417. add.l d7,d0
  418. move.l d0,-(sp)
  419. move.l #$00000003,-(sp)
  420. bsr.w L00001e
  421. lea.l ($000c,sp),sp
  422. tst.l d0
  423. beq.s L00042e
  424. pea.l (L000933,pc)
  425. bsr.w L000028
  426. addq.l #4,sp
  427. L00042e:
  428. move.l a5,-(sp)
  429. bsr.w L000648
  430. addq.l #4,sp
  431. L000436:
  432. movem.l (sp)+,d4-d7/a5
  433. unlk a6
  434. rts
  435. L00043e:
  436. link.w a6,#-$0200
  437. movem.l d5-d7/a5,-(sp)
  438. moveq.l #$00,d6
  439. moveq.l #$00,d5
  440. clr.b (L0009a0)
  441. clr.b (L000aa0)
  442. pea.l (L00095a,pc)
  443. bsr.w L0005ec
  444. addq.l #4,sp
  445. bsr.w L000034
  446. move.l ($0008,a6),d0
  447. movea.l d0,a0
  448. moveq.l #$00,d0
  449. move.b (a0),d0
  450. tst.l d0
  451. bne.s L00047c
  452. pea.l (L000790,pc)
  453. bsr.w L000028
  454. addq.l #4,sp
  455. L00047c:
  456. move.l ($0008,a6),d0
  457. movea.l d0,a0
  458. cmpi.b #$2d,(a0) ;'-'
  459. beq.s L000494
  460. move.l ($0008,a6),d0
  461. movea.l d0,a0
  462. cmpi.b #$2f,(a0) ;'/'
  463. bne.s L0004e6
  464. L000494:
  465. addq.l #1,($0008,a6)
  466. move.l ($0008,a6),d0
  467. movea.l d0,a0
  468. moveq.l #$00,d0
  469. move.b (a0),d0
  470. or.l #$00000020,d0
  471. cmpi.l #$00000063,d0
  472. beq.s L0004e2
  473. cmpi.l #$00000065,d0
  474. beq.s L0004da
  475. cmpi.l #$00000070,d0
  476. beq.s L0004d6
  477. cmpi.l #$00000073,d0
  478. beq.s L0004de
  479. pea.l (L000790,pc)
  480. bsr.w L000028
  481. addq.l #4,sp
  482. L0004d2:
  483. bra.w L000584
  484. L0004d6:
  485. moveq.l #$04,d7
  486. bra.s L0004d2
  487. L0004da:
  488. moveq.l #$05,d7
  489. bra.s L0004d2
  490. L0004de:
  491. moveq.l #$06,d7
  492. bra.s L0004d2
  493. L0004e2:
  494. moveq.l #$07,d7
  495. bra.s L0004d2
  496. L0004e6:
  497. pea.l (L000984,pc)
  498. move.l ($0008,a6),-(sp)
  499. pea.l (-$0100,a6)
  500. bsr.w L0000a2
  501. lea.l ($000c,sp),sp
  502. tst.l d0
  503. bne.w L000582
  504. pea.l (-$0100,a6)
  505. pea.l (-$0200,a6)
  506. bsr.w L000666
  507. addq.l #8,sp
  508. tst.l d0
  509. bne.s L000520
  510. pea.l (L000987,pc)
  511. pea.l (-$0100,a6)
  512. bsr.w L000698
  513. addq.l #8,sp
  514. L000520:
  515. pea.l (-$0100,a6)
  516. bsr.w L00023a
  517. addq.l #4,sp
  518. pea.l (L00098c,pc)
  519. clr.l -(sp)
  520. pea.l (-$0100,a6)
  521. bsr.w L0000a2
  522. lea.l ($000c,sp),sp
  523. tst.l d0
  524. bne.s L00054e
  525. pea.l (-$0100,a6)
  526. pea.l (L000aa0,pc)
  527. bsr.w L0006de
  528. addq.l #8,sp
  529. L00054e:
  530. moveq.l #$00,d0
  531. move.b (L000aa0,pc),d0
  532. tst.l d0
  533. beq.s L000582
  534. pea.l (L000aa0,pc)
  535. pea.l (-$0200,a6)
  536. bsr.w L000666
  537. addq.l #8,sp
  538. tst.l d0
  539. bne.s L000578
  540. pea.l (L00098f,pc)
  541. pea.l (L000aa0,pc)
  542. bsr.w L000698
  543. addq.l #8,sp
  544. L000578:
  545. pea.l (L000aa0,pc)
  546. bsr.w L000358
  547. addq.l #4,sp
  548. L000582:
  549. moveq.l #$04,d7
  550. L000584:
  551. pea.l (L000994,pc)
  552. bsr.w L0005ec
  553. addq.l #4,sp
  554. moveq.l #$00,d0
  555. move.b (L0009a0,pc),d0
  556. tst.l d0
  557. beq.s L0005b6
  558. pea.l (L000996,pc)
  559. bsr.w L0005ec
  560. addq.l #4,sp
  561. pea.l (L0009a0,pc)
  562. bsr.w L0005ec
  563. addq.l #4,sp
  564. pea.l (L000998,pc)
  565. bsr.w L0005ec
  566. addq.l #4,sp
  567. L0005b6:
  568. move.l d7,d0
  569. subq.l #4,d0
  570. asl.l #2,d0
  571. lea.l (L000780,pc),a0
  572. adda.l d0,a0
  573. move.l (a0),-(sp)
  574. bsr.w L0005ec
  575. addq.l #4,sp
  576. move.l d7,-(sp)
  577. bsr.w L00001e
  578. addq.l #4,sp
  579. movem.l (sp)+,d5-d7/a5
  580. unlk a6
  581. rts
  582. L0005da:
  583. movea.l ($0004,sp),a1
  584. movea.l ($0008,sp),a2
  585. move.l ($000c,sp),d1
  586. IOCS _B_MEMSTR
  587. rts
  588. L0005ec:
  589. move.l ($0004,sp),-(sp)
  590. DOS _PRINT
  591. addq.l #4,sp
  592. rts
  593. L0005f6:
  594. move.w ($0006,sp),-(sp)
  595. DOS _FGETC
  596. addq.l #2,sp
  597. rts
  598. L000600:
  599. move.w ($0006,sp),-(sp)
  600. DOS _INTVCG
  601. addq.l #2,sp
  602. rts
  603. L00060a:
  604. move.w ($000a,sp),-(sp)
  605. move.l ($0006,sp),-(sp)
  606. DOS _OPEN
  607. addq.l #6,sp
  608. rts
  609. L000618:
  610. move.l ($000c,sp),-(sp)
  611. move.l ($000c,sp),-(sp)
  612. move.w ($000e,sp),-(sp)
  613. DOS _READ
  614. lea.l ($000a,sp),sp
  615. rts
  616. L00062c:
  617. move.w ($000e,sp),-(sp)
  618. move.l ($000a,sp),-(sp)
  619. move.w ($000c,sp),-(sp)
  620. DOS _SEEK
  621. addq.l #8,sp
  622. rts
  623. L00063e:
  624. move.l ($0004,sp),-(sp)
  625. DOS _MALLOC
  626. addq.l #4,sp
  627. rts
  628. L000648:
  629. move.l ($0004,sp),-(sp)
  630. DOS _MFREE
  631. addq.l #4,sp
  632. rts
  633. L000652:
  634. move.l ($000c,sp),-(sp)
  635. move.l ($000c,sp),-(sp)
  636. move.l ($000c,sp),-(sp)
  637. DOS _GETENV
  638. lea.l ($000c,sp),sp
  639. rts
  640. L000666:
  641. lea.l (-$0080,sp),sp
  642. move.l sp,-(sp)
  643. move.l ($008c,sp),-(sp)
  644. DOS _NAMECK
  645. addq.l #8,sp
  646. movea.l ($0084,sp),a0
  647. tst.l d0
  648. bmi.s L00068e
  649. lea.l ($0056,sp),a1
  650. tst.b (a1)+
  651. beq.s L00068e
  652. moveq.l #$ff,d0
  653. L000686:
  654. addq.l #1,d0
  655. move.b (a1)+,(a0)+
  656. bne.s L000686
  657. bra.s L000692
  658. L00068e:
  659. clr.b (a0)
  660. clr.l d0
  661. L000692:
  662. lea.l ($0080,sp),sp
  663. rts
  664. L000698:
  665. movem.l ($0004,sp),a0-a1
  666. move.l a0,d0
  667. L0006a0:
  668. tst.b (a0)+
  669. bne.s L0006a0
  670. subq.l #1,a0
  671. L0006a6:
  672. move.b (a1)+,(a0)+
  673. bne.s L0006a6
  674. rts
  675. L0006ac:
  676. movem.l ($0004,sp),a0-a1
  677. move.l a1,d0
  678. L0006b4:
  679. cmp.b (a0),d0
  680. beq.s L0006c0
  681. tst.b (a0)+
  682. bne.s L0006b4
  683. clr.l d0
  684. rts
  685. L0006c0:
  686. move.l a0,d0
  687. rts
  688. L0006c4:
  689. movem.l ($0004,sp),a0-a1
  690. clr.l d0
  691. clr.l d1
  692. L0006ce:
  693. move.b (a0)+,d0
  694. move.b (a1)+,d1
  695. beq.s L0006da
  696. sub.l d1,d0
  697. beq.s L0006ce
  698. rts
  699. L0006da:
  700. sub.l d1,d0
  701. rts
  702. L0006de:
  703. movem.l ($0004,sp),a0-a1
  704. move.l a0,d0
  705. L0006e6:
  706. move.b (a1)+,(a0)+
  707. bne.s L0006e6
  708. rts
  709. L0006ec:
  710. movea.l ($0004,sp),a0
  711. move.l a0,d0
  712. L0006f2:
  713. tst.b (a0)+
  714. bne.s L0006f2
  715. subq.l #1,a0
  716. exg.l d0,a0
  717. sub.l a0,d0
  718. rts
  719. L0006fe:
  720. clr.l d0
  721. movea.l ($0004,sp),a0
  722. movea.l ($0008,sp),a1
  723. move.l ($000c,sp),d2
  724. ble.s L000724
  725. clr.l d1
  726. L000710:
  727. move.b (a0)+,d0
  728. move.b (a1)+,d1
  729. beq.s L000722
  730. sub.l d1,d0
  731. bne.s L000724
  732. subq.l #1,d2
  733. bne.s L000710
  734. clr.l d0
  735. bra.s L000724
  736. L000722:
  737. sub.l d1,d0
  738. L000724:
  739. rts
  740. L000726:
  741. move.l #$0000c000,d2
  742. move.l ($0004,sp),d0
  743. bne.s L00073a
  744. move.l (L00077c),d0
  745. beq.s L00077a
  746. L00073a:
  747. movea.l ($0008,sp),a1
  748. movea.l a1,a2
  749. movea.l d0,a0
  750. L000742:
  751. movea.l a2,a1
  752. move.b (a0)+,d1
  753. beq.s L00076c
  754. L000748:
  755. cmp.b (a1),d1
  756. beq.s L00075c
  757. tst.b (a1)+
  758. bne.s L000748
  759. bclr.l #$0e,d2
  760. beq.s L000742
  761. move.l a0,d0
  762. subq.l #1,d0
  763. bra.s L000742
  764. L00075c:
  765. andi.w #$7fff,d2
  766. bne.s L000742
  767. move.l a0,(L00077c)
  768. clr.b -(a0)
  769. rts
  770. L00076c:
  771. clr.l (L00077c)
  772. btst.l #$0e,d2
  773. beq.s L00077a
  774. clr.l d0
  775. L00077a:
  776. rts
  777. L00077c:
  778. .dc.l $00000000
  779. .data
  780. L000780:
  781. .dc.l L000842
  782. .dc.l L000857
  783. .dc.l L00086c
  784. .dc.l L000881
  785. L000790:
  786. .dc.b '使い方: mxp {<コマンド>|<MDXファイル名> [PDXファイル名]}',$0d,$0a
  787. .dc.b $09,'-p 演奏開始',$0d,$0a
  788. .dc.b $09,'-e 演奏終了',$0d,$0a
  789. .dc.b $09,'-s 演奏中断',$0d,$0a
  790. .dc.b $09,'-c 演奏再開',$0d,$0a,$00,$00
  791. L000808:
  792. .dc.b $09,'ファイルが読み込めません。',$0d,$0a,$00
  793. L000826:
  794. .dc.b $09,'メモリが確保できません。',$0d,$0a,$00
  795. L000842:
  796. .dc.b '演奏を開始します。',$0d,$0a,$00
  797. L000857:
  798. .dc.b '演奏を終了します。',$0d,$0a,$00
  799. L00086c:
  800. .dc.b '演奏を中断します。',$0d,$0a,$00
  801. L000881:
  802. .dc.b '演奏を再開します。',$0d,$0a,$00
  803. L000896:
  804. .dc.b 'mxdrv',$00
  805. L00089c:
  806. .dc.b $09,'mxdrvが組み込まれていません。',$0d,$0a,$00
  807. L0008bd:
  808. .dc.b '200',$00
  809. L0008c1:
  810. .dc.b $09,'v2.00以上のmxdrvを使用してください。',$0d,$0a,$00
  811. L0008e9:
  812. .dc.b 'mxp',$00
  813. L0008ed:
  814. .dc.b $2c,$00
  815. L0008ef:
  816. .dc.b $2c,$00
  817. L0008f1:
  818. .dc.b $5c,$00
  819. L0008f3:
  820. .dc.b $09,$27,$00
  821. L0008f6:
  822. .dc.b $27,'が見つかりません。',$0d,$0a,$00
  823. L00090c:
  824. .dc.b $09,'MMLデータバッファが不足しています。',$0d,$0a,$00
  825. L000933:
  826. .dc.b $09,'PCMデータバッファが不足しています。',$0d,$0a,$00
  827. L00095a:
  828. .dc.b 'music player version 2.01 (c)1989 milk.',$0d,$0a,$00
  829. L000984:
  830. .dc.b $20,$09,$00
  831. L000987:
  832. .dc.b '.mdx',$00
  833. L00098c:
  834. .dc.b $20,$09,$00
  835. L00098f:
  836. .dc.b '.pdx',$00
  837. L000994:
  838. .dc.b $09,$00
  839. L000996:
  840. .dc.b $22,$00
  841. L000998:
  842. .dc.b '"の',$00
  843. .bss
  844. L00099c:
  845. .ds.l 1
  846. L0009a0:
  847. .ds.b 256
  848. L000aa0:
  849. .ds.b 16640
  850. L004ba0:
  851. .end L000000