Browse Source

Initial revision

ceriel 37 years ago
parent
commit
dd82e72cd1
59 changed files with 690 additions and 0 deletions
  1. 66 0
      mach/m68020/libsys/README
  2. 10 0
      mach/m68020/libsys/_exit.s
  3. 9 0
      mach/m68020/libsys/access.s
  4. 9 0
      mach/m68020/libsys/acct.s
  5. 10 0
      mach/m68020/libsys/alarm.s
  6. 25 0
      mach/m68020/libsys/brk.s
  7. 28 0
      mach/m68020/libsys/call.s
  8. 9 0
      mach/m68020/libsys/chdir.s
  9. 9 0
      mach/m68020/libsys/chmod.s
  10. 9 0
      mach/m68020/libsys/chown.s
  11. 9 0
      mach/m68020/libsys/chroot.s
  12. 12 0
      mach/m68020/libsys/cleanup.s
  13. 9 0
      mach/m68020/libsys/close.s
  14. 4 0
      mach/m68020/libsys/compmodule
  15. 9 0
      mach/m68020/libsys/creat.s
  16. 9 0
      mach/m68020/libsys/dup.s
  17. 10 0
      mach/m68020/libsys/dup2.s
  18. 9 0
      mach/m68020/libsys/errno.s
  19. 16 0
      mach/m68020/libsys/execl.s
  20. 9 0
      mach/m68020/libsys/execve.s
  21. 16 0
      mach/m68020/libsys/exit.s
  22. 9 0
      mach/m68020/libsys/fcntl.s
  23. 17 0
      mach/m68020/libsys/fork.s
  24. 9 0
      mach/m68020/libsys/fstat.s
  25. 9 0
      mach/m68020/libsys/ftime.s
  26. 11 0
      mach/m68020/libsys/getegid.s
  27. 10 0
      mach/m68020/libsys/getgid.s
  28. 10 0
      mach/m68020/libsys/getpid.s
  29. 10 0
      mach/m68020/libsys/getuid.s
  30. 9 0
      mach/m68020/libsys/gtty.s
  31. 9 0
      mach/m68020/libsys/ioctl.s
  32. 9 0
      mach/m68020/libsys/kill.s
  33. 9 0
      mach/m68020/libsys/link.s
  34. 9 0
      mach/m68020/libsys/lock.s
  35. 9 0
      mach/m68020/libsys/lseek.s
  36. 9 0
      mach/m68020/libsys/mknod.s
  37. 9 0
      mach/m68020/libsys/mount.s
  38. 9 0
      mach/m68020/libsys/nice.s
  39. 9 0
      mach/m68020/libsys/open.s
  40. 9 0
      mach/m68020/libsys/pause.s
  41. 18 0
      mach/m68020/libsys/pipe.s
  42. 10 0
      mach/m68020/libsys/profil.s
  43. 11 0
      mach/m68020/libsys/ptrace.s
  44. 9 0
      mach/m68020/libsys/read.s
  45. 9 0
      mach/m68020/libsys/setgid.s
  46. 9 0
      mach/m68020/libsys/setuid.s
  47. 22 0
      mach/m68020/libsys/signal.s
  48. 9 0
      mach/m68020/libsys/stat.s
  49. 10 0
      mach/m68020/libsys/stime.s
  50. 9 0
      mach/m68020/libsys/stty.s
  51. 10 0
      mach/m68020/libsys/sync.s
  52. 14 0
      mach/m68020/libsys/time.s
  53. 10 0
      mach/m68020/libsys/times.s
  54. 9 0
      mach/m68020/libsys/umask.s
  55. 9 0
      mach/m68020/libsys/umount.s
  56. 9 0
      mach/m68020/libsys/unlink.s
  57. 9 0
      mach/m68020/libsys/utime.s
  58. 15 0
      mach/m68020/libsys/wait.s
  59. 9 0
      mach/m68020/libsys/write.s

+ 66 - 0
mach/m68020/libsys/README

@@ -0,0 +1,66 @@
+	! Two system calls (gtty and stty) in the m68000 tail_mon library
+	! were not really system calls but they used _ioctl. The m68020 machine
+	! the table was tested on used real system calls, and we'll use
+	! them here.
+	! There were also three calls (ftime, lock and dup2) that were in the
+	! m68000 library, but were not included in the list of system calls
+	! for the m68020 that was given to me. We'll include them anyway.
+	! The original gtty and stty files are included here.
+	! Note however that the 68000 machine (the Mantra) needs the parameters
+	! to system calls in registers, while the m68020 machine this table was
+	! tested on wanted the parameters on the stack
+	!
+	! Also read the comments in the signal.s file!
+! -------------------  dup2.s
+! .define _dup2
+! .extern _dup2
+! .sect .text
+! .sect .rom
+! .sect .data
+! .sect .bss
+! .sect .text
+! _dup2:		move.w #0x29,d0
+! 		move.l (4,sp),a0
+! 		move.l (8,sp),d1
+! 		add.l #0x40,a0
+! 		jmp (call)
+!
+!
+! ! -------------------  gtty.s
+! .define _gtty
+! .extern _gtty
+! .sect .text
+! .sect .rom
+! .sect .data
+! .sect .bss
+! .sect .text
+! _gtty:
+! tst.b (-40,sp)
+! link	a6,#-0
+! move.l (12,a6),-(sp)
+! move.l #29704,-(sp)
+! move.l (8,a6),-(sp)
+! jsr (_ioctl)
+! add.l #12,sp
+! unlk a6
+! rts
+!
+!
+! ! -------------------  stty.s
+! .define _stty
+! .extern _stty
+! .sect .text
+! .sect .rom
+! .sect .data
+! .sect .bss
+! .sect .text
+! _stty:
+! tst.b (-40,sp)
+! link	a6,#-0
+! move.l (12,a6),-(sp)
+! move.l #29705,-(sp)
+! move.l (8,a6),-(sp)
+! jsr (_ioctl)
+! add.l #12,sp
+! unlk a6
+! rts

+ 10 - 0
mach/m68020/libsys/_exit.s

@@ -0,0 +1,10 @@
+.define __exit
+.extern __exit
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+__exit:		move.l #0x1,d0
+		trap #0
+		stop #0			! was there in 68020 routine

+ 9 - 0
mach/m68020/libsys/access.s

@@ -0,0 +1,9 @@
+.define _access
+.extern _access
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_access:	move.l #0x21,d0
+		jmp (callc)

+ 9 - 0
mach/m68020/libsys/acct.s

@@ -0,0 +1,9 @@
+.define _acct
+.extern _acct
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_acct:		move.l #0x33,d0
+		jmp (callc)

+ 10 - 0
mach/m68020/libsys/alarm.s

@@ -0,0 +1,10 @@
+.define _alarm
+.extern _alarm
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_alarm:		move.l #0x1B,d0
+		trap #0
+		rts

+ 25 - 0
mach/m68020/libsys/brk.s

@@ -0,0 +1,25 @@
+.define _brk
+.define _sbrk
+.extern _brk
+.extern _sbrk
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_sbrk:		move.l (.reghp),d0
+		add.l  d0,(4,sp)
+		move.l #0x11,d0
+		trap #0
+		bcs lcerror
+		move.l (.reghp),d0
+		move.l d0,a0
+		move.l (4,sp),(.reghp)
+		rts
+lcerror:	jmp (cerror)
+_brk:		move.l #0x11,d0
+		trap #0
+		bcs lcerror
+		move.l (4,sp),(.reghp)
+		clr.l d0
+		rts

+ 28 - 0
mach/m68020/libsys/call.s

@@ -0,0 +1,28 @@
+.define call
+.define callc
+.define calle
+.define cerror
+.extern call
+.extern callc
+.extern calle
+.extern cerror
+.extern _errno
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+call:		trap #0
+		bcs cerror
+		rts
+callc:
+		trap #0
+		bcs cerror
+		clr.l d0
+		rts
+calle:
+		trap #0
+cerror:
+		move.l d0,(_errno)
+		move.l #-1,d0
+		rts

+ 9 - 0
mach/m68020/libsys/chdir.s

@@ -0,0 +1,9 @@
+.define _chdir
+.extern _chdir
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_chdir:		move.l #0xC,d0
+		jmp (callc)

+ 9 - 0
mach/m68020/libsys/chmod.s

@@ -0,0 +1,9 @@
+.define _chmod
+.extern _chmod
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_chmod:		move.l #0xF,d0
+		jmp (callc)

+ 9 - 0
mach/m68020/libsys/chown.s

@@ -0,0 +1,9 @@
+.define _chown
+.extern _chown
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_chown:		move.l #0x10,d0
+		jmp (callc)

+ 9 - 0
mach/m68020/libsys/chroot.s

@@ -0,0 +1,9 @@
+.define _chroot
+.extern _chroot
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_chroot:	move.l #0x3D,d0
+		jmp (callc)

+ 12 - 0
mach/m68020/libsys/cleanup.s

@@ -0,0 +1,12 @@
+.define __cleanup
+.extern __cleanup
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+__cleanup:
+tst.b (-40,sp)
+link	a6,#-0
+unlk a6
+rts

+ 9 - 0
mach/m68020/libsys/close.s

@@ -0,0 +1,9 @@
+.define _close
+.extern _close
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_close:		move.l #0x6,d0
+		jmp (callc)

+ 4 - 0
mach/m68020/libsys/compmodule

@@ -0,0 +1,4 @@
+if ${MACH?} -c $1 1>&2
+then echo `basename $1 $2`.o
+else exit 1
+fi

+ 9 - 0
mach/m68020/libsys/creat.s

@@ -0,0 +1,9 @@
+.define _creat
+.extern _creat
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_creat:		move.l #0x8,d0
+		jmp (call)

+ 9 - 0
mach/m68020/libsys/dup.s

@@ -0,0 +1,9 @@
+.define _dup
+.extern _dup
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_dup:		move.l #0x29,d0
+		jmp (call)

+ 10 - 0
mach/m68020/libsys/dup2.s

@@ -0,0 +1,10 @@
+.define _dup2
+.extern _dup2
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_dup2:		move.l #0x29,d0
+		add.l #0x40,(4,sp)	! ???
+		jmp (call)

+ 9 - 0
mach/m68020/libsys/errno.s

@@ -0,0 +1,9 @@
+.define _errno
+.extern _errno
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .bss
+_errno:		.space 4
+.sect .text

+ 16 - 0
mach/m68020/libsys/execl.s

@@ -0,0 +1,16 @@
+.define _execl
+.extern _execl
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_execl:		link a6,#0
+		tst.b (-132,sp)
+		move.l (_environ),-(sp)
+		pea (12,sp)
+		move.l (8,a6),-(sp)
+		jsr (_execve)
+		add.l #0xC,sp
+		unlk a6
+		rts

+ 9 - 0
mach/m68020/libsys/execve.s

@@ -0,0 +1,9 @@
+.define _execve
+.extern _execve
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_execve:	move.l #0x3B,d0
+		jmp (calle)

+ 16 - 0
mach/m68020/libsys/exit.s

@@ -0,0 +1,16 @@
+.define _exit
+.extern _exit
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_exit:
+tst.b (-40,sp)
+link	a6,#-0
+jsr (__cleanup)
+move.l (8,a6),-(sp)
+jsr (__exit)
+add.l #4,sp
+unlk a6
+rts

+ 9 - 0
mach/m68020/libsys/fcntl.s

@@ -0,0 +1,9 @@
+.define _fcntl
+.extern _fcntl
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_fcntl:		move.l #0x3E,d0
+		jmp (callc)

+ 17 - 0
mach/m68020/libsys/fork.s

@@ -0,0 +1,17 @@
+.define _fork
+.extern _fork
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_fork:		move.l #0x2,d0
+		trap #0
+		bcc 1f		! 68020 way to do it
+		jmp (cerror)
+1:
+		tst.b d1
+		beq 2f
+		clr.l d0
+2:
+		rts

+ 9 - 0
mach/m68020/libsys/fstat.s

@@ -0,0 +1,9 @@
+.define _fstat
+.extern _fstat
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_fstat:		move.l	#0x1C,d0
+		jmp (callc)

+ 9 - 0
mach/m68020/libsys/ftime.s

@@ -0,0 +1,9 @@
+.define _ftime
+.extern _ftime
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_ftime:		move.l #0x23,d0
+		jmp (callc)

+ 11 - 0
mach/m68020/libsys/getegid.s

@@ -0,0 +1,11 @@
+.define _getegid
+.extern _getegid
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_getegid:	move.l #0x2F,d0
+		trap #0
+		move.l d1,d0
+		rts

+ 10 - 0
mach/m68020/libsys/getgid.s

@@ -0,0 +1,10 @@
+.define _getgid
+.extern _getgid
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_getgid:	move.l #0x2F,d0
+		trap #0
+		rts

+ 10 - 0
mach/m68020/libsys/getpid.s

@@ -0,0 +1,10 @@
+.define _getpid
+.extern _getpid
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_getpid:	move.l #0x14,d0
+		trap #0
+		rts

+ 10 - 0
mach/m68020/libsys/getuid.s

@@ -0,0 +1,10 @@
+.define _getuid
+.extern _getuid
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_getuid:	move.l #0x18,d0
+		trap #0
+		rts

+ 9 - 0
mach/m68020/libsys/gtty.s

@@ -0,0 +1,9 @@
+.define _gtty
+.extern _gtty
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_gtty:		move.l #0x20, d0
+		jmp (call)

+ 9 - 0
mach/m68020/libsys/ioctl.s

@@ -0,0 +1,9 @@
+.define _ioctl
+.extern _ioctl
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_ioctl:		move.l #0x36,d0
+		jmp (call)

+ 9 - 0
mach/m68020/libsys/kill.s

@@ -0,0 +1,9 @@
+.define _kill
+.extern _kill
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_kill:		move.l #0x25,d0
+		jmp (callc)

+ 9 - 0
mach/m68020/libsys/link.s

@@ -0,0 +1,9 @@
+.define _link
+.extern _link
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_link:		move.l #0x9,d0
+		jmp (callc)

+ 9 - 0
mach/m68020/libsys/lock.s

@@ -0,0 +1,9 @@
+.define _lock
+.extern _lock
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_lock:		move.l #0x35,d0
+		jmp (callc)

+ 9 - 0
mach/m68020/libsys/lseek.s

@@ -0,0 +1,9 @@
+.define _lseek
+.extern _lseek
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_lseek:		move.l #0x13,d0
+		jmp (call)

+ 9 - 0
mach/m68020/libsys/mknod.s

@@ -0,0 +1,9 @@
+.define _mknod
+.extern _mknod
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_mknod:		move.l #0xE,d0
+		jmp (callc)

+ 9 - 0
mach/m68020/libsys/mount.s

@@ -0,0 +1,9 @@
+.define _mount
+.extern _mount
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_mount:		move.l #0x15,d0
+		jmp (callc)

+ 9 - 0
mach/m68020/libsys/nice.s

@@ -0,0 +1,9 @@
+.define _nice
+.extern _nice
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_nice:		move.l #0x22,d0
+		jmp (call)

+ 9 - 0
mach/m68020/libsys/open.s

@@ -0,0 +1,9 @@
+.define _open
+.extern _open
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_open:		move.l #0x5,d0
+		jmp (call)

+ 9 - 0
mach/m68020/libsys/pause.s

@@ -0,0 +1,9 @@
+.define _pause
+.extern _pause
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_pause:		move.l #0x1D,d0
+		jmp (callc)

+ 18 - 0
mach/m68020/libsys/pipe.s

@@ -0,0 +1,18 @@
+.define _pipe
+.extern _pipe
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_pipe:		
+		move.l #0x2A,d0
+		trap #0
+		bcc 1f
+		jmp (cerror)
+1:
+		move.l (4,sp),a0
+		move.l d0,(a0)+
+		move.l d1,(a0)
+		clr.l d0
+		rts

+ 10 - 0
mach/m68020/libsys/profil.s

@@ -0,0 +1,10 @@
+.define _profil
+.extern _profil
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_profil:	move.l #0x2C,d0
+		trap #0
+		rts

+ 11 - 0
mach/m68020/libsys/ptrace.s

@@ -0,0 +1,11 @@
+.define _ptrace
+.extern _ptrace
+.extern _errno
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_ptrace:	move.l #0x1A,d0
+		clr.l  (_errno)
+		jmp (call)

+ 9 - 0
mach/m68020/libsys/read.s

@@ -0,0 +1,9 @@
+.define _read
+.extern _read
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_read:		move.l #0x3,d0
+		jmp (call)

+ 9 - 0
mach/m68020/libsys/setgid.s

@@ -0,0 +1,9 @@
+.define _setgid
+.extern _setgid
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_setgid:	move.l #0x2E,d0
+		jmp (callc)

+ 9 - 0
mach/m68020/libsys/setuid.s

@@ -0,0 +1,9 @@
+.define _setuid
+.extern _setuid
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_setuid:	move.l #0x17,d0
+		jmp (callc)

+ 22 - 0
mach/m68020/libsys/signal.s

@@ -0,0 +1,22 @@
+.define _signal
+.extern _signal
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_signal:
+	move.l	#0x30,d0
+	jmp	(callc)
+! NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
+!
+! Just as in the m68000 tail_mon library the acual signal system call
+! is not called directly by the user, but an `interface'. This `interface'
+! does the actual system call. On the m68020 machine the table was tested on
+! this `interface' did things that I did not understand, e.g. it called
+! a sytem call with number 38, called `_sysm68k'. I couldn't get the signal
+! system call get to work properly on that machine, but as it is clear
+! that this is in no way to blame to my back end table.
+! The system call as presented here does not reset the catch routine: a
+! signal that is caught by a user function will be caught every time, not
+! just once. I couldn't change this.

+ 9 - 0
mach/m68020/libsys/stat.s

@@ -0,0 +1,9 @@
+.define _stat
+.extern _stat
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_stat:		move.l #0x12,d0
+		jmp (callc)

+ 10 - 0
mach/m68020/libsys/stime.s

@@ -0,0 +1,10 @@
+.define _stime
+.extern _stime
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_stime:		move.l #0x19,d0
+		move.l ([4,sp]),(4,sp)
+		jmp (callc)

+ 9 - 0
mach/m68020/libsys/stty.s

@@ -0,0 +1,9 @@
+.define _stty
+.extern _stty
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_stty:		move.l #0x21, d0
+		jmp (call)

+ 10 - 0
mach/m68020/libsys/sync.s

@@ -0,0 +1,10 @@
+.define _sync
+.extern _sync
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_sync:		move.l #0x24,d0
+		trap #0
+		rts

+ 14 - 0
mach/m68020/libsys/time.s

@@ -0,0 +1,14 @@
+.define _time
+.extern _time
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_time:		move.l #0xD,d0
+		trap #0
+		tst.l (4,sp)
+		beq 1f
+		move.l d0,([4,sp])
+1:
+		rts

+ 10 - 0
mach/m68020/libsys/times.s

@@ -0,0 +1,10 @@
+.define _times
+.extern _times
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_times:		move.l #0x2B,d0
+		trap #0
+		jmp (call)

+ 9 - 0
mach/m68020/libsys/umask.s

@@ -0,0 +1,9 @@
+.define _umask
+.extern _umask
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_umask:		move.l #0x3C,d0
+		jmp (call)

+ 9 - 0
mach/m68020/libsys/umount.s

@@ -0,0 +1,9 @@
+.define _umount
+.extern _umount
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_umount:	move.l #0x16,d0
+		jmp (callc)

+ 9 - 0
mach/m68020/libsys/unlink.s

@@ -0,0 +1,9 @@
+.define _unlink
+.extern _unlink
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_unlink:	move.l #0xA,d0
+		jmp (callc)

+ 9 - 0
mach/m68020/libsys/utime.s

@@ -0,0 +1,9 @@
+.define _utime
+.extern _utime
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_utime:		move.l #0x1E,d0
+		jmp (callc)

+ 15 - 0
mach/m68020/libsys/wait.s

@@ -0,0 +1,15 @@
+.define _wait
+.extern _wait
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_wait:		move.l	#0x7,d0
+		trap #0
+		bcs cerror
+		tst.l (4,sp)
+		beq 1f
+		move.l d1,([4,sp])
+1:
+		rts

+ 9 - 0
mach/m68020/libsys/write.s

@@ -0,0 +1,9 @@
+.define _write
+.extern _write
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+_write:		move.l #0x4,d0
+		jmp (call)