file_routines.s 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808
  1. open equ -30
  2. close equ -36
  3. read equ -42
  4. forbid equ -132
  5. permit equ -138
  6. disable equ -120
  7. examine equ -$66
  8. setprogramdir equ -$252
  9. getprogramdir equ -$258
  10. MODE_OLD EQU 1005
  11. MODE_NEW EQU 1006
  12. DRUGS_TUNE_LENGTH EQU 20048
  13. RAPINA4_TUNE_LENGTH EQU 32834
  14. *---------------------------Loading routines----------------
  15. *************************************************
  16. **** FIND PROGRAM DIRECTORY *****
  17. *************************************************
  18. Find_Program_Directory
  19. move.l dosbase,a6
  20. jsr getprogramdir(a6)
  21. tst.l d0
  22. beq.s dont_move_dir
  23. move.l d0,d1 ;move to program dir
  24. move.l dosbase,a6
  25. jsr setprogramdir(a6)
  26. move.l d0,old_dir
  27. dont_move_dir
  28. rts
  29. *************************************************
  30. **** RESET TO OLD DIRECTORY *****
  31. *************************************************
  32. Reset_To_Old_Directory
  33. tst.l old_dir
  34. beq.s dont_reset_dir
  35. move.l old_dir,d1
  36. move.l dosbase,a6
  37. jsr setprogramdir(a6)
  38. dont_reset_dir
  39. rts
  40. old_dir dc.l 0
  41. *************************************************
  42. **** LOAD SOUND EFFECTS *****
  43. *************************************************
  44. Load_Sound_Effects
  45. movem.l a0-a6/d0-d7,-(sp)
  46. move.l #Normal_Sound_Filename,d1
  47. move.l #MODE_OLD,d2
  48. move.l dosbase,a6
  49. jsr Open(a6)
  50. tst.l d0
  51. beq could_not_load_fx
  52. move.l d0,-(sp)
  53. bsr Return_Norm_Fx_Size ;get bytes to load
  54. move.l (sp)+,d0
  55. move.l d1,d3 ; put in right reg
  56. move.l d0,d1 ; put handle in right reg
  57. move.l sfx_mem,d2 ; where to load
  58. move.l dosbase,a6
  59. move.l d1,-(sp)
  60. jsr READ(a6) ;read in normal sfx
  61. move.l (sp)+,d1
  62. move.l dosbase,a6
  63. jsr close(a6)
  64. *ok do we load any xtra fx
  65. cmp.w #OFF,xtra_fx
  66. beq.s no_more_data_to_load
  67. move.l #Extra_Sound_Filename,d1
  68. move.l #MODE_OLD,d2
  69. move.l dosbase,a6
  70. jsr Open(a6)
  71. tst.l d0
  72. beq.s could_not_load_fx
  73. move.l d0,-(sp)
  74. bsr Return_Norm_Fx_Size
  75. move.l sfx_mem,d2
  76. add.l d1,d2 ;get to proper place
  77. bsr Return_Extra_Fx_Size ;get bytes to load
  78. move.l (sp)+,d0
  79. move.l d1,d3 ; put in right reg
  80. move.l d0,d1 ; put handle in right reg
  81. move.l dosbase,a6
  82. move.l d1,-(sp)
  83. jsr READ(a6) ;read in normal sfx
  84. move.l (sp)+,d1
  85. move.l dosbase,a6
  86. jsr close(a6)
  87. no_more_data_to_load
  88. movem.l (sp)+,a0-a6/d0-d7
  89. rts
  90. could_not_load_fx
  91. move.w #$777,$dff180
  92. bra.s could_not_load_fx
  93. Normal_Sound_Filename
  94. ifd LOAD_FROM_HARD_DISK
  95. dc.b "scratch:Game_Files/"
  96. endc
  97. dc.b "snd.dat",0
  98. even
  99. Extra_Sound_Filename
  100. ifd LOAD_FROM_HARD_DISK
  101. dc.b "scratch:Game_Files/"
  102. endc
  103. dc.b "xsnd.dat",0
  104. even
  105. *************************************************
  106. **** LOAD BLOCK PAGE *****
  107. *************************************************
  108. Load_Block_Page
  109. movem.l a0-a6/d0-d7,-(sp)
  110. add.b #48,d0
  111. move.b d0,BlkPage_str+5 ;set up filename
  112. move.l Fast_Memory_Base,a0
  113. add.l #LO_RES_PLANE*4,a0 ;cos data is loaded into base of fast
  114. move.l #plane_positions,a1
  115. move.l a0,(a1)+ ;set up explode planes
  116. add.l #LO_RES_PLANE,a0
  117. move.l a0,(a1)+
  118. add.l #LO_RES_PLANE,a0
  119. move.l a0,(a1)+
  120. add.l #LO_RES_PLANE,a0
  121. move.l a0,(a1)+
  122. move.w #320,screen_size
  123. move.w #4,d7
  124. move.l #Background_Blocks_Filename,d1
  125. move.l #MODE_OLD,d2
  126. move.l dosbase,a6
  127. jsr Open(a6)
  128. tst.l d0
  129. beq.s could_not_load_blocks
  130. bsr Load_Graphics
  131. jsr Release_System ;Load graphics stops it!!
  132. movem.l (sp)+,a0-a6/d0-d7
  133. rts
  134. could_not_load_blocks
  135. move.w #$ff0,$dff180
  136. bra.s could_not_load_blocks
  137. BackGround_Blocks_Filename
  138. ifd LOAD_FROM_HARD_DISK
  139. dc.b "scratch:Game_Files/"
  140. endc
  141. BlkPage_Str
  142. dc.b "blkpgx.pic",0
  143. even
  144. *************************************************
  145. **** LOAD LOADER PIC *****
  146. *************************************************
  147. Load_Loader_Pic
  148. movem.l a0-a6/d0-d7,-(sp)
  149. move.l #Loader_Pic_Filename,d1
  150. move.l #MODE_OLD,d2
  151. move.l dosbase,a6
  152. jsr Open(a6)
  153. tst.l d0
  154. beq.s could_not_load_piccy
  155. move.l d0,d1
  156. move.l loader_pic_data,d2
  157. move.l #LOADER_PIC_SIZE,d3
  158. move.l dosbase,a6
  159. move.l d1,-(sp)
  160. jsr READ(a6) ;read in details
  161. move.l (sp)+,d1
  162. move.l dosbase,a6
  163. jsr close(a6)
  164. movem.l (sp)+,a0-a6/d0-d7
  165. rts
  166. could_not_load_piccy
  167. move.w #$f7f,$dff180
  168. bra.s could_not_load_piccy
  169. Loader_Pic_Filename
  170. ifd LOAD_FROM_HARD_DISK
  171. dc.b "scratch:Game_Files/"
  172. endc
  173. dc.b "nebula.pic",0
  174. even
  175. loader_pic_data dc.l 0
  176. *************************************************
  177. **** LOAD MAP FOR LEVEL *****
  178. *************************************************
  179. Load_Map_For_Level
  180. movem.l a0-a6/d0-d7,-(sp)
  181. bsr Wait_For_Blit_To_Finish
  182. jsr release_system
  183. move.b level_number,block_level
  184. move.l #Blocks_Filename,d1
  185. move.l #MODE_OLD,d2
  186. move.l dosbase,a6
  187. jsr Open(a6)
  188. tst.l d0
  189. beq.s couldnt_loadmap_it
  190. move.l d0,load_map_handle
  191. move.l load_map_handle,d1
  192. move.l #generic_map_header,d2
  193. move.l #14,d3
  194. move.l dosbase,a6
  195. jsr READ(a6) ;read in details
  196. move.l #generic_map_header,a0
  197. cmp.l #"COMP",map_file_header(a0)
  198. beq.s load_compressed_map_data
  199. move.w map_data_x(a0),d3
  200. mulu map_data_y(a0),d3
  201. mulu #3,d3
  202. bra.s load_the_map_data
  203. load_compressed_map_data
  204. move.l map_planes(a0),d3 ;actually map filesize for compressed
  205. load_the_map_data
  206. move.l load_map_handle,d1
  207. move.l memory_base,d2
  208. move.l dosbase,a6
  209. jsr READ(a6) ;read in all of data
  210. move.l dosbase,a6
  211. move.l load_map_handle,d1
  212. jsr close(a6)
  213. jsr stop_system
  214. movem.l (sp)+,a0-a6/d0-d7
  215. rts
  216. couldnt_loadmap_it
  217. move.w #$f00,$dff180
  218. bra.s couldnt_loadmap_it
  219. Blocks_Filename
  220. ifd LOAD_FROM_HARD_DISK
  221. dc.b "scratch:Game_Files/"
  222. endc
  223. dc.b "level"
  224. block_level
  225. dc.b 0
  226. dc.b ".cmp",0
  227. even
  228. load_map_handle dc.l 0
  229. *************************************************
  230. **** LOAD INTRO TUNE *****
  231. *************************************************
  232. Load_Intro_Tune
  233. jsr Release_System
  234. move.l #Title_Tune_Filename,d1
  235. move.l #MODE_OLD,d2
  236. move.l dosbase,a6
  237. jsr Open(a6)
  238. tst.l d0
  239. beq.s error_loading_title_tune
  240. move.l d0,tune_handle
  241. move.l d0,d1 ;read into map buffer area
  242. move.l memory_base,d2
  243. add.l #HI_RES_PLANE*4,d2
  244. move.l d2,current_song_ptr
  245. move.l #DRUGS_TUNE_LENGTH,d3
  246. move.l dosbase,a6
  247. jsr READ(a6)
  248. move.l dosbase,a6 ;thank you
  249. move.l tune_handle,d1
  250. jsr close(a6)
  251. jsr Stop_System
  252. error_loading_title_tune
  253. move.l #$dff000,a6
  254. rts
  255. *************************************************
  256. **** LOAD SHOP SCREEN TUNE *****
  257. *************************************************
  258. Load_Shop_Screen_Tune
  259. jsr Release_System
  260. move.l #HiScore_Tune_Filename,d1
  261. move.l #MODE_OLD,d2
  262. move.l dosbase,a6
  263. jsr Open(a6)
  264. tst.l d0
  265. beq.s error_loading_hiscore_tune
  266. move.l d0,tune_handle
  267. move.l d0,d1 ;read into map buffer area
  268. move.l memory_base,d2
  269. add.l #(LO_RES_PLANE*5)+40*PRODUCT_LIST_WINDOW_LENGTH+SHOP_SPRITES_LENGTH,d2
  270. move.l d2,current_song_ptr
  271. move.l #RAPINA4_TUNE_LENGTH,d3
  272. move.l dosbase,a6
  273. jsr READ(a6)
  274. move.l dosbase,a6 ;thank you
  275. move.l tune_handle,d1
  276. jsr close(a6)
  277. jsr Stop_System
  278. error_loading_hiscore_tune
  279. move.l #$dff000,a6
  280. rts
  281. tune_handle dc.l 0
  282. Title_Tune_Filename
  283. ifd LOAD_FROM_HARD_DISK
  284. dc.b "scratch:Game_Files/"
  285. endc
  286. dc.b "mod.drugs1",0
  287. even
  288. HiScore_Tune_Filename
  289. ifd LOAD_FROM_HARD_DISK
  290. dc.b "scratch:Game_Files/"
  291. endc
  292. dc.b "mod.rapina4",0
  293. even
  294. *************************************************
  295. **** LOAD TITLE PICTURE *****
  296. *************************************************
  297. Load_Title_Picture
  298. *set up information
  299. move.l memory_base,a0
  300. move.l #plane_positions,a1
  301. move.w #4-1,d1
  302. set_up_pic_planes
  303. move.l a0,(a1)+
  304. add.l #HI_RES_PLANE,a0
  305. dbra d1,set_up_pic_planes
  306. move.w #640,screen_size
  307. move.w #4,d7 ; no of planes
  308. tst title_pic_loaded
  309. beq.s load_the_pic
  310. bsr display_the_picture
  311. rts
  312. load_the_pic
  313. move.w #1,title_pic_loaded
  314. move.l a6,-(sp)
  315. jsr Release_System
  316. move.l #Title_Picture_Filename,d1
  317. move.l #MODE_OLD,d2
  318. move.l dosbase,a6
  319. jsr Open(a6)
  320. tst.l d0
  321. beq.s error_loading_picture
  322. bsr Load_Graphics
  323. move.l (sp)+,a6
  324. rts
  325. error_loading_picture
  326. move.w #$f,$dff180
  327. bra.s error_loading_picture
  328. *************************************************
  329. **** LOAD INSTRUCTIONS PICTURE *****
  330. *************************************************
  331. Load_Instructions_Picture
  332. *set up information
  333. move.l memory_base,a0
  334. add.l #TUBE_PLANE_SIZE*6,a0 ;get past buffers!!
  335. move.l #plane_positions,a1
  336. move.l a0,(a1)+
  337. add.l #LO_RES_PLANE,a0
  338. move.l a0,(a1)+
  339. add.l #LO_RES_PLANE,a0
  340. move.l a0,(a1)+
  341. move.w #320,screen_size
  342. move.w #3,d7
  343. move.l a6,-(sp)
  344. jsr Release_System
  345. move.l #Instructions_Picture_Filename,d1
  346. move.l #MODE_OLD,d2
  347. move.l dosbase,a6
  348. jsr Open(a6)
  349. tst.l d0
  350. beq.s error_loading_instr
  351. bsr Load_Graphics
  352. move.l (sp)+,a6
  353. rts
  354. error_loading_instr
  355. move.w #$0ff,$dff180
  356. bra.s error_loading_instr
  357. Instructions_Picture_Filename
  358. ifd LOAD_FROM_HARD_DISK
  359. dc.b "scratch:Game_Files/"
  360. endc
  361. dc.b "Instructions.pic",0
  362. even
  363. *************************************************
  364. **** LOAD END GAME PICTURE *****
  365. *************************************************
  366. Load_EndGame_Picture
  367. move.l memory_base,a0
  368. move.l #plane_positions,a1
  369. move.w #5-1,d0
  370. insert_endgame_planes
  371. move.l a0,(a1)+
  372. add.l #LO_RES_PLANE,a0
  373. dbra d0,insert_endgame_planes
  374. move.w #320,screen_size
  375. move.w #5,d7
  376. move.l a6,-(sp)
  377. jsr Release_System
  378. move.l #Endgame_Picture_Filename,d1
  379. move.l #MODE_OLD,d2
  380. move.l dosbase,a6
  381. jsr Open(a6)
  382. tst.l d0
  383. beq.s error_loading_endgame
  384. bsr Load_Graphics
  385. move.l (sp)+,a6
  386. rts
  387. error_loading_endgame
  388. move.w #$0ff,$dff180
  389. bra.s error_loading_endgame
  390. EndGame_Picture_Filename
  391. ifd LOAD_FROM_HARD_DISK
  392. dc.b "scratch:Game_Files/"
  393. endc
  394. dc.b "EndGame.pic",0
  395. even
  396. *************************************************
  397. **** LOAD SHOP PICTURE *****
  398. *************************************************
  399. Load_Shop_Picture
  400. *set up information
  401. move.l memory_base,a0
  402. move.l #plane_positions,a1
  403. move.w #5-1,d1
  404. set_shop_pic_planes
  405. move.l a0,(a1)+
  406. add.l #LO_RES_PLANE,a0
  407. dbra d1,set_shop_pic_planes
  408. move.w #320,screen_size
  409. move.w #5,d7
  410. move.l a6,-(sp)
  411. jsr Release_System
  412. move.l #Shop_Picture_Filename,d1
  413. move.l #MODE_OLD,d2
  414. move.l dosbase,a6
  415. jsr Open(a6)
  416. tst.l d0
  417. beq.s error_loading_shop
  418. bsr Load_Graphics
  419. move.l (sp)+,a6
  420. rts
  421. error_loading_shop
  422. move.w #$f0f,$dff180
  423. bra.s error_loading_shop
  424. Shop_Picture_Filename
  425. ifd LOAD_FROM_HARD_DISK
  426. dc.b "scratch:Game_Files/"
  427. endc
  428. dc.b "Shop_Scr.pic",0
  429. even
  430. ********************************
  431. **** LOAD GRAPHICS *****
  432. ********************************
  433. load_graphics
  434. *send in file handle in d0
  435. *returns pointer to struct containing pic mem pointers in a0
  436. move.l d0,graphics_handle
  437. move.l graphics_handle,d1 ;read size of file
  438. move.l #buffer,d2
  439. move.l #4,d3
  440. move.l dosbase,a6
  441. jsr READ(a6)
  442. move.l buffer_map_memory,d2
  443. move.l buffer,d3
  444. move.l graphics_handle,d1
  445. move.l dosbase,a6
  446. jsr READ(a6) ;read in all data
  447. move.l buffer_map_memory,picture_details
  448. move.l dosbase,a6 ;thank you
  449. move.l graphics_handle,d1
  450. jsr close(a6)
  451. jsr Stop_System ;turn off tasking
  452. move.l picture_details,a1
  453. move.w iff_cols(a1),num_of_cols
  454. move.l a1,colour_map_ptr
  455. add.l #size_of_iff_header,colour_map_ptr
  456. move.w iff_cols(a1),d0
  457. ext.l d0
  458. asl d0
  459. move.l colour_map_ptr,picture_data
  460. add.l d0,picture_data
  461. move.l pic_data_size(a1),size_of_pic
  462. *I know this is crap - but time is short
  463. tst.w FadeAfterLoading
  464. beq Display_The_Picture
  465. clr.w FadeAfterLoading
  466. move.l #$dff000,a6
  467. movem.l d0-d7/a0-a6,-(sp)
  468. tst level_loading_flag
  469. beq.s not_level_cols
  470. move.l loader_pic_data,a0
  471. add.l #size_of_iff_header+4,a0
  472. clr.w level_loading_flag
  473. move.l #black_list,a1
  474. move.l #share_cols+2,a2
  475. move.w #16-1,d7
  476. move.l #store_text_nums,a3
  477. move.w #2,fade_speed
  478. bsr Fade_32_List_To_List
  479. bra.s skip_16_fade
  480. not_level_cols
  481. move.l #game_list,a0
  482. fade_the_cols
  483. move.l #black_list,a1
  484. move.l #share_cols+2,a2
  485. move.w #16-1,d7
  486. move.l #store_text_nums,a3
  487. move.w #2,fade_speed
  488. bsr Fade_List_To_List
  489. skip_16_fade
  490. movem.l (sp)+,d0-d7/a0-a6
  491. move.w #BIT_PLANE_DMA+SPRITE_DMA,$dff000+DMACON
  492. Display_The_Picture
  493. **set up pointers and variables so decompression is super quick
  494. moveq #0,d3 ;index into plane table
  495. move.w screen_size,d4 ;screen x size
  496. asl #2,d7 ;number of planes ( *4 cos compare d3 with it - will inc by 4)
  497. move.w d4,d6 ; pixel count size ( count down )
  498. move.l picture_details,a3
  499. move.w RWIDTH(a3),d5 ; image loaded size
  500. add.w #15,d5
  501. andi.w #$fff0,d5
  502. move.l #plane_positions,a2
  503. moveq #0,d0 ;clear
  504. move.l (a2,d3),a4 ;get first plane
  505. move.l size_of_pic,d2
  506. ***Finished setup
  507. move.l picture_data,a1
  508. move.l picture_details,a0
  509. cmp.b #0,comp_type(a0)
  510. beq.s call_uncom
  511. bsr compressed_data
  512. bra.s finished_uncom
  513. call_uncom
  514. bsr uncompressed_data
  515. finished_uncom
  516. rts
  517. compressed_data
  518. move.b (a1)+,d0 ;pointer to pic data
  519. subq.l #1,d2
  520. move.b d0,d1
  521. bmi repeat_data
  522. addq.b #1,d1
  523. bra.s read_and_insert
  524. loop_read
  525. tst.l d2
  526. bgt.s compressed_data
  527. rts
  528. read_and_insert
  529. move.b (a1)+,(a4)+ ;pointer to pic data
  530. subq.l #1,d2
  531. subq.b #1,d1
  532. subq.w #8,d6 ;pixel count
  533. bne.s dont_up_p1
  534. bsr Update_Planes
  535. dont_up_p1
  536. tst.b d1
  537. bne.s read_and_insert
  538. bra loop_read
  539. repeat_data
  540. cmp.b #-128,d1
  541. bne.s do_something
  542. subq.l #1,d2
  543. bgt.s loop_read
  544. rts
  545. do_something
  546. neg.b d1
  547. addq.b #1,d1
  548. move.b (a1)+,d0 ;pointer to pic data
  549. subq.l #1,d2
  550. repeat_loop
  551. move.b d0,(a4)+
  552. subq.w #8,d6
  553. bne.s dont_update_p2
  554. bsr Update_Planes
  555. dont_update_p2
  556. subq.b #1,d1
  557. bne.s repeat_loop
  558. bra.s loop_read
  559. uncompressed_data
  560. move.b (a1)+,(a4)+ ;pointer to pic data
  561. subq.w #8,d6 ;pixel count
  562. bne.s dont_update_uncom_planes
  563. bsr Update_Planes
  564. dont_update_uncom_planes
  565. subq.l #1,d2
  566. bgt.s uncompressed_data
  567. rts
  568. ********************************
  569. **** UPDATE PLANES *****
  570. ********************************
  571. update_planes
  572. move.l a4,(a2,d3)
  573. move.w d4,d6
  574. addq.w #4,d3
  575. cmp.w d7,d3 ;compare curent plane with number of planes
  576. bne.s not_done_yet
  577. clr.l d3
  578. not_done_yet
  579. move.l (a2,d3),a4
  580. rts
  581. ********************************
  582. **** INSERT COLS *****
  583. ********************************
  584. insert_cols
  585. ***send place to put palette in a0
  586. movem.l d5/a0-a1,-(sp)
  587. move.w num_of_cols,d5
  588. sub.w #1,d5
  589. move.l colour_map_ptr,a1
  590. insert_dpaint_colours
  591. move.w (a1)+,(a0)
  592. addq.l #4,a0 ;skip next copper instruction
  593. dbra d5,insert_dpaint_colours
  594. movem.l (sp)+,d5/a0-a1
  595. rts
  596. colour_map_ptr dc.l 0
  597. plane_positions ds.l 5
  598. screen_size dc.w 0
  599. graphics_handle dc.l 0
  600. picture_details dc.l 0
  601. picture_data dc.l 0
  602. header_size dc.l 0
  603. colour_map_pointer dc.l 0
  604. number_of_cols dc.l 0
  605. size_of_pic dc.l 0
  606. num_of_cols dc.w 0
  607. buffer ds.l 1
  608. Title_Picture_Filename
  609. ifd LOAD_FROM_HARD_DISK
  610. dc.b "scratch:Game_Files/"
  611. endc
  612. dc.b "AlienBashTitle.pic",0
  613. even
  614. *************************************************
  615. **** OPEN DOS *****
  616. *************************************************
  617. Open_Dos
  618. move.l exec,a6 ;open dos lib
  619. lea DosLib,a1
  620. clr.l d0
  621. jsr -408(A6)
  622. move.l d0,DosBase
  623. rts
  624. *************************************************
  625. **** CLOSE DOS *****
  626. *************************************************
  627. Close_Dos
  628. move.l 4,a6
  629. move.l dosbase,a1
  630. jsr -414(a6) ;close dos
  631. rts
  632. dosbase dc.l 0
  633. doslib dc.b "dos.library",0
  634. even
  635. rsreset
  636. RWIDTH rs.W 1
  637. RHEIGHT rs.W 1
  638. NUMPLANES rs.b 1
  639. comp_type rs.b 1
  640. iff_cols rs.w 1
  641. pic_data_size rs.l 1
  642. size_of_iff_header rs.l 1
  643. EVEN