Zeal8bit / Zeal-8-bit-OS

An Operating System for Z80 computers, written in assembly
Apache License 2.0
574 stars 54 forks source link

Compile error caused of `menuconfig` #12

Closed JasonMo1 closed 11 months ago

JasonMo1 commented 1 year ago

When I Enable Video Driver buut use UART Driver Aas standard output, I got an error:

~/Zeal-8-bit-OS > make                                                                                         09/01/2023 08:24:06 AM
Building packer
make[1]: Entering directory '/home/jasonmo/Zeal-8-bit-OS/packer'
gcc pack.c -o pack -std=c99 -W
make[1]: Leaving directory '/home/jasonmo/Zeal-8-bit-OS/packer'
Executing pre commands...
make[1]: Entering directory '/home/jasonmo/Zeal-8-bit-OS/romdisk'
rm -rf build/ disk.img
No extra file to pack into romdisk
Creating romdisk...
z88dk-z80asm -I/home/jasonmo/Zeal-8-bit-OS/kernel_headers/z88dk-z80asm -Obuild -m -b init.asm parse.asm ls.asm less.asm opt.asm mkdir.asm cd.asm rm.asm errors.asm uart.asm strutils.asm date.asm cp.asm misc.asm hexdump.asm
Packing the files
pack disk.img build/init.bin simple.txt
make[1]: Leaving directory '/home/jasonmo/Zeal-8-bit-OS/romdisk'
z88dk-z80asm -Iinclude/ -Itarget/zeal8bit/./ -Itarget/zeal8bit/./include -Obuild target/zeal8bit/linker.asm
z88dk-z80asm -Iinclude/ -Itarget/zeal8bit/./ -Itarget/zeal8bit/./include -Obuild kernel/rst_vectors.asm
z88dk-z80asm -Iinclude/ -Itarget/zeal8bit/./ -Itarget/zeal8bit/./include -Obuild kernel/boot.asm
z88dk-z80asm -Iinclude/ -Itarget/zeal8bit/./ -Itarget/zeal8bit/./include -Obuild kernel/drivers.asm
z88dk-z80asm -Iinclude/ -Itarget/zeal8bit/./ -Itarget/zeal8bit/./include -Obuild kernel/strutils.asm
z88dk-z80asm -Iinclude/ -Itarget/zeal8bit/./ -Itarget/zeal8bit/./include -Obuild kernel/disks.asm
z88dk-z80asm -Iinclude/ -Itarget/zeal8bit/./ -Itarget/zeal8bit/./include -Obuild kernel/vfs.asm
z88dk-z80asm -Iinclude/ -Itarget/zeal8bit/./ -Itarget/zeal8bit/./include -Obuild kernel/time.asm
z88dk-z80asm -Iinclude/ -Itarget/zeal8bit/./ -Itarget/zeal8bit/./include -Obuild kernel/log.asm
z88dk-z80asm -Iinclude/ -Itarget/zeal8bit/./ -Itarget/zeal8bit/./include -Obuild kernel/syscalls.asm
z88dk-z80asm -Iinclude/ -Itarget/zeal8bit/./ -Itarget/zeal8bit/./include -Obuild kernel/loader.asm
z88dk-z80asm -Iinclude/ -Itarget/zeal8bit/./ -Itarget/zeal8bit/./include -Obuild kernel/fs/rawtable.asm
z88dk-z80asm -Iinclude/ -Itarget/zeal8bit/./ -Itarget/zeal8bit/./include -Obuild kernel/fs/zealfs.asm
z88dk-z80asm -Iinclude/ -Itarget/zeal8bit/./ -Itarget/zeal8bit/./include -Obuild target/zeal8bit/uart.asm
z88dk-z80asm -Iinclude/ -Itarget/zeal8bit/./ -Itarget/zeal8bit/./include -Obuild target/zeal8bit/pio.asm
z88dk-z80asm -Iinclude/ -Itarget/zeal8bit/./ -Itarget/zeal8bit/./include -Obuild target/zeal8bit/i2c.asm
z88dk-z80asm -Iinclude/ -Itarget/zeal8bit/./ -Itarget/zeal8bit/./include -Obuild target/zeal8bit/keyboard.asm
z88dk-z80asm -Iinclude/ -Itarget/zeal8bit/./ -Itarget/zeal8bit/./include -Obuild target/zeal8bit/romdisk.asm
z88dk-z80asm -Iinclude/ -Itarget/zeal8bit/./ -Itarget/zeal8bit/./include -Obuild target/zeal8bit/mmu.asm
z88dk-z80asm -Iinclude/ -Itarget/zeal8bit/./ -Itarget/zeal8bit/./include -Obuild target/zeal8bit/interrupt_vect.asm
z88dk-z80asm -Iinclude/ -Itarget/zeal8bit/./ -Itarget/zeal8bit/./include -Obuild target/zeal8bit/eeprom.asm
z88dk-z80asm -Iinclude/ -Itarget/zeal8bit/./ -Itarget/zeal8bit/./include -Obuild target/zeal8bit/video.asm
target/zeal8bit/video.asm:184: error: undefined symbol: video_map_start
  ^---- video_map_start
target/zeal8bit/video.asm:236: error: undefined symbol: video_map_end
  ^---- video_map_end
target/zeal8bit/video.asm:275: error: undefined symbol: video_map_start
  ^---- video_map_start
target/zeal8bit/video.asm:279: error: undefined symbol: video_map_end
  ^---- video_map_end
target/zeal8bit/video.asm:293: error: undefined symbol: video_map_start
  ^---- video_map_start
target/zeal8bit/video.asm:321: error: undefined symbol: video_map_end
  ^---- video_map_end
make: *** [Makefile:118: target/zeal8bit/video.o] Error 1

include/osconfig.asm:

IFNDEF OSCONFIG_H
DEFINE OSCONFIG_H

DEFC CONFIG_CPU_FREQ=10000000
MACRO CONFIG_TARGET
    DEFM "zeal8bit"
ENDM
DEFC CONFIG_TARGET_ZEAL_8_BIT=1
DEFC CONFIG_TARGET_HAS_MMU=1
DEFC CONFIG_KERNEL_RAM_PHYS_ADDRESS=0x88000
DEFC CONFIG_ROMDISK_ADDRESS=0x8000
DEFC CONFIG_KERNEL_PHYS_ADDRESS=0x0000
DEFC CONFIG_KERNEL_TARGET_HAS_MMU=1
DEFC CONFIG_TARGET_ENABLE_VIDEO=1
DEFC CONFIG_TARGET_STDOUT_UART=1
DEFC CONFIG_TARGET_KEYBOARD_QWERTY=1
DEFC CONFIG_TARGET_UART_SET_MONITOR_SIZE=1
DEFC CONFIG_KERNEL_STACK_ADDR=0xFFFF
DEFC CONFIG_KERNEL_RAM_START=0xC000
DEFC CONFIG_KERNEL_MAX_LOADED_DRIVERS=16
DEFC CONFIG_KERNEL_MAX_OPENED_DEVICES=16
DEFC CONFIG_KERNEL_MAX_OPENED_FILES=16
DEFC CONFIG_KERNEL_PATH_MAX=128
MACRO CONFIG_KERNEL_INIT_EXECUTABLE
    DEFM "A:/init.bin"
ENDM
DEFC CONFIG_KERNEL_INIT_EXECUTABLE_ADDR=0x4000
DEFC CONFIG_KERNEL_LOG_SUPPORT_ANSI_COLOR=1
DEFC CONFIG_KERNEL_ENABLE_ZEALFS_SUPPORT=1

ENDIF