In the past, everything was better!
Really? Lets see …
How many lines of code do you need for opening a file and read its content? Here is an example in Motorola 68000 Assembler and AmigaOS.
Load_Files: ; lock the file move.l dosbase,a6 lea gfxfile_fn,a0 ; filename c-string move.l a0,d1 move.l #ACCESS_READ,d2 jsr _LVOLock(a6) ; get lock to our file tst.l d0 beq.b .error ; get a fileinfoblock of it move.l d0,gfxfile_lock ; save for later use move.l d0,d1 lea myFib,a0 ; ptr to our FileInfoBlock move.l a0,d2 jsr _LVOExamine(a6) ; release the lock move.l gfxfile_lock,d1 jsr _LVOUnLock(a6) ; unlock it ; allocate memory (chipmem in this case) lea myFib,a0 move.l fib_Size(a0),gfxfile_size ; size of file in bytes move.l fib_Size(a0),d0 move.l #MEMF_CHIP|MEMF_CLEAR,d1 ; cleared chipmem jsr myAllocMem move.l d0,gfx_mem ; open file lea gfxfile_fn,a0 ; filename c-string move.l a0,d1 move.l #MODE_OLDFILE,d2 jsr _LVOOpen(a6) move.l d0,gfxfile_handle ; read file in to memory move.l d0,d1 move.l gfx_mem,d2 move.l gfxfile_size,d3 jsr _LVORead(a6) ; close the file move.l gfxfile_handle,d1 jsr _LVOClose(a6) .error: rts
Categories: Demo Scene