Motorola 68000 Oral History Panel

Clocking in at just under three hours, I haven’t watched it, so no review I just found out about it.

Published on 2 Aug 2016

Moderated by Dave House, on 2007-07-23 in Austin, Texas, X4145.2008
© Computer History Museum

Panelists:Jack Browne, Murray Goldman, Thomas Gunter, Van Shahan, Billy D. Walker.

Members of the management, design, manufacturing, and marketing teams responsible for Motorola’s 68000 family of microprocessors and peripheral products discuss the evolution of their activities from the 1970s through the 1990s. The 68000 microprocessor line was critical to emergence of the workstation class of computer systems as well as to Apple Computer’s line of personal computers across the 1980s.

Murray Goldman, the executive who lead this segment of Motorola, describes the background for and strategy surrounding the 68000 effort. Thomas Gunter, who directed the 68000 program, provides a detailed technical accounting of the developments. Jack Browne, who led the marketing function, describes the importance of customer interactions. Bill Walker, who led the manufacturing function, details the hurdles faced in fabricating the 68000 family. Van Shahan, a member of the design team, lends important perspectives on the changes that the 68000 helped bring about from the era of centralized computing to decentralized and personal computing.

Visit for more information about the Computer History Museum’s Oral History Collection.

Lot Number: X4145.2008
Catalog Number: 102658109


D:\aoutgcc\tahoe\GENERIC>gcc -v
gcc version 1.40

D:\aoutgcc\tahoe\GENERIC>make 2> err.txt
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../kdb/kdb_access.c
cat kdb_access.s | a386 -o kdb_access.o
rm -f kdb_access.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../kdb/kdb_command.c
cat kdb_command.s | a386 -o kdb_command.o
rm -f kdb_command.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../kdb/kdb_ctype.c
cat kdb_ctype.s | a386 -o kdb_ctype.o
rm -f kdb_ctype.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../kdb/kdb_expr.c
cat kdb_expr.s | a386 -o kdb_expr.o
rm -f kdb_expr.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../kdb/kdb_format.c
cat kdb_format.s | a386 -o kdb_format.o
rm -f kdb_format.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../kdb/kdb_input.c
cat kdb_input.s | a386 -o kdb_input.o
rm -f kdb_input.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../kdb/kdb_message.c
cat kdb_message.s | a386 -o kdb_message.o
rm -f kdb_message.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../kdb/kdb_output.c
cat kdb_output.s | a386 -o kdb_output.o
rm -f kdb_output.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../kdb/kdb_pcs.c
cat kdb_pcs.s | a386 -o kdb_pcs.o
rm -f kdb_pcs.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../kdb/kdb_print.c
cat kdb_print.s | a386 -o kdb_print.o
rm -f kdb_print.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../kdb/kdb_runpcs.c
cat kdb_runpcs.s | a386 -o kdb_runpcs.o
rm -f kdb_runpcs.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../kdb/kdb_sym.c
cat kdb_sym.s | a386 -o kdb_sym.o
rm -f kdb_sym.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../kdb/kdb_trap.c
cat kdb_trap.s | a386 -o kdb_trap.o
rm -f kdb_trap.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../net/af.c
cat af.s | a386 -o af.o
rm -f af.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../net/if.c
cat if.s | a386 -o if.o
rm -f if.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../net/if_loop.c
cat if_loop.s | a386 -o if_loop.o
rm -f if_loop.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../net/raw_cb.c
cat raw_cb.s | a386 -o raw_cb.o
rm -f raw_cb.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../net/raw_usrreq.c
cat raw_usrreq.s | a386 -o raw_usrreq.o
rm -f raw_usrreq.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../net/route.c
cat route.s | a386 -o route.o
rm -f route.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netinet/if_ether.c
cat if_ether.s | a386 -o if_ether.o
rm -f if_ether.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netinet/in.c
cat in.s | a386 -o in.o
rm -f in.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netinet/in_pcb.c
cat in_pcb.s | a386 -o in_pcb.o
rm -f in_pcb.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netinet/in_proto.c
cat in_proto.s | a386 -o in_proto.o
rm -f in_proto.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netinet/ip_icmp.c
cat ip_icmp.s | a386 -o ip_icmp.o
rm -f ip_icmp.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netinet/ip_input.c
cat ip_input.s | a386 -o ip_input.o
rm -f ip_input.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netinet/ip_output.c
cat ip_output.s | a386 -o ip_output.o
rm -f ip_output.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netinet/raw_ip.c
cat raw_ip.s | a386 -o raw_ip.o
rm -f raw_ip.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netinet/tcp_debug.c
cat tcp_debug.s | a386 -o tcp_debug.o
rm -f tcp_debug.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netinet/tcp_input.c
cat tcp_input.s | a386 -o tcp_input.o
rm -f tcp_input.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netinet/tcp_output.c
cat tcp_output.s | a386 -o tcp_output.o
rm -f tcp_output.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netinet/tcp_subr.c
cat tcp_subr.s | a386 -o tcp_subr.o
rm -f tcp_subr.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netinet/tcp_timer.c
cat tcp_timer.s | a386 -o tcp_timer.o
rm -f tcp_timer.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netinet/tcp_usrreq.c
cat tcp_usrreq.s | a386 -o tcp_usrreq.o
rm -f tcp_usrreq.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netinet/udp_usrreq.c
cat udp_usrreq.s | a386 -o udp_usrreq.o
rm -f udp_usrreq.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netns/idp_usrreq.c
cat idp_usrreq.s | a386 -o idp_usrreq.o
rm -f idp_usrreq.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netns/ns.c
cat ns.s | a386 -o ns.o
rm -f ns.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netns/ns_error.c
cat ns_error.s | a386 -o ns_error.o
rm -f ns_error.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netns/ns_ip.c
cat ns_ip.s | a386 -o ns_ip.o
rm -f ns_ip.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netns/ns_input.c
cat ns_input.s | a386 -o ns_input.o
rm -f ns_input.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netns/ns_output.c
cat ns_output.s | a386 -o ns_output.o
rm -f ns_output.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netns/ns_pcb.c
cat ns_pcb.s | a386 -o ns_pcb.o
rm -f ns_pcb.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netns/ns_proto.c
cat ns_proto.s | a386 -o ns_proto.o
rm -f ns_proto.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netns/spp_debug.c
cat spp_debug.s | a386 -o spp_debug.o
rm -f spp_debug.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netns/spp_usrreq.c
cat spp_usrreq.s | a386 -o spp_usrreq.o
rm -f spp_usrreq.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/init_main.c
cat init_main.s | a386 -o init_main.o
rm -f init_main.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/init_sysent.c
cat init_sysent.s | a386 -o init_sysent.o
rm -f init_sysent.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/kern_acct.c
cat kern_acct.s | a386 -o kern_acct.o
rm -f kern_acct.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/kern_clock.c
cat kern_clock.s | a386 -o kern_clock.o
rm -f kern_clock.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/kern_descrip.c
cat kern_descrip.s | a386 -o kern_descrip.o
rm -f kern_descrip.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/kern_exec.c
cat kern_exec.s | a386 -o kern_exec.o
rm -f kern_exec.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/kern_exit.c
cat kern_exit.s | a386 -o kern_exit.o
rm -f kern_exit.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/kern_fork.c
cat kern_fork.s | a386 -o kern_fork.o
rm -f kern_fork.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/kern_malloc.c
cat kern_malloc.s | a386 -o kern_malloc.o
rm -f kern_malloc.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/kern_mman.c
cat kern_mman.s | a386 -o kern_mman.o
rm -f kern_mman.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/kern_proc.c
cat kern_proc.s | a386 -o kern_proc.o
rm -f kern_proc.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/kern_prot.c
cat kern_prot.s | a386 -o kern_prot.o
rm -f kern_prot.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/kern_resource.c
cat kern_resource.s | a386 -o kern_resource.o
rm -f kern_resource.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/kern_sig.c
cat kern_sig.s | a386 -o kern_sig.o
rm -f kern_sig.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/kern_subr.c
cat kern_subr.s | a386 -o kern_subr.o
rm -f kern_subr.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/kern_synch.c
cat kern_synch.s | a386 -o kern_synch.o
rm -f kern_synch.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/kern_time.c
cat kern_time.s | a386 -o kern_time.o
rm -f kern_time.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/kern_xxx.c
cat kern_xxx.s | a386 -o kern_xxx.o
rm -f kern_xxx.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/quota_kern.c
cat quota_kern.s | a386 -o quota_kern.o
rm -f quota_kern.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/quota_subr.c
cat quota_subr.s | a386 -o quota_subr.o
rm -f quota_subr.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/quota_sys.c
cat quota_sys.s | a386 -o quota_sys.o
rm -f quota_sys.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/quota_ufs.c
cat quota_ufs.s | a386 -o quota_ufs.o
rm -f quota_ufs.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/subr_log.c
cat subr_log.s | a386 -o subr_log.o
rm -f subr_log.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/subr_prf.c
cat subr_prf.s | a386 -o subr_prf.o
rm -f subr_prf.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/subr_rmap.c
cat subr_rmap.s | a386 -o subr_rmap.o
rm -f subr_rmap.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/subr_xxx.c
cat subr_xxx.s | a386 -o subr_xxx.o
rm -f subr_xxx.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/sys_generic.c
cat sys_generic.s | a386 -o sys_generic.o
rm -f sys_generic.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/sys_inode.c
cat sys_inode.s | a386 -o sys_inode.o
rm -f sys_inode.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/sys_process.c
cat sys_process.s | a386 -o sys_process.o
rm -f sys_process.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/sys_socket.c
cat sys_socket.s | a386 -o sys_socket.o
rm -f sys_socket.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/tty.c
cat tty.s | a386 -o tty.o
rm -f tty.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/tty_conf.c
cat tty_conf.s | a386 -o tty_conf.o
rm -f tty_conf.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/tty_pty.c
cat tty_pty.s | a386 -o tty_pty.o
rm -f tty_pty.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/tty_subr.c
cat tty_subr.s | a386 -o tty_subr.o
rm -f tty_subr.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/tty_tty.c
cat tty_tty.s | a386 -o tty_tty.o
rm -f tty_tty.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/ufs_alloc.c
cat ufs_alloc.s | a386 -o ufs_alloc.o
rm -f ufs_alloc.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/ufs_bio.c
cat ufs_bio.s | a386 -o ufs_bio.o
rm -f ufs_bio.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/ufs_bmap.c
cat ufs_bmap.s | a386 -o ufs_bmap.o
rm -f ufs_bmap.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/ufs_disksubr.c
cat ufs_disksubr.s | a386 -o ufs_disksubr.o
rm -f ufs_disksubr.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/ufs_fio.c
cat ufs_fio.s | a386 -o ufs_fio.o
rm -f ufs_fio.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/ufs_inode.c
cat ufs_inode.s | a386 -o ufs_inode.o
rm -f ufs_inode.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/ufs_mount.c
cat ufs_mount.s | a386 -o ufs_mount.o
rm -f ufs_mount.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/ufs_namei.c
cat ufs_namei.s | a386 -o ufs_namei.o
rm -f ufs_namei.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/ufs_subr.c
cat ufs_subr.s | a386 -o ufs_subr.o
rm -f ufs_subr.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/ufs_syscalls.c
cat ufs_syscalls.s | a386 -o ufs_syscalls.o
rm -f ufs_syscalls.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/ufs_tables.c
cat ufs_tables.s | a386 -o ufs_tables.o
rm -f ufs_tables.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/ufs_xxx.c
cat ufs_xxx.s | a386 -o ufs_xxx.o
rm -f ufs_xxx.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/uipc_domain.c
cat uipc_domain.s | a386 -o uipc_domain.o
rm -f uipc_domain.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/uipc_mbuf.c
cat uipc_mbuf.s | a386 -o uipc_mbuf.o
rm -f uipc_mbuf.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/uipc_proto.c
cat uipc_proto.s | a386 -o uipc_proto.o
rm -f uipc_proto.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/uipc_socket.c
cat uipc_socket.s | a386 -o uipc_socket.o
rm -f uipc_socket.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/uipc_socket2.c
cat uipc_socket2.s | a386 -o uipc_socket2.o
rm -f uipc_socket2.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/uipc_syscalls.c
cat uipc_syscalls.s | a386 -o uipc_syscalls.o
rm -f uipc_syscalls.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/uipc_usrreq.c
cat uipc_usrreq.s | a386 -o uipc_usrreq.o
rm -f uipc_usrreq.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/vm_drum.c
cat vm_drum.s | a386 -o vm_drum.o
rm -f vm_drum.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/vm_mem.c
cat vm_mem.s | a386 -o vm_mem.o
rm -f vm_mem.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/vm_mon.c
cat vm_mon.s | a386 -o vm_mon.o
rm -f vm_mon.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/vm_page.c
cat vm_page.s | a386 -o vm_page.o
rm -f vm_page.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/vm_proc.c
cat vm_proc.s | a386 -o vm_proc.o
rm -f vm_proc.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/vm_pt.c
cat vm_pt.s | a386 -o vm_pt.o
rm -f vm_pt.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/vm_sched.c
cat vm_sched.s | a386 -o vm_sched.o
rm -f vm_sched.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/vm_subr.c
cat vm_subr.s | a386 -o vm_subr.o
rm -f vm_subr.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/vm_sw.c
cat vm_sw.s | a386 -o vm_sw.o
rm -f vm_sw.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/vm_swap.c
cat vm_swap.s | a386 -o vm_swap.o
rm -f vm_swap.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/vm_swp.c
cat vm_swp.s | a386 -o vm_swp.o
rm -f vm_swp.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/vm_text.c
cat vm_text.s | a386 -o vm_text.o
rm -f vm_text.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../tahoe/autoconf.c
cat autoconf.s | a386 -o autoconf.o
rm -f autoconf.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../tahoe/conf.c
cat conf.s | a386 -o conf.o
rm -f conf.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../tahoe/cons.c
cat cons.s | a386 -o cons.o
rm -f cons.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../tahoe/clock.c
cat clock.s | a386 -o clock.o
rm -f clock.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../tahoe/kdb_opset.c
cat kdb_opset.s | a386 -o kdb_opset.o
rm -f kdb_opset.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../tahoe/mem.c
cat mem.s | a386 -o mem.o
rm -f mem.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../tahoe/ns_cksum.c
cat ns_cksum.s | a386 -o ns_cksum.o
rm -f ns_cksum.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../tahoe/sys_machdep.c
cat sys_machdep.s | a386 -o sys_machdep.o
rm -f sys_machdep.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../tahoe/trap.c
cat trap.s | a386 -o trap.o
rm -f trap.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../tahoe/ufs_machdep.c
cat ufs_machdep.s | a386 -o ufs_machdep.o
rm -f ufs_machdep.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../tahoe/vm_machdep.c
cat vm_machdep.s | a386 -o vm_machdep.o
rm -f vm_machdep.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../tahoeif/if_ex.c
cat if_ex.s | a386 -o if_ex.o
rm -f if_ex.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../tahoevba/vba.c
cat vba.s | a386 -o vba.o
rm -f vba.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../tahoevba/vd.c
cat vd.s | a386 -o vd.o
rm -f vd.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../tahoevba/vx.c
cat vx.s | a386 -o vx.o
rm -f vx.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../tahoevba/hd.c
cat hd.s | a386 -o hd.o
rm -f hd.s
gcc -c -O -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL -DTIMEZONE=480 -DDST=1 -DMAXUSERS=32 param.c
gcc -O -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL -c -o ioconf.o ioconf.c
loading vmunix


I’m surprised I got that much to compile.  Obviously things like swapgeneric, locore, kdb_machdep & machdep had to be removed as they contain too much Power 6/32 (Tahoe) assembly.

I did this with my Linux 0.11 on Windows build adventure.

So no, this won’t run, or probably be made into anything even close to being useful.  I can’t imagine anyone who would care, but here is my source tree.


Scripted Amiga Update & hosting at

I saw this awesome link over at’s software Library featuring the Amiga

Behind it all is the Scripted Amiga Emulator.  What is more interesting is that there has just been a MASSIVE update/rewrite to the project and it is now boasting far more features!

Looking at the features page, there has been quite a number of updates since the last version.  The big ones (to me) is that the CPU core has been rewritten, and now supports not only the 68000, but the 68010, 68020, and 68030 (only with fake MMU). OCS, ECS and now AGA as well!  Preset models include the 1000,500,2000,500+,600,3000 and 1200.  IDE disk files can even be mounted for the 600 & 1200!

In addition is support for the Amiga 1000 velvet prototype, and even now has the ability to have an AMAX (Macintosh emulation) cartridge port.

R-Type on SAE

R-Type on SAE

I’d highly recommend the internet archive link, you can jump right into some great Amiga action with nothing to download or install!

Epyx Rogue 1.48

Rouge 1.48 title screen

Rouge 1.48 title screen

A while back while looking for old Rogue source, and resources I came across this page, which includes a lot of old versions, and source code, and the file But looking at the source in this directory the file rogue.h reveals that it is actually 1.48!

#define REV 1
#define VER 48

And the source is all timestamped from late 1984, and throughout 1985.  Well isn’t that exciting!  Also on the same site is, a binary distribution of Rogue 1.48.  So I thought I’d give it a shot to build it.  The source mentions needing the MANX C compiler, which of course a quick google search yields an ad:

Manx Aztec C86

Manx Aztec C86

Which has all kinds of fascinating information, such as the ability to cross compile from VAX BSD, or PDP-11 BSD, the Amiga, CP/M etc but they don’t actually give any information about versions.

There is, however an Aztec C museum, that hosts several versions.   And they do have the versions, along with the years to show that the C86 compiler that they had for 1985 would be 3.4b

Version 3.4b
Compiler Aztec C 8086 3.40a 7-3-86
(C) 1982,83,84,85 by Manx Software Systems, Inc.

And conveniently, they do have a download link for the comiler here:

Now, since I’m on Windows 10 x64 I can’t easily run MS-DOS based compilers from 1985 at my native CLI, without a tool, and I chose Takeda Toshiya’s MSDOS.  I was able to ‘bind’ the azmake utility which then could call the needed compiler, assembler, and linker to build an executable without too much work.  I just created a command file, ‘build.cmd’ in the src directory, to setup the paths and needed variables to quickly compile Rogue from the command line.  And a quick attempt at playing it showed that although it does compile, it is unplayable!


Killed by the Copy Protection Mafia

Well isn’t that great.  There is a copy protection scheme.  But wait, we have source so can’t we just by pass it?  Yes we can!  In the file dos.asm there is some checks for the variables hit_mul & goodchk.  So I did the logical thing, which is before it checks them I just set them to good values.

; fake copy protection
mov hit_mul_, 1
mov goodchk_, 0D0DH

And the good news is that I would no longer get killed by the Mafia, but I couldn’t progress down any levels.  So in the file oprotec.asm, I saw there is some disk check routine called protect, that I went ahead and bypassed by having it immediately jump down to the ‘good’ label. Everything compiles but it still locks up going down a level.  So finally I check rogue.h and commend the #define PROTECT statement, and now it’ll run!

I don’t know if anyone would even care, but I added the PDF manual and all the zip files that I used to source this version.  You can download it here:


If you don’t want to run it under MS-DOS, or something like DOSBox, you can use msdos to run it.  The title screen is garbled as it doesn’t emulate CGA, but as the rest is just text mode, it’ll run just fine.

Dunc’s Algomusic MkIIIb

You may know this from the opening music from Stuart Ashen’s, and his videos.  I never knew that this was actually a procedurally generated tune though.  Although the original site is long since gone, did manage to save a couple of the binary music generators.  They don’t export, and I somehow doubt the source was ever available, but ithey do generate interesting music from a fixed seed you provide.

As another example, here is my domain name,

These are for Windows only, but if anyone else has any more information on the programs’s Im always interested.

EMX GCC 2.5.8 for Windows

Continuing in my quest of useless stuff, here is GCC 2.5.8 for EMX as a native Win32 executable set.

With some weirdness of inline not being recognized, I just commented that out.  The GCC driver program does have some issues though, and Im just not in the mood to fully figure out why either the EMX or MS-DOS versions can’t correctly  capture return codes, or if it was better to just use -pipe and _pipe with _O_TEXT mode set, but again how to figure out if the pipe closed cleanly or with errors?  So for now it’ll always assume everything worked, but it will still print errors.  Sigh.

With that said, the CC1, CC1OBJ, CC1PLUS drivers all built, so you can use C, ObjectiveC, and C++. yay.

The functional version of this is EMX 0.8H, with the gcc 2.5.8 update.  Maybe I’ll put this all on sourceforge so people don’t have to deal with my crappy download system, but for now it’s on my site.

Here is my build, along with binaries:


And the un touched source code, as provided in the 0.8H update


I’ve only tested it with MS-DOS, and PDOS.  I’m also using the ancient binutils from my GCC 1.40 on Windows experiment.