Home > Demo Scene > In the past, everything was better!

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 Tags:
  1. No comments yet.
  1. No trackbacks yet.