Skip to content

Commit

Permalink
Use circle-std (#17)
Browse files Browse the repository at this point in the history
* Use circle-stdlib
* Update action to build only pi4 32bits at the moment.
  • Loading branch information
Tom1975 authored Sep 1, 2024
1 parent 1ffc652 commit 31a46c8
Show file tree
Hide file tree
Showing 33 changed files with 1,824 additions and 1,777 deletions.
6 changes: 2 additions & 4 deletions .github/workflows/c-cpp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,14 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Checkout submodules
run: git submodule update --init --recursive

- name: Set circle as writable
run: |
sudo chown -R $USER:$USER $(pwd)
ls circle
ls circle/boot
shell: bash
working-directory: .

Expand All @@ -36,7 +34,7 @@ jobs:
uses: ./sugarpi-action
id: buildpi

- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v4
with:
name: SugarPi
path: sdcard/*
6 changes: 3 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[submodule "CPCCore"]
path = CPCCore
url = https://github.com/Tom1975/CPCCore.git
[submodule "circle"]
path = circle
url = https://github.com/Tom1975/circle
[submodule "circle-stdlib"]
path = circle-stdlib
url = https://github.com/smuehlst/circle-stdlib
branch = master
2 changes: 1 addition & 1 deletion CPCCore
Submodule CPCCore updated 62 files
+1 −0 AmstradCore/IComponent.h
+1 −0 AmstradCore/Motherboard.h
+1 −0 AmstradCore/Sampler.h
+1 −1 CPCCoreEmu/Breakpoint.h
+1 −1 CPCCoreEmu/CAPSFile.h
+0 −1 CPCCoreEmu/CMakeLists.txt
+1 −1 CPCCoreEmu/DiskBuilder.h
+3 −3 CPCCoreEmu/DiskContainer.cpp
+2 −2 CPCCoreEmu/DiskContainer.h
+7 −1 CPCCoreEmu/DiskGen.cpp
+1 −1 CPCCoreEmu/DiskGen.h
+0 −1 CPCCoreEmu/DskTypeManager.h
+90 −82 CPCCoreEmu/FDC.cpp
+11 −10 CPCCoreEmu/FileAccess.cpp
+2 −2 CPCCoreEmu/FileAccess.h
+1 −1 CPCCoreEmu/FormatTypeCTRAW.cpp
+1 −1 CPCCoreEmu/FormatTypeDSK.cpp
+1 −1 CPCCoreEmu/FormatTypeEDSK.cpp
+3 −3 CPCCoreEmu/FormatTypeHFE.cpp
+3 −3 CPCCoreEmu/FormatTypeHFEv3.cpp
+1 −1 CPCCoreEmu/FormatTypeIPF.cpp
+3 −3 CPCCoreEmu/FormatTypeRAW.cpp
+1 −1 CPCCoreEmu/FormatTypeRAW.h
+3 −3 CPCCoreEmu/FormatTypeSCP.cpp
+1 −1 CPCCoreEmu/IComponent.h
+8 −8 CPCCoreEmu/IDisk.cpp
+3 −3 CPCCoreEmu/IDisk.h
+8 −7 CPCCoreEmu/KeyboardHandler.cpp
+2 −2 CPCCoreEmu/Machine.cpp
+1 −1 CPCCoreEmu/MediaContainer.cpp
+1 −1 CPCCoreEmu/MediaManager.cpp
+2 −2 CPCCoreEmu/Memoire.h
+2 −2 CPCCoreEmu/Monitor.cpp
+2 −3 CPCCoreEmu/PSG.cpp
+2 −2 CPCCoreEmu/PrinterDefault.cpp
+2 −0 CPCCoreEmu/PrinterDefault.h
+2 −2 CPCCoreEmu/SettingsList.h
+3 −3 CPCCoreEmu/Snapshot.cpp
+3 −0 CPCCoreEmu/Snapshot.h
+2 −2 CPCCoreEmu/SoundMixer.cpp
+1 −1 CPCCoreEmu/SoundMixer.h
+1 −1 CPCCoreEmu/SugarboxInitialisation.h
+26 −21 CPCCoreEmu/Tape.cpp
+0 −57 CPCCoreEmu/simple_filesystem.cpp
+0 −30 CPCCoreEmu/simple_filesystem.h
+0 −49 CPCCoreEmu/simple_math.cpp
+0 −24 CPCCoreEmu/simple_math.h
+1 −12 CPCCoreEmu/simple_regex.cpp
+0 −141 CPCCoreEmu/simple_stdio.cpp
+0 −48 CPCCoreEmu/simple_stdio.h
+0 −238 CPCCoreEmu/simple_string.cpp
+0 −65 CPCCoreEmu/simple_string.h
+0 −219 CPCCoreEmu/simple_vector.hpp
+18 −19 CPCCoreEmu/stdafx.h
+1 −1 ShakerGenerator/TestUtils.cpp
+1 −1 ShakerGenerator/TestUtils.h
+1 −1 UnitTests/Test.cpp
+1 −1 UnitTests/TestContainers.cpp
+1 −1 UnitTests/TestUtils.cpp
+1 −1 UnitTests/TestUtils.h
+119 −0 UnitTests/res/DSK/test.txt
+ UnitTests/res/Record/[CPC] Little Puff In Dragonland (UK) (1990) [EDOS - Codemasters].raw.bmp
23 changes: 13 additions & 10 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@
# Makefile
#

CIRCLEHOME = ./circle
include Config.mk
CIRCLEHOME = circle-stdlib/libs/circle
NEWLIBDIR = circle-stdlib/install/$(NEWLIB_ARCH)

OBJS = src/main.o\
src/kernel.o\
Expand Down Expand Up @@ -62,11 +64,7 @@ OBJS = src/main.o\
CPCCore/CPCCoreEmu/PSG.o \
CPCCore/CPCCoreEmu/rand.o \
CPCCore/CPCCoreEmu/Sig.o \
CPCCore/CPCCoreEmu/simple_filesystem.o \
CPCCore/CPCCoreEmu/simple_math.o \
CPCCore/CPCCoreEmu/simple_regex.o \
CPCCore/CPCCoreEmu/simple_stdio.o \
CPCCore/CPCCoreEmu/simple_string.o \
CPCCore/CPCCoreEmu/Snapshot.o \
CPCCore/CPCCoreEmu/SoundMixer.o\
CPCCore/CPCCoreEmu/Tape.o\
Expand All @@ -86,7 +84,11 @@ EXTRACLEAN = $(OBJS)

OPTIMIZE = -O3

LIBS = $(CIRCLEHOME)/lib/libcircle.a \
LIBS = circle-stdlib/install/arm-none-circle/lib/libcirclenewlib.a \
circle-stdlib/install/arm-none-circle/lib/libc.a \
circle-stdlib/install/arm-none-circle/lib/libg.a \
circle-stdlib/install/arm-none-circle/lib/libm.a \
$(CIRCLEHOME)/lib/libcircle.a \
$(CIRCLEHOME)/lib/fs/fat/libfatfs.a \
$(CIRCLEHOME)/lib/fs/libfs.a \
$(CIRCLEHOME)/lib/usb/libusb.a \
Expand All @@ -102,9 +104,10 @@ LIBS = $(CIRCLEHOME)/lib/libcircle.a \
$(CIRCLEHOME)/addon/vc4/interface/vmcs_host/libvmcs_host.a \
$(CIRCLEHOME)/addon/vc4/interface/vcos/libvcos.a


include circle/Rules.mk
STDLIB_SUPPORT = 3
include circle-stdlib/libs/circle/Rules.mk

CFLAGS += -DMINIMUM_DEPENDENCIES -DUSE_VCHIQ_SOUND -DNO_CUSTOM_OPCODES -DNO_MULTITHREAD -I. -Isrc -ICPCCore/zlib_pi -DNOFILTER -DNOZLIB -DNO_RAW_FORMAT -I$(CIRCLEHOME)/addon -DLOG_MIXER -DLOGFDC -DARM_ALLOW_MULTI_CORE
CPPFLAGS += -DMINIMUM_DEPENDENCIES -DUSE_VCHIQ_SOUND -DNO_CUSTOM_OPCODES -DNO_MULTITHREAD -I. -Isrc -ICPCCore/zlib_pi -DNOFILTER -DNOZLIB -DNO_RAW_FORMAT -I$(CIRCLEHOME)/addon -DLOG_MIXER -DLOGFDC -DARM_ALLOW_MULTI_CORE -std=c++1z
CFLAGS += -I "$(NEWLIBDIR)/include" -I "$(STDDEF_INCPATH)" -I "$(CIRCLEHOME)"
CFLAGS += -D_USE_LONG_TIME_T -DMINIMUM_DEPENDENCIES -DUSE_VCHIQ_SOUND -DNO_CUSTOM_OPCODES -DNO_MULTITHREAD -I. -Isrc -ICPCCore/zlib_pi -DNOFILTER -DNOZLIB -DNO_RAW_FORMAT -I$(CIRCLEHOME)/addon -DLOG_MIXER -DLOGFDC -DARM_ALLOW_MULTI_CORE
CPPFLAGS += -D_USE_LONG_TIME_T -DMINIMUM_DEPENDENCIES -DUSE_VCHIQ_SOUND -DNO_CUSTOM_OPCODES -DNO_MULTITHREAD -I. -Isrc -ICPCCore/zlib_pi -DNOFILTER -DNOZLIB -DNO_RAW_FORMAT -I$(CIRCLEHOME)/addon -DLOG_MIXER -DLOGFDC -DARM_ALLOW_MULTI_CORE -std=c++1z

8 changes: 4 additions & 4 deletions Rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -49,16 +49,16 @@ AR = $(PREFIX)ar$(POSTFIX)

ifeq ($(strip $(AARCH)),32)
ifeq ($(strip $(RASPPI)),1)
ARCH ?= -DAARCH=32 -mcpu=arm1176jzf-s -marm -mfpu=vfp -mfloat-abi=$(FLOAT_ABI)
ARCH ?= -DAARCH=32 -mcpu=arm1176jzf-s -marm -mfpu=vfp -mfloat-abi=$FLOAT_ABI
TARGET ?= kernel
else ifeq ($(strip $(RASPPI)),2)
ARCH ?= -DAARCH=32 -mcpu=cortex-a7 -marm -mfpu=neon-vfpv4 -mfloat-abi=$(FLOAT_ABI)
ARCH ?= -DAARCH=32 -mcpu=cortex-a7 -marm -mfpu=neon-vfpv4 -mfloat-abi=$FLOAT_ABI
TARGET ?= kernel7
else ifeq ($(strip $(RASPPI)),3)
ARCH ?= -DAARCH=32 -mcpu=cortex-a53 -marm -mfpu=neon-fp-armv8 -mfloat-abi=$(FLOAT_ABI)
ARCH ?= -DAARCH=32 -mcpu=cortex-a53 -marm -mfpu=neon-fp-armv8 -mfloat-abi=$FLOAT_ABI
TARGET ?= kernel8-32
else ifeq ($(strip $(RASPPI)),4)
ARCH ?= -DAARCH=32 -mcpu=cortex-a72 -marm -mfpu=neon-fp-armv8 -mfloat-abi=$(FLOAT_ABI)
ARCH ?= -DAARCH=32 -mcpu=cortex-a72 -marm -mfpu=neon-fp-armv8 -mfloat-abi=$FLOAT_ABI
TARGET ?= kernel7l
else
$(error RASPPI must be set to 1, 2, 3 or 4)
Expand Down
12 changes: 12 additions & 0 deletions SetupJTAG.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,18 @@ violet ACBUS0 /TRST 22
noir GND GND

- Ajouter enable_jtag_gpio=1 dans config.txt
- config.txt pour jtag :

[all]
enable_jtag_gpio=1
[pi4]
kernel=kernel7l.img
[pi400]
kernel=kernel7l.img
[cm4]
otg_mode=1



OPENCOD :
cd /d/DEV/02-BareMetal/OpenOCD/
Expand Down
12 changes: 5 additions & 7 deletions SugarPiWin32/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ set(Source_Files
${CMAKE_CURRENT_SOURCE_DIR}/SoundPiDesktop.h
${CMAKE_CURRENT_SOURCE_DIR}/SugarPiSetupDesktop.cpp
${CMAKE_CURRENT_SOURCE_DIR}/SugarPiSetupDesktop.h
${CMAKE_CURRENT_SOURCE_DIR}/ConfigurationManagerDesktop.cpp
${CMAKE_CURRENT_SOURCE_DIR}/ConfigurationManagerDesktop.h
# ${CMAKE_CURRENT_SOURCE_DIR}/ConfigurationManagerDesktop.cpp
# ${CMAKE_CURRENT_SOURCE_DIR}/ConfigurationManagerDesktop.h


# ${CMAKE_CURRENT_SOURCE_DIR}/kernel.cpp
Expand Down Expand Up @@ -59,6 +59,8 @@ set(SugarPi_Files
${CMAKE_CURRENT_SOURCE_DIR}/../src/BackFrame.h
${CMAKE_CURRENT_SOURCE_DIR}/../src/BasicFrame.cpp
${CMAKE_CURRENT_SOURCE_DIR}/../src/BasicFrame.h
${CMAKE_CURRENT_SOURCE_DIR}/../src/ConfigurationManager.cpp
${CMAKE_CURRENT_SOURCE_DIR}/../src/ConfigurationManager.h
${CMAKE_CURRENT_SOURCE_DIR}/../src/CString.cpp
${CMAKE_CURRENT_SOURCE_DIR}/../src/CString.h
${CMAKE_CURRENT_SOURCE_DIR}/../src/DisplayPi.cpp
Expand Down Expand Up @@ -128,11 +130,7 @@ set(CpcCore_Files
${CMAKE_CURRENT_SOURCE_DIR}/../CPCCore/CPCCoreEmu/PSG.cpp
${CMAKE_CURRENT_SOURCE_DIR}/../CPCCore/CPCCoreEmu/Screen.h
${CMAKE_CURRENT_SOURCE_DIR}/../CPCCore/CPCCoreEmu/Sig.cpp
${CMAKE_CURRENT_SOURCE_DIR}/../CPCCore/CPCCoreEmu/simple_filesystem.cpp
${CMAKE_CURRENT_SOURCE_DIR}/../CPCCore/CPCCoreEmu/simple_math.cpp
${CMAKE_CURRENT_SOURCE_DIR}/../CPCCore/CPCCoreEmu/simple_regex.cpp
${CMAKE_CURRENT_SOURCE_DIR}/../CPCCore/CPCCoreEmu/simple_stdio.cpp
${CMAKE_CURRENT_SOURCE_DIR}/../CPCCore/CPCCoreEmu/simple_string.cpp
${CMAKE_CURRENT_SOURCE_DIR}/../CPCCore/CPCCoreEmu/Snapshot.cpp
${CMAKE_CURRENT_SOURCE_DIR}/../CPCCore/CPCCoreEmu/SoundMixer.cpp
${CMAKE_CURRENT_SOURCE_DIR}/../CPCCore/CPCCoreEmu/Tape.cpp
Expand Down Expand Up @@ -170,7 +168,7 @@ target_compile_definitions(SugarPiWin32 PUBLIC -DNO_MULTITHREAD)

target_compile_features(SugarPiWin32 PRIVATE cxx_std_17)
target_compile_definitions(SugarPiWin32 PUBLIC -DNOFILTER -DNOZLIB -DNO_RAW_FORMAT -DLOG_MIXER -DLOGFDC -DNO_CUSTOM_OPCODES -DARM_ALLOW_MULTI_CORE)
target_compile_definitions(SugarPiWin32 PUBLIC -DPROFILE)
target_compile_definitions(SugarPiWin32 PUBLIC -DPROFILE -DTEST_VECTOR)


set (CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_BINARY_DIR}/Install)
Expand Down
Loading

0 comments on commit 31a46c8

Please sign in to comment.