#       $NetBSD: files.dreamcast,v 1.32 2019/05/08 13:40:14 isaki Exp $

# maxpartitions must be first item in files.${MACHINE}
maxpartitions 16

maxusers 2 16 64

include "dev/i2o/files.i2o"
include "dev/pci/files.pci"

file    arch/dreamcast/dreamcast/conf.c
file    arch/dreamcast/dreamcast/machdep.c
file    arch/dreamcast/dreamcast/autoconf.c
file    arch/dreamcast/dreamcast/clock_machdep.c
file    arch/sh3/sh3/disksubr.c                         disk

file    dev/kloader.c                                   kloader
file    arch/dreamcast/dreamcast/kloader_machdep.c      kloader
defflag opt_kloader.h   KLOADER
defflag debug_kloader.h KLOADER_DEBUG

defparam opt_memsize.h  IOM_ROM_BEGIN IOM_ROM_SIZE IOM_RAM_BEGIN IOM_RAM_SIZE

#
# Machine-independent SCSI drivers
#

include "dev/scsipi/files.scsipi"

#
# Machine-independent ATA drivers
#

include "dev/ata/files.ata"

# Memory Disk for install floppy
file dev/md_root.c                              memory_disk_hooks

#
# System bus types
#

define mainbus { }
device  mainbus: mainbus
attach  mainbus at root
file    arch/dreamcast/dreamcast/mainbus.c      mainbus

device cpu
attach cpu at mainbus
file    arch/sh3/sh3/cpu.c                      cpu

include "arch/sh3/conf/files.shb"

file arch/dreamcast/dreamcast/sysasic.c         shb

device maple { [port = -1], [subunit = -1] }
attach maple at shb
file    arch/dreamcast/dev/maple/maple.c                maple   needs-flag

device  mkbd: wskbddev
attach  mkbd at maple
file    arch/dreamcast/dev/maple/mkbd.c                 mkbd    needs-flag

device  mms: wsmousedev
attach  mms at maple
file    arch/dreamcast/dev/maple/mms.c                  mms     needs-flag

device  mmem: disk
attach  mmem at maple
file    arch/dreamcast/dev/maple/mmemcard.c             mmem    needs-flag

device  mlcd
attach  mlcd at maple
file    arch/dreamcast/dev/maple/mlcd.c                 mlcd    needs-flag

device  pvr: wsemuldisplaydev, rasops16
attach  pvr at shb
file    arch/dreamcast/dev/pvr.c                        pvr     needs-flag

device  g1bus { }
attach  g1bus at shb
file    arch/dreamcast/dev/g1/g1bus.c                   g1bus
file    arch/dreamcast/dev/g1/g1bus_bus_mem.c           g1bus

attach  wdc at g1bus with wdc_g1bus
file    arch/dreamcast/dev/g1/wdc_g1.c                  wdc_g1bus

device  gdrom: disk
attach  gdrom at shb
file    arch/dreamcast/dev/gdrom.c                      gdrom   needs-flag
#attach gdrom at atapibus
#file   arch/dreamcast/dev/g1/gdrom.c                   gdrom   needs-flag

device  g2bus { }
attach  g2bus at shb
file    arch/dreamcast/dev/g2/g2bus.c                   g2bus
file    arch/dreamcast/dev/g2/g2bus_bus_mem.c           g2bus

device  g2rtc
attach  g2rtc at g2bus
file    arch/dreamcast/dev/g2/g2rtc.c                   g2rtc

device  gapspci: pcibus
attach  gapspci at g2bus
file    arch/dreamcast/dev/g2/gapspci.c                 gapspci
file    arch/dreamcast/dev/g2/gapspci_dma.c             gapspci
file    arch/dreamcast/dev/g2/gapspci_pci.c             gapspci

# LAN Adapter
attach  mbe at g2bus with mbe_g2bus
file    arch/dreamcast/dev/g2/if_mbe_g2.c               mbe_g2bus

device  aica: audiobus
attach  aica at g2bus
file    arch/dreamcast/dev/g2/aica.c                    aica    needs-flag

include "arch/dreamcast/conf/majors.dreamcast"