Skip to content

Basilisk II Source Code Overview

Ricky Zhang edited this page Aug 12, 2017 · 11 revisions

Source Code Structure

Basilisk II Source code is organized by operating system independent and operating system dependent.

The common codes which are independent from OS are placed under parent folder macemu/BasiliskII/src. Each operating system dependent has their own folder. See the parent folder notes:

Parent Folder Notes
adb.cpp
AmigaOS
audio.cpp
BeOS
cdrom.cpp
CrossPlatform
disk.cpp
dummy A template folder for porting BII to different OS
emul_op.cpp
ether.cpp
extfs.cpp Share file system from host OS
include
macos_util.cpp
MacOSX
main.cpp
native_cpu
pict.c
powerrom_cpu
prefs.cpp
prefs_items.cpp
rom_patches.cpp
rsrc_patches.cpp
scsi.cpp
SDL
serial.cpp
slirp slirp cross-platform virtual networking module from QEMU. Current code is not 64bi clean
slot_rom.cpp
sony.cpp
timer.cpp
uae_cpu
Unix *nix OS dependent folder
user_strings.cpp
video.cpp
Windows
xpram.cpp

The following is the list of files under macemu/BasiliskII/src folder.

File Notes
CrossPlatform
CrossPlatform/video_vosf.h
CrossPlatform/video_blit.cpp
CrossPlatform/sigsegv.h
CrossPlatform/sigsegv.cpp
CrossPlatform/video_blit.h
CrossPlatform/vm_alloc.h
CrossPlatform/vm_alloc.cpp
adb.cpp
native_cpu When run BII under 68K CPU host
native_cpu/cpu_emulation.h
MacOSX
MacOSX/AudioDevice.h
MacOSX/video_macosx.mm
MacOSX/clip_macosx64.mm
MacOSX/extfs_macosx.cpp
MacOSX/NNThread.m
MacOSX/main_macosx.h
MacOSX/Info.plist
MacOSX/utils_macosx.mm
MacOSX/PrefsEditor.h
MacOSX/BasiliskII.icns
MacOSX/audio_defs_macosx.h
MacOSX/Multiple-Windows
MacOSX/Multiple-Windows/English.lproj
MacOSX/Multiple-Windows/English.lproj/Win512x342.nib
MacOSX/Multiple-Windows/English.lproj/Win512x342.nib/classes.nib
MacOSX/Multiple-Windows/English.lproj/Win512x342.nib/info.nib
MacOSX/Multiple-Windows/English.lproj/Win512x342.nib/objects.nib
MacOSX/Multiple-Windows/English.lproj/Win512x342.nib/resetH.tiff
MacOSX/Multiple-Windows/English.lproj/Win512x342.nib/resetN.tiff
MacOSX/Multiple-Windows/English.lproj/Win512x342.nib/shutdownH.tiff
MacOSX/Multiple-Windows/English.lproj/Win512x342.nib/Collapsed.tiff
MacOSX/Multiple-Windows/English.lproj/Win512x342.nib/Expanded.tiff
MacOSX/Multiple-Windows/English.lproj/Win512x342.nib/shutdownN.tiff
MacOSX/Multiple-Windows/English.lproj/MainMenu.nib
MacOSX/Multiple-Windows/English.lproj/MainMenu.nib/classes.nib
MacOSX/Multiple-Windows/English.lproj/MainMenu.nib/info.nib
MacOSX/Multiple-Windows/English.lproj/MainMenu.nib/objects.nib
MacOSX/Multiple-Windows/English.lproj/InfoPlist.strings
MacOSX/Multiple-Windows/README
MacOSX/AudioBackEnd.cpp
MacOSX/Emulator.mm
MacOSX/PrefsEditor.mm
MacOSX/sys_darwin.cpp
MacOSX/audio_macosx.cpp
MacOSX/Controller.h
MacOSX/MacOSX_sound_if.h
MacOSX/AudioBackEnd.h
MacOSX/Versions.html
MacOSX/HowTo.html
MacOSX/macos_util_macosx.h
MacOSX/video_macosx.h
MacOSX/NNThread.h
MacOSX/utils_macosx.h
MacOSX/misc_macosx.mm
MacOSX/autorelease.h
MacOSX/English.lproj
MacOSX/English.lproj/MainMenu.nib
MacOSX/English.lproj/MainMenu.nib/classes.nib
MacOSX/English.lproj/MainMenu.nib/info.nib
MacOSX/English.lproj/MainMenu.nib/objects.nib
MacOSX/English.lproj/MainMenu.nib/resetH.tiff
MacOSX/English.lproj/MainMenu.nib/resetN.tiff
MacOSX/English.lproj/MainMenu.nib/shutdownH.tiff
MacOSX/English.lproj/MainMenu.nib/Collapsed.tiff
MacOSX/English.lproj/MainMenu.nib/Expanded.tiff
MacOSX/English.lproj/MainMenu.nib/shutdownN.tiff
MacOSX/English.lproj/InfoPlist.strings
MacOSX/Controller.mm
MacOSX/misc_macosx.h
MacOSX/AudioDevice.cpp
MacOSX/EmulatorView.h
MacOSX/clip_macosx.cpp
MacOSX/Emulator.h
MacOSX/MacOSX_sound_if.cpp
MacOSX/EmulatorView.mm
MacOSX/Credits.html
MacOSX/prefs_macosx.cpp
MacOSX/ToDo.html
MacOSX/main_macosx.mm
video.cpp
slot_rom.cpp
extfs.cpp
sony.cpp
pict.c
scsi.cpp
cdrom.cpp
uae_cpu
uae_cpu/readcpu.cpp
uae_cpu/m68k.h
uae_cpu/table68k
uae_cpu/gencpu.c
uae_cpu/noflags.h
uae_cpu/readcpu.h
uae_cpu/spcflags.h
uae_cpu/newcpu.h
uae_cpu/cpuopti.c
uae_cpu/memory.cpp
uae_cpu/cpu_emulation.h
uae_cpu/compiler
uae_cpu/compiler/compemu.h
uae_cpu/compiler/flags_x86.h
uae_cpu/compiler/codegen_x86.h
uae_cpu/compiler/compemu_support.cpp
uae_cpu/compiler/test_codegen_x86.cpp
uae_cpu/compiler/gencomp.c
uae_cpu/compiler/compemu_fpp.cpp
uae_cpu/compiler/codegen_x86.cpp
uae_cpu/memory.h
uae_cpu/newcpu.cpp
uae_cpu/basilisk_glue.cpp
uae_cpu/fpu
uae_cpu/fpu/rounding.cpp
uae_cpu/fpu/flags.cpp
uae_cpu/fpu/core.h
uae_cpu/fpu/types.h
uae_cpu/fpu/fpu_ieee.cpp
uae_cpu/fpu/fpu_x86.cpp
uae_cpu/fpu/rounding.h
uae_cpu/fpu/fpu_ieee.h
uae_cpu/fpu/flags.h
uae_cpu/fpu/mathlib.h
uae_cpu/fpu/impl.h
uae_cpu/fpu/fpu.h
uae_cpu/fpu/mathlib.cpp
uae_cpu/fpu/fpu_uae.cpp
uae_cpu/fpu/exceptions.h
uae_cpu/fpu/fpu_uae.h
uae_cpu/fpu/fpu_x86.h
uae_cpu/fpu/fpu_x86_asm.h
uae_cpu/fpu/exceptions.cpp
uae_cpu/build68k.c
SDL
SDL/video_sdl.cpp
SDL/SDLMain.h
SDL/audio_sdl.cpp
SDL/SDLMain.m
SDL/keycodes
audio.cpp
prefs.cpp
AmigaOS
AmigaOS/asm_support.asm
AmigaOS/prefs_editor_amiga.cpp
AmigaOS/video_amiga.cpp
AmigaOS/sys_amiga.cpp
AmigaOS/timer_amiga.cpp
AmigaOS/audio_amiga.cpp
AmigaOS/scsi_amiga.cpp
AmigaOS/clip_amiga.cpp
AmigaOS/prefs_amiga.cpp
AmigaOS/extfs_amiga.cpp
AmigaOS/ether_amiga.cpp
AmigaOS/user_strings_amiga.cpp
AmigaOS/main_amiga.cpp
AmigaOS/xpram_amiga.cpp
AmigaOS/user_strings_amiga.h
AmigaOS/serial_amiga.cpp
AmigaOS/sysdeps.h
AmigaOS/Makefile
AmigaOS/BasiliskII.info
powerrom_cpu
powerrom_cpu/cpu_emulation.h
powerrom_cpu/powerrom_cpu.cpp
slirp
slirp/tcp_subr.c
slirp/tftp.c
slirp/ip.h
slirp/tcp.h
slirp/if.h
slirp/ip_input.c
slirp/tcp_timer.h
slirp/main.h
slirp/udp.c
slirp/tcpip.h
slirp/udp.h
slirp/COPYRIGHT
slirp/cksum.c
slirp/slirp.h
slirp/misc.h
slirp/icmp_var.h
slirp/tftp.h
slirp/bootp.h
slirp/socket.c
slirp/mbuf.c
slirp/tcp_timer.c
slirp/debug.c
slirp/mbuf.h
slirp/sbuf.c
slirp/tcp_var.h
slirp/debug.h
slirp/libslirp.h
slirp/ip_icmp.c
slirp/ip_icmp.h
slirp/bootp.c
slirp/slirp.c
slirp/if.c
slirp/tcp_output.c
slirp/ip_output.c
slirp/slirp_config.h
slirp/tcp_input.c
slirp/ctl.h
slirp/sbuf.h
slirp/VERSION
slirp/misc.c
slirp/socket.h
serial.cpp
macos_util.cpp
Windows
Windows/BasiliskIIGUI.ico
Windows/ether_windows.cpp
Windows/posix_emu.cpp
Windows/timer_windows.cpp
Windows/Makefile.in
Windows/xpram_windows.cpp
Windows/posix_emu.h
Windows/prefs_editor_gtk.cpp
Windows/util_windows.h
Windows/serial_windows.cpp
Windows/BasiliskII.rc
Windows/user_strings_windows.h
Windows/prefs_windows.cpp
Windows/BasiliskII.ico
Windows/user_strings_windows.cpp
Windows/router
Windows/router/tcp.h
Windows/router/arp.cpp
Windows/router/ftp.h
Windows/router/ftp.cpp
Windows/router/dynsockets.cpp
Windows/router/tcp.cpp
Windows/router/udp.cpp
Windows/router/mib
Windows/router/mib/interfaces.h
Windows/router/mib/mibaccess.h
Windows/router/mib/interfaces.cpp
Windows/router/mib/mibaccess.cpp
Windows/router/icmp.h
Windows/router/router.cpp
Windows/router/arp.h
Windows/router/udp.h
Windows/router/dump.cpp
Windows/router/dynsockets.h
Windows/router/router.h
Windows/router/ipsocket.h
Windows/router/icmp.cpp
Windows/router/router_types.h
Windows/router/iphelp.cpp
Windows/router/dump.h
Windows/router/ipsocket.cpp
Windows/router/iphelp.h
Windows/gencpu.vcxproj
Windows/BasiliskII.vcxproj.filters
Windows/BasiliskIIGUI.rc
Windows/BasiliskII.sln
Windows/clip_windows.cpp
Windows/gencomp.vcxproj.filters
Windows/BasiliskII.props
Windows/gencpu.vcxproj.filters
Windows/gencomp.vcxproj
Windows/build68k.vcxproj
Windows/main_windows.cpp
Windows/sys_windows.cpp
Windows/config.h
Windows/configure.ac
Windows/util_windows.cpp
Windows/build68k.vcxproj.filters
Windows/BasiliskII.DebugJIT.props
Windows/b2ether
Windows/b2ether/driver
Windows/b2ether/driver/b2ether.c
Windows/b2ether/driver/b2ether_openclose.c
Windows/b2ether/driver/SOURCES
Windows/b2ether/driver/OEMSETUP.INF
Windows/b2ether/driver/b2ether.h
Windows/b2ether/driver/b2ether_write.c
Windows/b2ether/driver/b2ether_read.c
Windows/b2ether/driver/MAKEFILE
Windows/b2ether/driver/DEBUG.H
Windows/b2ether/packet32.cpp
Windows/b2ether/nt5
Windows/b2ether/nt5/B2Win7Vista-x64.inf
Windows/b2ether/nt5/b2ether.c
Windows/b2ether/nt5/b2ether_openclose.c
Windows/b2ether/nt5/SOURCES
Windows/b2ether/nt5/b2ether.rc
Windows/b2ether/nt5/B2Win2k.inf
Windows/b2ether/nt5/b2ether.h
Windows/b2ether/nt5/b2ether64.vcxproj
Windows/b2ether/nt5/b2ether_write.c
Windows/b2ether/nt5/b2ether_read.c
Windows/b2ether/nt5/b2ether64.sln
Windows/b2ether/nt5/MAKEFILE
Windows/b2ether/nt5/NTDDPACK.H
Windows/b2ether/multiopt.h
Windows/b2ether/inc
Windows/b2ether/inc/ntddpack.h
Windows/b2ether/inc/b2ether_hl.h
Windows/extfs_windows.cpp
Windows/sysdeps.h
Windows/ether_windows.h
Windows/BasiliskII.vcxproj
Windows/cd_defs.h
Windows/BasiliskII.ReleaseJIT.props
Windows/cdenable
Windows/cdenable/cache.cpp
Windows/cdenable/eject_nt.h
Windows/cdenable/ntcd.cpp
Windows/cdenable/cache.h
Windows/cdenable/cdenable.h
Windows/cdenable/ntcd.h
Windows/cdenable/eject_nt.cpp
user_strings.cpp
prefs_items.cpp
main.cpp
ether.cpp
timer.cpp
rom_patches.cpp
dummy
dummy/serial_dummy.cpp
dummy/audio_dummy.cpp
dummy/prefs_editor_dummy.cpp
dummy/scsi_dummy.cpp
dummy/prefs_dummy.cpp
dummy/clip_dummy.cpp
dummy/user_strings_dummy.cpp
dummy/ether_dummy.cpp
dummy/xpram_dummy.cpp
include
include/extfs_defs.h
include/clip.h
include/audio_defs.h
include/emul_op.h
include/cdrom.h
include/prefs_editor.h
include/adb.h
include/prefs.h
include/main.h
include/rsrc_patches.h
include/timer.h
include/serial_defs.h
include/rom_patches.h
include/serial.h
include/user_strings.h
include/sys.h
include/audio.h
include/xpram.h
include/debug.h
include/pict.h
include/disk.h
include/video_defs.h
include/video.h
include/scsi.h
include/macos_util.h
include/version.h
include/ether.h
include/slot_rom.h
include/sony.h
include/ether_defs.h
include/extfs.h
BeOS
BeOS/timer_beos.cpp
BeOS/prefs_editor_beos.cpp
BeOS/user_strings_beos.h
BeOS/serial_beos.cpp
BeOS/about_window.h
BeOS/user_strings_beos.cpp
BeOS/prefs_beos.cpp
BeOS/clip_beos.cpp
BeOS/scsi_beos.cpp
BeOS/video_beos.cpp
BeOS/about_window.cpp
BeOS/xpram_beos.cpp
BeOS/extfs_beos.cpp
BeOS/SheepDriver
BeOS/SheepDriver/sheep_driver.c
BeOS/SheepDriver/sheep_driver.h
BeOS/SheepDriver/Makefile
BeOS/main_beos.cpp
BeOS/ether_beos.cpp
BeOS/SheepNet
BeOS/SheepNet/sheep_net.h
BeOS/SheepNet/sheep_net.cpp
BeOS/SheepNet/Makefile
BeOS/sysdeps.h
BeOS/Makefile
BeOS/sys_beos.cpp
BeOS/audio_beos.cpp
emul_op.cpp
Unix Linux, Mac OS X and FreeBSD operating system dependent
Unix/user_strings_unix.cpp
Unix/tunconfig
Unix/timer_unix.cpp
Unix/ether_unix.cpp
Unix/audio_oss_esd.cpp
Unix/acinclude.m4
Unix/semaphore.h
Unix/Makefile.in
Unix/rpc.h
Unix/clip_unix.cpp
Unix/cpr.sh
Unix/sshpty.c
Unix/FreeBSD
Unix/FreeBSD/scsidump.cpp
Unix/FreeBSD/scsi_freebsd.cpp
Unix/tinyxml2.cpp
Unix/disk_sparsebundle.cpp
Unix/prefs_editor_gtk.cpp
Unix/strlcpy.h
Unix/install-sh
Unix/video_x.cpp
Unix/Linux
Unix/Linux/NetDriver Linux virtual networking sheep_net module
Unix/Linux/NetDriver/config.h
Unix/Linux/NetDriver/README.md
Unix/Linux/NetDriver/sheep_net.c
Unix/Linux/NetDriver/Makefile
Unix/Linux/scsi_linux.cpp
Unix/vhd_unix.cpp
Unix/config.sub
Unix/Irix
Unix/Irix/README.networking
Unix/Irix/unaligned.c
Unix/Irix/audio_irix.cpp
Unix/autogen.sh
Unix/rpc_unix.cpp
Unix/serial_unix.cpp
Unix/BasiliskII.1
Unix/posix_sem.cpp
Unix/m4
Unix/m4/egrep.m4
Unix/m4/gtk.m4
Unix/m4/gettext.m4
Unix/m4/esd.m4
Unix/m4/gtk-2.0.m4
Unix/sys_unix.cpp
Unix/user_strings_unix.h
Unix/Solaris
Unix/Solaris/audio_solaris.cpp
Unix/Solaris/which_sparc
Unix/.gitignore
Unix/Darwin
Unix/Darwin/testlmem.sh
Unix/Darwin/lowmem.c
Unix/Darwin/gtk-osx.patch
Unix/Darwin/mkstandalone
Unix/Darwin/pagezero.c
Unix/sshpty.h
Unix/extfs_unix.cpp
Unix/configure.ac
Unix/disk_unix.h
Unix/asm_support.s
Unix/fbdevices
Unix/prefs_unix.cpp
Unix/config.guess
Unix/keycodes
Unix/xpram_unix.cpp
Unix/strlcpy.c
Unix/sysdeps.h
Unix/main_unix.cpp main entry function for *nix OS
Unix/tinyxml2.h
Unix/mkinstalldirs
Unix/bincue_unix.cpp
Unix/bincue_unix.h
Unix/ldscripts
Unix/ldscripts/linux-i386.ld
Unix/ldscripts/linux-x86_64.ld
Unix/ldscripts/freebsd-i386.ld
Unix/ldscripts/linux-ppc.ld
rsrc_patches.cpp
disk.cpp
xpram.cpp