Un "core" (nucleo) en el caso de la scene / emulación es un programa o conjunto de rutinas o librerias que hacen posible que un microprocesador o custom chip séa emulado.
Los cores usualmente están programados en lenguaje C, pero en el caso de la Dreamcast, para alcanzar las velocidades requeridas por ciertos emuladores, necesitan que ese "core" esté desarrollado en Assembler de SH4. (Ensamblador o lenguaje máquina).
Ya tienes claro que para máquinas como NeoGeo o Amiga, los requerimientos de proceso son altos, en PSX tambien lo son, incluso más si acaso, por tanto hay "cores" que son básicamente interpretes en C o ASM que rinden con potencia de sobra y otros que hacen lo que usualmente suele denominarse como recompilador dinámico o Dynarec como es el caso del PSX4ALL.
En el caso del FAME ( Fast and Accurate M68K Emulator) de Oscar Orallo (Fox68K) dispones de dos versiones, en ASM SH4 y en C.
No tiene ningún secreto más, básicamente es el software que emula el procesador del sistema a emular en la máquina anfitriona.
Si lees un poco los hilos o googleas, tus respuestas serán aclaradas. La web de Fox68K es m68k.com donde está la documentación el source y las librerias para que tomes un ejemplo de referencia.
A día de hoy en Dreamcast estan portados la mayoría de los cores desarrollados pero siempre tienes la wikipedia:
http://es.wikipedia.org/wiki/Emulador
Espero te sirva el rollo, saludos