-; Z80 emulator with CP/M support. The Z80-specific instructions themselves
-; actually aren't implemented yet, making this more of an i8080 emulator.
; This is the main file, glueing all parts together.
; Copyright (C) 2010 Sprite_tm
-; Copyright (C) 2010 Leo C.
+; Copyright (C) 2010,2012,2013 Leo C.
;
; This file is part of avrcpm.
;
; $Id$
;
-.nolist
+ .nolist
+
#if defined atmega8
.include "m8def.inc"
+#elif defined atmega88
+ .include "m88def.inc"
#elif defined atmega168
.include "m168def.inc"
-#elif defined atmega328P
- .include "m328Pdef.inc"
#else /* default */
- .include "m88def.inc"
+ .include "m328Pdef.inc"
#endif
.include "config.inc"
.include "macros.inc"
#else
.include "dram-4bit.inc"
#endif
+
.list
+
+#if MMCBOOTLOADER
.cseg
+ .org FLASHEND-3 - BOOTLDRSIZE/2 ;
+ .db DEVID_S ;
+ #if TESTVERSION
+ .db 0,0
+ #else
+ .db VMINOR, VMAJOR ;
+ #endif
+ .dw 0 ;placeholder for crc
+#endif /* MMCBOOTLOADER */
+ .cseg
.org 0
- rjmp start ; reset vector
-
+ ljmp start ; reset vector
+
.org INT_VECTORS_SIZE
- .include "init.asm"
-#if DRAM_8BIT /* Implies software uart */
+#if DRAM_8BIT /* Implies software uart */
.include "sw-uart.asm"
- .include "dram-8bit.asm"
-#else /* 4 bit RAM, hardware uart */
+#else /* 4 bit RAM, hardware uart */
.include "hw-uart.asm"
- .include "dram-4bit.asm"
#endif
- .include "dram-refresh.asm"
- .include "timer.asm"
+
.include "utils.asm"
+ .include "init.asm"
+ .include "timer.asm"
.include "heap.asm"
.include "mmc.asm"
-; .include "mmc-old.asm"
-
-; >>>-------------------------------------- Virtual Devices
- .include "virt_ports.asm" ; Virtual Ports for BIOS
-; <<<-------------------------------------- Virtual Devices
+#if DRAM_8BIT /* Implies software uart */
+ .include "dram-8bit.asm"
+#else /* 4 bit RAM, hardware uart */
+ .include "dram-4bit.asm"
+#endif
+#if DRAM_8BIT /* Implies software uart */
+ .include "i2c.asm"
+#endif
; >>>-------------------------------------- File System Management
- .include "dsk_fsys.asm" ; Basic Filesystem definitions
- .include "dsk_mgr.asm" ; Disk- Manager
- .include "dsk_cpm.asm" ; CPM- Disk Interaktion
- .include "dsk_fat16.asm" ; FAT16-DISK Interaktion
- .include "dsk_ram.asm" ; RAM- Disk Interaktion
+ .include "dsk_cpm.asm" ; CPM- Disk Interaktion
+ .include "dsk_fat16.asm" ; FAT16-DISK Interaktion
+ .include "dsk_ram.asm" ; RAM- Disk Interaktion
+ .include "dsk_mgr.asm" ; Disk- Manager
+ .include "dsk_fsys.asm" ; Basic Filesystem definitions
+
; <<<-------------------------------------- File System Management
-; .include "z80int.asm" ;Old 8080 interpreter.
+
+; .include "8080int-orig.asm" ;Old 8080 interpreter.
; .include "8080int.asm" ;New 8080 interpreter.
; .include "8080int-t3.asm" ;Another 8080 interpreter
; .include "8080int-t3-jmp.asm" ;Can't get enough
- .include "8080int-jmp.asm" ;
+; .include "8080int-jmp.asm" ;
+ .include "Z80int-jmp.asm" ;
+
+ .include "virt_ports.asm" ; Virtual Ports for BIOS
+ .include "dram-refresh.asm"
.dseg
ramtop: .byte 0
-
+
.cseg
; vim:set ts=8 noet nowrap
-