1
0
mirror of https://github.com/Interlisp/maiko.git synced 2026-03-20 16:28:12 +00:00

Compare commits

..

4 Commits

Author SHA1 Message Date
Frank Halasz
6eb5e8420e Typo in nethub builds for MacOS 2024-05-08 17:31:29 -07:00
Frank Halasz
a89e146d9a Enable nethub builds for MacOS as well 2024-05-08 17:26:05 -07:00
Frank Halasz
f6c09f9f03 Merge branch 'master' into fgh_nethub-build 2024-05-08 17:17:37 -07:00
Frank Halasz
4d589237ee Add ability to compile with -DMAIKO_ENABLE_NETHUB 2023-11-26 18:31:10 -08:00
53 changed files with 201 additions and 466 deletions

View File

@@ -18,7 +18,7 @@ COPY . ${INSTALL_LOCATION}
# Build maiko
RUN cd ${INSTALL_LOCATION}/bin \
&& ./makeright x cleanup \
&& ./makeright x
&& ./makeright x nethub
RUN cd ${INSTALL_LOCATION}/bin \
&& if [ "$(./machinetype)" = "x86_64" ]; then \
./makeright init; \

View File

@@ -339,6 +339,7 @@ jobs:
-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" \
-DMAIKO_DISPLAY_SDL=ON \
-DMAIKO_DISPLAY_X11=ON \
-DMAIKO_ENABLE_NETHUB=true \
-DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release
for exe in lde ldex ldesdl
@@ -412,7 +413,7 @@ jobs:
run: |
wget https://cygwin.com/setup-x86_64.exe -OutFile setup-x86_64.exe
Unblock-File setup-x86_64.exe
Start-Process setup-x86_64.exe -Wait -ArgumentList @("--root", ".\cygwin", "--quiet-mode", "--no-admin", "--wait", "--no-shortcuts", "--no-write-registry", "--verbose", "--site", "https://mirrors.kernel.org/sourceware/cygwin/", "--packages", "nano,binutils,make,cmake,gcc,clang")
Start-Process setup-x86_64.exe -Wait -ArgumentList @("--root", ".\cygwin", "--quiet-mode", "--no-admin", "--wait", "--no-shortcuts", "--no-write-registry", "--verbose", "--site", "http://www.gtlib.gatech.edu/pub/cygwin/", "--packages", "nano,binutils,make,cmake,gcc,clang")
cygwin\bin\bash -login -c 'sed -i -e "s/^none/#none/" /etc/fstab; echo "none / cygdrive binary,posix=0,user 0 0" >>/etc/fstab'
# Retrieve SDL2 and install in cygwin

1
.gitignore vendored
View File

@@ -10,7 +10,6 @@ cmake-build-*/**
.idea/
*.m68k-x/**
*.m68k/**
*.386-sdl/**
*.386-x/**
*.386/**
*.ppc-x/**

View File

@@ -46,8 +46,7 @@ SET(MAIKO_INIT_DEFINITIONS
)
OPTION(MAIKO_DISPLAY_X11 "Use X11 for display." ON)
SET(MAIKO_DISPLAY_SDL OFF CACHE STRING "Use SDL for display. Version: OFF, 2, 3")
SET_PROPERTY(CACHE MAIKO_DISPLAY_SDL PROPERTY STRINGS OFF 2 3)
OPTION(MAIKO_DISPLAY_SDL "Use SDL for display." OFF)
IF(MAIKO_DISPLAY_X11)
FIND_PACKAGE(X11 REQUIRED)
@@ -82,34 +81,19 @@ IF(MAIKO_DISPLAY_X11)
MESSAGE("-- Configured for X11 display")
ENDIF()
IF(MAIKO_DISPLAY_SDL STREQUAL "2")
IF(MAIKO_DISPLAY_SDL)
FIND_PACKAGE(SDL2 REQUIRED)
SET(MAIKO_DISPLAY_SDL_DEFINITIONS
"-DSDL=2"
"-DSDL"
)
SET(MAIKO_DISPLAY_SDL_INCLUDE_DIRS "${SDL2_INCLUDE_DIRS}")
SET(MAIKO_DISPLAY_SDL_LIBRARIES SDL2::SDL2)
SET(MAIKO_DISPLAY_SDL_LIBRARIES ${SDL2_LIBRARIES})
SET(MAIKO_DISPLAY_SDL_SRCS
src/sdl.c
)
SET(MAIKO_DISPLAY_SDL_HDRS
inc/sdldefs.h
)
MESSAGE("-- Configured for SDL2 display")
ELSEIF(MAIKO_DISPLAY_SDL STREQUAL "3")
FIND_PACKAGE(SDL3 REQUIRED)
SET(MAIKO_DISPLAY_SDL_DEFINITIONS
"-DSDL=3"
)
SET(MAIKO_DISPLAY_SDL_INCLUDE_DIRS "${SDL3_INCLUDE_DIRS}")
SET(MAIKO_DISPLAY_SDL_LIBRARIES SDL3::SDL3)
SET(MAIKO_DISPLAY_SDL_SRCS
src/sdl.c
)
SET(MAIKO_DISPLAY_SDL_HDRS
inc/sdldefs.h
)
MESSAGE("-- Configured for SDL3 display")
MESSAGE("-- Configured for SDL display")
ENDIF()
# according to: https://cmake.org/pipermail/cmake/2016-October/064342.html
@@ -444,23 +428,23 @@ ADD_CUSTOM_TARGET(gen-vdate
)
ADD_EXECUTABLE(lde src/ldeboot.c src/unixfork.c)
TARGET_COMPILE_DEFINITIONS(lde PRIVATE ${MAIKO_DEFINITIONS})
TARGET_INCLUDE_DIRECTORIES(lde PRIVATE inc)
TARGET_COMPILE_DEFINITIONS(lde PUBLIC ${MAIKO_DEFINITIONS})
TARGET_INCLUDE_DIRECTORIES(lde PUBLIC inc)
IF(MAIKO_DISPLAY_X11)
# Tell it that the X11 launcher is available.
TARGET_COMPILE_DEFINITIONS(lde PRIVATE ${MAIKO_DISPLAY_X11_DEFINITIONS})
TARGET_COMPILE_DEFINITIONS(lde PUBLIC ${MAIKO_DISPLAY_X11_DEFINITIONS})
# This is needed so that it can call XOpenDisplay.
TARGET_LINK_LIBRARIES(lde X11::X11)
ENDIF()
IF(MAIKO_DISPLAY_SDL)
# Tell it that the SDL launcher is available.
TARGET_COMPILE_DEFINITIONS(lde PRIVATE ${MAIKO_DISPLAY_SDL_DEFINITIONS})
TARGET_COMPILE_DEFINITIONS(lde PUBLIC ${MAIKO_DISPLAY_SDL_DEFINITIONS})
ENDIF()
ADD_EXECUTABLE(ldeether src/ldeether.c src/dlpi.c)
TARGET_COMPILE_DEFINITIONS(ldeether PRIVATE ${MAIKO_DEFINITIONS})
TARGET_INCLUDE_DIRECTORIES(ldeether PRIVATE inc)
TARGET_COMPILE_DEFINITIONS(ldeether PUBLIC ${MAIKO_DEFINITIONS})
TARGET_INCLUDE_DIRECTORIES(ldeether PUBLIC inc)
IF(MAIKO_DISPLAY_X11)
ADD_EXECUTABLE(ldex
@@ -471,8 +455,8 @@ IF(MAIKO_DISPLAY_X11)
${MAIKO_DISPLAY_X11_SRCS}
${MAIKO_DISPLAY_X11_HDRS}
)
TARGET_COMPILE_DEFINITIONS(ldex PRIVATE ${MAIKO_DEFINITIONS} ${MAIKO_DISPLAY_X11_DEFINITIONS})
TARGET_INCLUDE_DIRECTORIES(ldex PRIVATE inc)
TARGET_COMPILE_DEFINITIONS(ldex PUBLIC ${MAIKO_DEFINITIONS} ${MAIKO_DISPLAY_X11_DEFINITIONS})
TARGET_INCLUDE_DIRECTORIES(ldex PUBLIC inc)
TARGET_LINK_LIBRARIES(ldex ${MAIKO_LIBRARIES} ${MAIKO_DISPLAY_X11_LIBRARIES})
ADD_EXECUTABLE(ldeinit
@@ -483,8 +467,8 @@ IF(MAIKO_DISPLAY_X11)
${MAIKO_DISPLAY_X11_SRCS}
${MAIKO_DISPLAY_X11_HDRS}
)
TARGET_COMPILE_DEFINITIONS(ldeinit PRIVATE ${MAIKO_INIT_DEFINITIONS} ${MAIKO_DISPLAY_X11_DEFINITIONS})
TARGET_INCLUDE_DIRECTORIES(ldeinit PRIVATE inc)
TARGET_COMPILE_DEFINITIONS(ldeinit PUBLIC ${MAIKO_INIT_DEFINITIONS} ${MAIKO_DISPLAY_X11_DEFINITIONS})
TARGET_INCLUDE_DIRECTORIES(ldeinit PUBLIC inc)
TARGET_LINK_LIBRARIES(ldeinit ${MAIKO_LIBRARIES} ${MAIKO_DISPLAY_X11_LIBRARIES})
ENDIF()
@@ -497,32 +481,20 @@ IF(MAIKO_DISPLAY_SDL)
${MAIKO_DISPLAY_SDL_SRCS}
${MAIKO_DISPLAY_SDL_HDRS}
)
TARGET_COMPILE_DEFINITIONS(ldesdl PRIVATE ${MAIKO_DEFINITIONS} ${MAIKO_DISPLAY_SDL_DEFINITIONS})
TARGET_INCLUDE_DIRECTORIES(ldesdl PRIVATE inc)
TARGET_INCLUDE_DIRECTORIES(ldesdl PRIVATE ${MAIKO_DISPLAY_SDL_INCLUDE_DIRS})
IF(APPLE)
IF(MAIKO_DISPLAY_SDL STREQUAL "3")
#
# Until CMake properly supports .xcframeworks, https://gitlab.kitware.com/cmake/cmake/-/issues/25998
# we need to manually set the RPATH to produce a working executable
#
MESSAGE("-- Applying fixup for macOS RPATH for SDL3.xcframework")
SET_PROPERTY(TARGET ldesdl APPEND PROPERTY BUILD_RPATH "/Library/Frameworks/SDL3.xcframework/macos-arm64_x86_64")
#
ENDIF()
ENDIF()
TARGET_COMPILE_DEFINITIONS(ldesdl PUBLIC ${MAIKO_DEFINITIONS} ${MAIKO_DISPLAY_SDL_DEFINITIONS})
TARGET_INCLUDE_DIRECTORIES(ldesdl PUBLIC inc)
TARGET_INCLUDE_DIRECTORIES(ldesdl PRIVATE ${SDL2_INCLUDE_DIRS})
TARGET_LINK_LIBRARIES(ldesdl ${MAIKO_LIBRARIES} ${MAIKO_DISPLAY_SDL_LIBRARIES})
ENDIF()
ADD_EXECUTABLE(mkvdate src/mkvdate.c)
TARGET_COMPILE_DEFINITIONS(mkvdate PRIVATE ${MAIKO_DEFINITIONS})
TARGET_INCLUDE_DIRECTORIES(mkvdate PRIVATE inc)
TARGET_COMPILE_DEFINITIONS(mkvdate PUBLIC ${MAIKO_DEFINITIONS})
TARGET_INCLUDE_DIRECTORIES(mkvdate PUBLIC inc)
ADD_EXECUTABLE(setsout src/setsout.c src/byteswap.c)
TARGET_COMPILE_DEFINITIONS(setsout PRIVATE ${MAIKO_DEFINITIONS})
TARGET_INCLUDE_DIRECTORIES(setsout PRIVATE inc)
TARGET_COMPILE_DEFINITIONS(setsout PUBLIC ${MAIKO_DEFINITIONS})
TARGET_INCLUDE_DIRECTORIES(setsout PUBLIC inc)
ADD_EXECUTABLE(tstsout src/tstsout.c src/byteswap.c)
TARGET_COMPILE_DEFINITIONS(tstsout PRIVATE ${MAIKO_DEFINITIONS})
TARGET_INCLUDE_DIRECTORIES(tstsout PRIVATE inc)
TARGET_COMPILE_DEFINITIONS(tstsout PUBLIC ${MAIKO_DEFINITIONS})
TARGET_INCLUDE_DIRECTORIES(tstsout PUBLIC inc)

View File

@@ -5,17 +5,11 @@ CC = gcc -m64 $(GCC_CFLAGS) -I/usr/local/include
XFILES = $(OBJECTDIR)sdl.o
#
# For SDL version 2
# -DSDL=2 in XFLAGS and -lSDL2 in LDFLAGS
# For SDL version 3
# -DSDL=3 in XFLAGS and -lSDL3 in LDFLAGS
#
XFLAGS = -DSDL=2
XFLAGS = -DSDL
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g3
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE)
DFLAGS = $(XFLAGS) -DRELEASE=351
LDFLAGS = -lm -L/usr/local/lib -lSDL2
#

View File

@@ -18,7 +18,7 @@ XFLAGS = -DXWINDOW
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g3
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE)
DFLAGS = $(XFLAGS) -DRELEASE=351
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm

View File

@@ -19,7 +19,7 @@ XFLAGS = -I/opt/X11/include -DXWINDOW
OPTFLAGS = -O2 -g
DEBUGFLAGS = # -DDEBUG -DOPTRACE
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) \
-DRELEASE=$(RELEASE) # -DSTACKCHECK -DFSBCHECK -DPCTRACE
-DRELEASE=351 # -DSTACKCHECK -DFSBCHECK -DPCTRACE
LDFLAGS = -L/opt/X11/lib -lX11 -lm
LDELDFLAGS = -L/opt/X11/lib -lX11 -lm

View File

@@ -4,21 +4,14 @@ CC = clang -target aarch64-apple-darwin $(CLANG_CFLAGS)
XFILES = $(OBJECTDIR)sdl.o
#
# For SDL version 2
# -DSDL=2 in SDLFLAGS and -framework SDL2 in LDFLAGS
# For SDL version 3
# -DSDL=3 in SDLFLAGS and -framework SDL3 in LDFLAGS
#
SDLFLAGS = -DSDL=2 -F /Library/Frameworks
SDLFLAGS = -DSDL -F /Library/Frameworks
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g
DEBUGFLAGS = # -DDEBUG -DOPTRACE
DFLAGS = $(DEBUGFLAGS) $(SDLFLAGS) -DRELEASE=$(RELEASE)
DFLAGS = $(DEBUGFLAGS) $(SDLFLAGS) -DRELEASE=351
LDFLAGS = -rpath /Library/Frameworks -F /Library/Frameworks -framework SDL2
LDFLAGS = -F /Library/Frameworks -framework SDL2
LDELDFLAGS =
OBJECTDIR = ../$(RELEASENAME)/

View File

@@ -18,7 +18,7 @@ XFLAGS = -I/opt/X11/include -DXWINDOW
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2
DEBUGFLAGS = # -DDEBUG -DOPTRACE
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=$(RELEASE)
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=351
LDFLAGS = -L/opt/X11/lib -lX11 -lm
LDELDFLAGS = -L/opt/X11/lib -lX11 -lm

View File

@@ -19,7 +19,7 @@ XFLAGS = -I/usr/X11/include -DXWINDOW
OPTFLAGS = -O2 -g
DEBUGFLAGS = # -DDEBUG -DOPTRACE
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) \
-DRELEASE=$(RELEASE)
-DRELEASE=351
LDFLAGS = -L/usr/X11/lib -lX11 -lm
LDELDFLAGS = -L/usr/X11/lib -lX11 -lm

View File

@@ -2,22 +2,16 @@
CC = clang -m64 -target x86_64-apple-darwin $(CLANG_CFLAGS)
#
# For SDL version 2
# -DSDL=2 in SDLFLAGS and -framework SDL2 in LDFLAGS
# For SDL version 3
# -DSDL=3 in SDLFLAGS and -framework SDL3 in LDFLAGS
#
XFILES = $(OBJECTDIR)sdl.o
SDLFLAGS = -DSDL=2 -F /Library/Frameworks
SDLFLAGS = -DSDL -F /Library/Frameworks
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g
DEBUGFLAGS = # -DDEBUG -DOPTRACE
DFLAGS = $(DEBUGFLAGS) $(SDLFLAGS) -DRELEASE=$(RELEASE)
DFLAGS = $(DEBUGFLAGS) $(SDLFLAGS) -DRELEASE=351
LDFLAGS = -rpath /Library/Frameworks -F /Library/Frameworks -framework SDL2
LDFLAGS = -F /Library/Frameworks -framework SDL2
LDELDFLAGS =
OBJECTDIR = ../$(RELEASENAME)/

View File

@@ -18,7 +18,7 @@ XFLAGS = -I/opt/X11/include -DXWINDOW
# OPTFLAGS is normally -O2.
OPTFLAGS = -O1 -g
DEBUGFLAGS = # -DDEBUG -DOPTRACE
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=$(RELEASE)
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=351
LDFLAGS = -L/opt/X11/lib -lX11 -lm
LDELDFLAGS = -L/opt/X11/lib -lX11 -lm

View File

@@ -4,17 +4,11 @@ CC = emcc $(CLANG_CFLAGS)
XFILES = $(OBJECTDIR)sdl.o
#
# For SDL version 2
# -DSDL=2 and -sUSE_SDL=2 in XFLAGS and -sUSE_SDL=2 in LDFLAGS
# For SDL version 3
# -DSDL=3 and -sUSE_SDL=3 in XFLAGS and -sUSE_SDL=3 in LDFLAGS
#
XFLAGS = -DSDL=2 -sUSE_SDL=2
XFLAGS = -DSDL -sUSE_SDL=2
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) -DMAIKO_ENABLE_NETHUB
DFLAGS = $(XFLAGS) -DRELEASE=351 -DMAIKO_ENABLE_NETHUB
MEDLEY?=../../medley
SYSOUT?=$(MEDLEY)/loadups/full.sysout

View File

@@ -4,17 +4,11 @@ CC = emcc $(CLANG_CFLAGS)
XFILES = $(OBJECTDIR)sdl.o
#
# For SDL version 2
# -DSDL=2 and -sUSE_SDL=2 in XFLAGS and -sUSE_SDL=2 in LDFLAGS
# For SDL version 3
# -DSDL=3 and -sUSE_SDL=3 in XFLAGS and -sUSE_SDL=3 in LDFLAGS
#
XFLAGS = -DSDL=2 -sUSE_SDL=2
XFLAGS = -DSDL -sUSE_SDL=2
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) -DMAIKO_ENABLE_NETHUB
DFLAGS = $(XFLAGS) -DRELEASE=351 -DMAIKO_ENABLE_NETHUB
MEDLEY?=../../medley
SYSOUT?=$(MEDLEY)/loadups/full.sysout

View File

@@ -4,17 +4,11 @@ CC = clang -m32 $(CLANG_CFLAGS)
XFILES = $(OBJECTDIR)sdl.o
#
# For SDL version 2
# -DSDL=2 in SDLFLAGS and -lSDL2 in LDFLAGS
# For SDL version 3
# -DSDL=3 in SDLFLAGS and -lSDL3 in LDFLAGS
#
SDLFLAGS = -DSDL=2 -I/usr/local/include
SDLFLAGS = -DSDL -I/usr/local/include
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g
DFLAGS = $(SDLFLAGS) -DRELEASE=$(RELEASE)
DFLAGS = $(SDLFLAGS) -DRELEASE=351
LDFLAGS = -L/usr/local/lib -lSDL2 -lm
LDELDFLAGS =

View File

@@ -17,7 +17,7 @@ XFLAGS = -I/usr/local/include -DXWINDOW
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE)
DFLAGS = $(XFLAGS) -DRELEASE=351
LDFLAGS = -L/usr/local/lib -lX11 -lc -lm
LDELDFLAGS = -L/usr/local/lib -lX11 -lc -lm

View File

@@ -4,17 +4,11 @@ CC = clang -m64 $(CLANG_CFLAGS)
XFILES = $(OBJECTDIR)sdl.o
#
# For SDL version 2
# -DSDL=2 in SDLFLAGS and -lSDL2 in LDFLAGS
# For SDL version 3
# -DSDL=3 in SDLFLAGS and -lSDL3 in LDFLAGS
#
SDLFLAGS = -DSDL=2 -I/usr/local/include
SDLFLAGS = -DSDL -I/usr/local/include
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g
DFLAGS = $(SDLFLAGS) -DRELEASE=$(RELEASE)
DFLAGS = $(SDLFLAGS) -DRELEASE=351
LDFLAGS = -L/usr/local/lib -lSDL2 -lm
LDELDFLAGS =

View File

@@ -17,7 +17,7 @@ XFLAGS = -I/usr/local/include -DXWINDOW
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE)
DFLAGS = $(XFLAGS) -DRELEASE=351
LDFLAGS = -L/usr/local/lib -lX11 -lc -lm
LDELDFLAGS = -L/usr/local/lib -lX11 -lc -lm

View File

@@ -4,17 +4,11 @@ CC = clang -m64 $(CLANG_CFLAGS)
XFILES = $(OBJECTDIR)sdl.o
#
# For SDL version 2
# -DSDL=2 in SDLFLAGS and -lSDL2 in LDFLAGS
# For SDL version 3
# -DSDL=3 in SDLFLAGS and -lSDL3 in LDFLAGS
#
SDLFLAGS = -DSDL=2 -I/usr/local/include
SDLFLAGS = -DSDL -I/usr/local/include
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g
DFLAGS = $(SDLFLAGS) -DRELEASE=$(RELEASE)
DFLAGS = $(SDLFLAGS) -DRELEASE=351
LDFLAGS = -L/usr/local/lib -lSDL2 -lm
LDELDFLAGS =

View File

@@ -17,7 +17,7 @@ XFLAGS = -I/usr/local/include -DXWINDOW
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE)
DFLAGS = $(XFLAGS) -DRELEASE=351
LDFLAGS = -L/usr/local/lib -lX11 -lc -lm
LDELDFLAGS = -L/usr/local/lib -lX11 -lc -lm

View File

@@ -5,17 +5,11 @@ CC = gcc -m64 $(GCC_CFLAGS)
XFILES = $(OBJECTDIR)sdl.o
#
# For SDL version 2
# -DSDL=2 in XFLAGS and -lSDL2 in LDFLAGS
# For SDL version 3
# -DSDL=3 in XFLAGS and -lSDL3 in LDFLAGS
#
XFLAGS = -DSDL=2
XFLAGS = -DSDL
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g3
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE)
DFLAGS = $(XFLAGS) -DRELEASE=351
LDFLAGS = -lSDL2 -lnetwork
LDELDFLAGS = -lnetwork -lbsd

View File

@@ -18,7 +18,7 @@ XFLAGS = -I/opt/X11/include -DXWINDOW
# OPTFLAGS is normally -O2, for INIT we want unoptimized in case we need to debug it
OPTFLAGS = -O0 -g
DEBUGFLAGS =
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=$(RELEASE) -DNOVERSION -DINIT
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=351 -DNOVERSION -DINIT
LDFLAGS = -L/usr/X11/lib -lX11 -lm
LDELDFLAGS = -L/usr/X11/lib -lX11 -lm

View File

@@ -18,7 +18,7 @@ XFLAGS = -I/opt/X11/include -DXWINDOW
# OPTFLAGS is normally -O2.
OPTFLAGS = -O0 -g3
DEBUGFLAGS = # -DDEBUG -DOPTRACE
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=$(RELEASE) -DNOVERSION -DINIT
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=351 -DNOVERSION -DINIT
LDFLAGS = -L/opt/X11/lib -lX11 -lm
LDELDFLAGS = -L/opt/X11/lib -lX11 -lm

View File

@@ -18,7 +18,7 @@ XFLAGS = -I/opt/X11/include -DXWINDOW
# OPTFLAGS is normally -O2.
OPTFLAGS = -O0 -g
DEBUGFLAGS = # -DDEBUG -DOPTRACE
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=$(RELEASE) -DNOVERSION -DINIT
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=351 -DNOVERSION -DINIT
LDFLAGS = -L/opt/X11/lib -lX11 -lm
LDELDFLAGS = -L/opt/X11/lib -lX11 -lm

View File

@@ -17,7 +17,7 @@ XFLAGS = -I/usr/local/include -DXWINDOW
# OPTFLAGS is normally -O0 for init
OPTFLAGS = -O0 -g
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) -DNOVERSION -DINIT
DFLAGS = $(XFLAGS) -DRELEASE=351 -DNOVERSION -DINIT
LDFLAGS = -L/usr/local/lib -lX11 -lc -lm
LDELDFLAGS = -L/usr/local/lib -lX11 -lc -lm

View File

@@ -17,7 +17,7 @@ XFLAGS = -I/usr/local/include -DXWINDOW
# OPTFLAGS is normally -O0 for init
OPTFLAGS = -O0 -g
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) -DNOVERSION -DINIT
DFLAGS = $(XFLAGS) -DRELEASE=351 -DNOVERSION -DINIT
LDFLAGS = -L/usr/local/lib -lX11 -lc -lm
LDELDFLAGS = -L/usr/local/lib -lX11 -lc -lm

View File

@@ -17,7 +17,7 @@ XFLAGS = -I/usr/local/include -DXWINDOW
# OPTFLAGS is normally -O0 for init
OPTFLAGS = -O0 -g
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) -DNOVERSION -DINIT
DFLAGS = $(XFLAGS) -DRELEASE=351 -DNOVERSION -DINIT
LDFLAGS = -L/usr/local/lib -lX11 -lc -lm
LDELDFLAGS = -L/usr/local/lib -lX11 -lc -lm

View File

@@ -19,7 +19,7 @@ XFLAGS = -DXWINDOW
# OPTFLAGS is normally -O2, for INIT we want unoptimized in case we need to debug it
OPTFLAGS = -O0 -g
DEBUGFLAGS =
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=$(RELEASE) -DNOVERSION -DINIT
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=351 -DNOVERSION -DINIT
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm

View File

@@ -19,7 +19,7 @@ XFLAGS = -DXWINDOW
# OPTFLAGS is normally -O2, for INIT we want unoptimized in case we need to debug it
OPTFLAGS = -O0 -g
DEBUGFLAGS =
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=$(RELEASE) -DNOVERSION -DINIT
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=351 -DNOVERSION -DINIT
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm

View File

@@ -17,7 +17,7 @@ XFLAGS = -I/usr/X11R6/include -DXWINDOW
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g3
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) -DNOVERSION -DINIT
DFLAGS = $(XFLAGS) -DRELEASE=351 -DNOVERSION -DINIT
LDFLAGS = -L/usr/X11R6/lib -lX11 -lc -lm
LDELDFLAGS = -L/usr/X11R6/lib -lX11 -lc -lm

View File

@@ -50,7 +50,7 @@ DFLAGS = -DINIT \
$(XFLAGS) \
$(DEBUGFLAGS) \
$(MACHINEFLAGS) \
-DNOVERSION -DRELEASE=$(RELEASE)
-DNOVERSION -DRELEASE=351
LDFLAGS = -lX11 -lc -lm -lsocket -lnsl

View File

@@ -5,17 +5,11 @@ CC = gcc -m32 $(GCC_CFLAGS)
XFILES = $(OBJECTDIR)sdl.o
#
# For SDL version 2
# -DSDL=2 in XFLAGS and -lSDL2 in LDFLAGS
# For SDL version 3
# -DSDL=3 in XFLAGS and -lSDL3 in LDFLAGS
#
XFLAGS = -DSDL=2
XFLAGS = -DSDL
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g3
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE)
DFLAGS = $(XFLAGS) -DRELEASE=351
LDFLAGS = -lm -lSDL2
LDELDFLAGS =

View File

@@ -17,7 +17,7 @@ XFLAGS = -DXWINDOW
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g3
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE)
DFLAGS = $(XFLAGS) -DRELEASE=351
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm

View File

@@ -5,17 +5,11 @@ CC = gcc $(GCC_CFLAGS)
XFILES = $(OBJECTDIR)sdl.o
#
# For SDL version 2
# -DSDL=2 in SDLFLAGS and -lSDL2 in LDFLAGS
# For SDL version 3
# -DSDL=3 in SDLFLAGS and -lSDL3 in LDFLAGS
#
SDLFLAGS = -DSDL=2
SDLFLAGS = -DSDL
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g3
DFLAGS = $(SDLFLAGS) -DRELEASE=$(RELEASE)
DFLAGS = $(SDLFLAGS) -DRELEASE=351
LDFLAGS = -lSDL2 -lm
LDELDFLAGS =

View File

@@ -17,7 +17,7 @@ XFLAGS = -DXWINDOW
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g3
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE)
DFLAGS = $(XFLAGS) -DRELEASE=351
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm

View File

@@ -5,17 +5,11 @@ CC = gcc $(GCC_CFLAGS)
XFILES = $(OBJECTDIR)sdl.o
#
# For SDL version 2
# -DSDL=2 in XFLAGS and -lSDL2 in LDFLAGS
# For SDL version 3
# -DSDL=3 in XFLAGS and -lSDL3 in LDFLAGS
#
XFLAGS = -DSDL=2
XFLAGS = -DSDL
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g3
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE)
DFLAGS = $(XFLAGS) -DRELEASE=351
LDFLAGS = -lm -lSDL2
LDELDFLAGS =

View File

@@ -17,7 +17,7 @@ XFLAGS = -DXWINDOW
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g3
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE)
DFLAGS = $(XFLAGS) -DRELEASE=351
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm

View File

@@ -5,17 +5,11 @@ CC = gcc -m64 $(GCC_CFLAGS)
XFILES = $(OBJECTDIR)sdl.o
#
# For SDL version 2
# -DSDL=2 in XFLAGS and -lSDL2 in LDFLAGS
# For SDL version 3
# -DSDL=3 in XFLAGS and -lSDL3 in LDFLAGS
#
XFLAGS = -DSDL=2
XFLAGS = -DSDL
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g3
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE)
DFLAGS = $(XFLAGS) -DRELEASE=351
LDFLAGS = -lm -lSDL2
LDELDFLAGS =

View File

@@ -18,7 +18,7 @@ XFLAGS = -DXWINDOW
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g3
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE)
DFLAGS = $(XFLAGS) -DRELEASE=351
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm

View File

@@ -17,7 +17,7 @@ XFLAGS = -I/usr/X11R6/include -DXWINDOW
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g3
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE)
DFLAGS = $(XFLAGS) -DRELEASE=351
LDFLAGS = -L/usr/X11R6/lib -lX11 -lc -lm
LDELDFLAGS = -L/usr/X11R6/lib -lX11 -lc -lm

View File

@@ -36,7 +36,7 @@ DEBUGFLAGS = # -DSTACKCHECK -DFNSTKCHECK
DFLAGS = $(XFLAGS) \
$(DEBUGFLAGS) \
-DOS5 \
-DRELEASE=$(RELEASE)
-DRELEASE=351
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lsocket -lnsl
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lsocket -lnsl

View File

@@ -45,7 +45,7 @@ MACHINEFLAGS = -DOS5 -DUSE_DLPI
DFLAGS = $(XFLAGS) \
$(DEBUGFLAGS) \
$(MACHINEFLAGS) \
-DRELEASE=$(RELEASE)
-DRELEASE=351
LDFLAGS = -lX11 -lc -lm -lsocket -lnsl
LDELDFLAGS = -lX11 -lc -lm -lsocket -lnsl

View File

@@ -37,7 +37,7 @@ DFLAGS = $(XFLAGS) \
$(DEBUGFLAGS) \
-DOS5 \
-DUSE_DLPI \
-DRELEASE=$(RELEASE)
-DRELEASE=351
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lsocket -lnsl
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lsocket -lnsl

View File

@@ -20,7 +20,7 @@
# Nov 20 2001 JDS: Convert to use BASH, not CSH, for open-source...
#
# usage: makeright [display-option] [other-option]
#
#
# example: makeright single ; make lde for mmaped displayFB
# makeright multi ; make lde for cg3,cg6
# makeright x ; make lde for X-windows
@@ -33,31 +33,44 @@
#
# makeright init requires directory "maiko/init.${architecture}
#
# Note: X11R4 environment link shared libraries.
# lde need X library. If lde links shared libraries,
# Note: X11R4 environment link shared libraries.
# lde need X library. If lde links shared libraries,
# X shared libraries are needed at run time.
#
# Hide X shared libraries from link libraries search path.
LD_LIBRARY_PATH=/usr/local/lib
LD_LIBRARY_PATH=/usr/local/lib
export PATH=".:$PATH"
noshift="false"
if test "$1" = ""
then
display="single"
noshift="true"
elif test "$1" = "nethub"
then
display="single"
noshift="true"
else
display="$1"
noshift="false"
fi
if test $# -gt 0
if test "$noshift" = "false"
then
shift
fi
: ${RELEASE=351}
nethub="false"
if test "$1" = "nethub"
then
nethub="true"
shift
fi
architecture=`machinetype`
osversion=`osversion`
echo "making release ${RELEASE} for ${osversion} on ${architecture}."
echo "making so far for ${osversion} on ${architecture}."
case "$display" in
init) display=single
releasename=init-${osversion}.${architecture}
@@ -72,7 +85,7 @@ case "$display" in
x) releasename=${osversion}.${architecture}-${display}
ldename=ldex
;;
sdl*) releasename=${osversion}.${architecture}-${display}
sdl) releasename=${osversion}.${architecture}-${display}
ldename=ldesdl
;;
wasm) osversion=emscripten
@@ -107,12 +120,17 @@ if [ ! -d ../${releasename} ]; then
mkdir ../${releasename}
fi
echo start making lde for ${releasename}
echo start making lde for ${releasename}.
# then finally do the make, including the right stuff
# With makefile-tail merged, this should only take ONE make command....
make RELEASENAME=${releasename} RELEASE=${RELEASE} LDENAME=${ldename} \
cp -p makefile-${releasename} /tmp/makefile-${releasename}-$$
if test "$nethub" = "true"
then
sed -e "/^DFLAGS = /s/$/ -DMAIKO_ENABLE_NETHUB/" -i /tmp/makefile-${releasename}-$$
fi
make RELEASENAME=${releasename} LDENAME=${ldename} \
OSARCHNAME=${osversion}.${architecture} \
-f makefile-header -f makefile-${releasename} \
-f makefile-header -f /tmp/makefile-${releasename}-$$ \
-f makefile-tail $*

View File

@@ -137,7 +137,7 @@ void clear_display(void) {
#else /* COLOR */
void clear_display(void) {
DLword *word;
short *word;
int w, h;
if (MonoOrColor == MONO_SCREEN) {
#ifndef DISPLAYBUFFER
@@ -150,7 +150,7 @@ void clear_display(void) {
0);
#endif /* DISPLAYBUFFER */
} else { /* MonoOrColo is COLOR_SCREEN */
word = ColorDisplayRegion68k;
word = (short *)ColorDisplayRegion68k;
for (h = displayheight; (h--);) {
for (w = DisplayRasterWidth * 8; (w--);) { *word++ = 0; }
} /* end for(h) */

View File

@@ -15,10 +15,7 @@
#include <stdio.h> // for perror, fprintf, printf, stderr, sprintf
#include <stdlib.h> // for exit, free, malloc
#include <string.h> // for memset
#include <sys/mman.h> // for mmap, MAP_FAILED
#ifndef MAP_FAILED
#define MAP_FAILED ((void *)-1)
#endif
#include <sys/mman.h> // for mmap
#include <sys/stat.h> // for stat, fstat
#include <sys/types.h> // for off_t
#include <unistd.h> // for lseek, read, close, getpagesize

View File

@@ -229,11 +229,7 @@ int display_max = 65536 * 16 * 2;
/* diagnostic flag for sysout dumping */
extern unsigned maxpages;
char sysout_name_cl[MAXPATHLEN] = "\0"; /* sysout name as per -sysout command line arg ; Set by read_Xoption, in the X version. */
char sysout_name_xrm[MAXPATHLEN] = "\0"; /* sysout name as per X resource manager, if any */
char sysout_name_first_arg[MAXPATHLEN] = "\0"; /* sysout name as per 1st command line arg, if any */
char sysout_name[MAXPATHLEN] = "\0"; /* "final" sysout name chosen from above */
char sysout_name[MAXPATHLEN]; /* Set by read_Xoption, in the X version. */
unsigned sysout_size = 0; /* ditto */
int flushing = FALSE; /* see dbprint.h if set, all debug/trace printing will call fflush(stdout) after each printf */
@@ -342,25 +338,6 @@ int main(int argc, char *argv[])
}
#endif /* MAIKO_ENABLE_FOREIGN_FUNCTION_INTERFACE */
#ifdef PROFILE
moncontrol(0); /* initially stop sampling */
#endif /* PROFILE */
//
//
// Process Command Line Arguments
//
//
// First check if the first argument is a sysout name
// and save it away if it is in case the X windows
// arg processing changes argc/argv
if (argc > 1 && argv[1][0] != '-') {
strncpy(sysout_name_first_arg, argv[1], MAXPATHLEN);
i++;
}
#ifdef XWINDOW
read_Xoption(&argc, argv);
#endif /* XWINDOW */
@@ -368,6 +345,17 @@ int main(int argc, char *argv[])
save_argc = argc;
save_argv = argv;
#ifdef PROFILE
moncontrol(0); /* initially stop sampling */
#endif /* PROFILE */
/* Sysout is found as follows:
If the first argument doesn't begin with '-', assume it's the sysout
Look at the environment variable LDESRCESYSOUT if that fails
Look for ~/lisp.virtualmem if that fails
Barf and print the command line if tha fails
*/
i = 1;
if (argv[i] && ((strcmp(argv[i], "-info") == 0) || (strcmp(argv[i], "-INFO") == 0))) {
@@ -380,23 +368,35 @@ int main(int argc, char *argv[])
exit(0);
}
if (argc > 1 && argv[1][0] != '-') {
strncpy(sysout_name, argv[1], MAXPATHLEN);
i++;
} else if ((envname = getenv("LDESRCESYSOUT")) != NULL) {
strncpy(sysout_name, envname, MAXPATHLEN);
} else if ((envname = getenv("LDESOURCESYSOUT")) != NULL)
strncpy(sysout_name, envname, MAXPATHLEN);
else {
#ifdef DOS
strncpy(sysout_name, "lisp.vm", MAXPATHLEN);
#else
if ((envname = getenv("HOME")) != NULL) {
strncpy(sysout_name, envname, MAXPATHLEN);
strncat(sysout_name, "/lisp.virtualmem", MAXPATHLEN - 17);
}
#endif /* DOS */
}
if (access(sysout_name, R_OK)) {
perror("Couldn't find a sysout to run");
(void)fprintf(stderr, "%s%s", helpstring, nethubHelpstring);
exit(1);
}
/* OK, sysout name is now in sysout_name, and i is moved past a supplied name */
for (; i < argc; i += 1) { /* step by 1 in case of typo */
// NOTE: in the case of X Windows, some of the args being checked for in this loop
// have already been processed (and removed from argv) by the call to read_Xoption()
// above. (See readXoption() in xrdopt.c)
/* Check for -sysout arg */
if (!strcmp(argv[i], "-sysout")) {
if (argc > ++i) {
strncpy(sysout_name_cl, argv[i], MAXPATHLEN);
}
}
/* -t and -m are undocumented and somewhat dangerous... */
else if (!strcmp(argv[i], "-t")) { /**** timer interval ****/
if (!strcmp(argv[i], "-t")) { /**** timer interval ****/
if (argc > ++i) {
errno = 0;
tmpint = strtol(argv[i], (char **)NULL, 10);
@@ -610,47 +610,6 @@ int main(int argc, char *argv[])
}
}
//
// OK, now we can process the sysout_name
// Order of priority:
// 1. Value of -sysout command line arg
// 2. Value of the first command line arg
// 3. Value of LDESRCESYSOUT env variable
// 4. Value of LDESOURCESYSOUT env variable
// 5. Value as determined by X resource manager, if any
// 6. Value of $HOME/lisp.virtualmem (or lisp.vm for DOS)
//
if (sysout_name_cl[0] != '\0') { strncpy(sysout_name, sysout_name_cl, MAXPATHLEN); }
else if (sysout_name_first_arg[0] != '\0') { strncpy(sysout_name, sysout_name_first_arg, MAXPATHLEN); }
else if ((envname = getenv("LDESRCESYSOUT")) != NULL) { strncpy(sysout_name, envname, MAXPATHLEN); }
else if ((envname = getenv("LDESOURCESYSOUT")) != NULL) { strncpy(sysout_name, envname, MAXPATHLEN); }
else if (sysout_name_xrm[0] != '\0') { strncpy(sysout_name, sysout_name_xrm, MAXPATHLEN); }
else {
#ifdef DOS
strncpy(sysout_name, "lisp.vm", MAXPATHLEN);
#else
if ((envname = getenv("HOME")) != NULL) {
strncpy(sysout_name, envname, MAXPATHLEN);
strncat(sysout_name, "/lisp.virtualmem", MAXPATHLEN - 17);
}
#endif /* DOS */
}
if ((sysout_name[0] == '\0') || (access(sysout_name, R_OK))) {
perror("Couldn't find a sysout to run");
fprintf(stderr, "Looking for: %s\n", sysout_name);
(void)fprintf(stderr, "%s%s", helpstring, nethubHelpstring);
exit(1);
}
/* OK, sysout name is now in sysout_name */
//
//
// End of command line arg processing
//
//
/* Sanity checks. */
#ifdef DOS
probemouse(); /* See if the mouse is connected. */

View File

@@ -35,7 +35,6 @@
#ifdef BIGVM
#define SWA_FNHEAD
#else
#include "byteswapdefs.h" // for swapx
#define SWA_FNHEAD swapx
#endif /* BIGVM */

View File

@@ -29,10 +29,6 @@
#include "lspglob.h"
#include "lsptypes.h" // for Listp
#include "rplconsdefs.h" // for N_OP_rplcons
#ifndef NEWCDRCODING
#include "gcdata.h"
#include "address.h"
#endif
/***************************************************/

125
src/sdl.c
View File

@@ -1,8 +1,7 @@
#include "version.h"
#include <SDL2/SDL.h>
#include <SDL2/SDL_keycode.h>
#include <assert.h>
#include <limits.h>
#include <stdlib.h>
#include <sys/types.h>
#include "sdldefs.h"
#include "byteswapdefs.h"
#include "lispemul.h"
@@ -11,20 +10,8 @@
#include "lspglob.h" // for IOPage
#include "display.h" // for CURSORHEIGHT, DisplayRegion68k
#if SDL == 2
#include <SDL2/SDL.h>
#include <SDL2/SDL_keycode.h>
#elif SDL == 3
#include <SDL3/SDL.h>
#include <SDL3/SDL_keycode.h>
#else
#error Unrecognized SDL version number, neither 2 nor 3
#endif
/* if SDLRENDERING is defined, render to a texture rather than
* using the window surface
*
* XXX: With SDL3, using the window surface results in a black screen
*/
#define SDLRENDERING 1
@@ -46,7 +33,7 @@ static Uint32 sdl_foreground;
static Uint32 sdl_background;
static int sdl_bytesperpixel;
static SDL_PixelFormat *sdl_pixelformat;
static int sdl_window_focusp = 0;
extern void kb_trans(u_short keycode, u_short upflg);
extern int error(const char *s);
@@ -545,11 +532,7 @@ static void sdl_update_viewport(int width, int height) {
r.w = w;
r.h = h;
#if defined(SDLRENDERING)
#if SDL_MAJOR_VERSION == 2
SDL_RenderSetViewport(sdl_renderer, &r);
#else
SDL_SetRenderViewport(sdl_renderer, &r);
#endif
#endif
printf("new viewport: %d / %d\n", w, h);
}
@@ -570,11 +553,7 @@ void sdl_setMousePosition(int x, int y) {
#if defined(SDLRENDERING)
void sdl_update_display() {
sdl_bitblt_to_texture(min_x, min_y, max_x - min_x, max_y - min_y);
#if SDL_MAJOR_VERSION == 2
SDL_RenderCopy(sdl_renderer, sdl_texture, NULL, NULL);
#else
SDL_RenderTexture(sdl_renderer, sdl_texture, NULL, NULL);
#endif
SDL_RenderPresent(sdl_renderer);
}
#else
@@ -594,11 +573,7 @@ void sdl_update_display() {
s.w = r.w * sdl_pixelscale;
s.h = r.h * sdl_pixelscale;
sdl_bitblt_to_buffer(r.x, r.y, r.w, r.h);
#if SDL_MAJOR_VERSION == 2
SDL_LowerBlitScaled(sdl_buffersurface, &r, sdl_windowsurface, &s);
#else
SDL_BlitSurfaceUncheckedScaled(sdl_buffersurface, &r, sdl_windowsurface, &s, SDL_SCALEMODE_NEAREST);
#endif
SDL_UpdateWindowSurfaceRects(sdl_window, &s, 1);
}
}
@@ -608,15 +583,10 @@ void process_SDLevents() {
SDL_Event event;
while (SDL_PollEvent(&event)) {
switch (event.type) {
#if SDL_MAJOR_VERSION == 2
case SDL_QUIT:
#else
case SDL_EVENT_QUIT:
#endif
printf("quitting\n");
exit(0);
break;
#if SDL_MAJOR_VERSION == 2
case SDL_WINDOWEVENT:
switch (event.window.event) {
case SDL_WINDOWEVENT_RESIZED:
@@ -625,37 +595,9 @@ void process_SDLevents() {
sdl_windowheight = event.window.data2;
sdl_update_viewport(sdl_windowwidth, sdl_windowheight);
break;
case SDL_WINDOWEVENT_ENTER:
break;
case SDL_WINDOWEVENT_LEAVE:
break;
case SDL_WINDOWEVENT_SHOWN:
break;
case SDL_WINDOWEVENT_HIDDEN:
break;
case SDL_WINDOWEVENT_EXPOSED:
break;
case SDL_WINDOWEVENT_FOCUS_GAINED:
sdl_window_focusp = 1;
break;
case SDL_WINDOWEVENT_FOCUS_LOST:
sdl_window_focusp = 0;
break;
}
break;
#else
case SDL_EVENT_WINDOW_RESIZED:
/* XXX: what about integer multiple of 32 requirements here? */
sdl_windowwidth = event.window.data1;
sdl_windowheight = event.window.data2;
sdl_update_viewport(sdl_windowwidth, sdl_windowheight);
break;
#endif
#if SDL_MAJOR_VERSION == 2
case SDL_KEYDOWN:
#else
case SDL_EVENT_KEY_DOWN:
#endif
#if 0
printf("dn ts: %x, type: %x, state: %x, repeat: %x, scancode: %x, sym: %x <%s>, mod: %x\n",
event.key.timestamp, event.key.type, event.key.state, event.key.repeat,
@@ -668,11 +610,7 @@ void process_SDLevents() {
}
handle_keydown(event.key.keysym.sym, event.key.keysym.mod);
break;
#if SDL_MAJOR_VERSION == 2
case SDL_KEYUP:
#else
case SDL_EVENT_KEY_UP:
#endif
#if 0
printf("up ts: %x, type: %x, state: %x, repeat: %x, scancode: %x, sym: %x <%s>, mod: %x\n",
event.key.timestamp, event.key.type, event.key.state, event.key.repeat,
@@ -681,37 +619,19 @@ void process_SDLevents() {
#endif
handle_keyup(event.key.keysym.sym, event.key.keysym.mod);
break;
#if SDL_MAJOR_VERSION == 2
case SDL_MOUSEMOTION: {
int x, y;
#else
case SDL_EVENT_MOUSE_MOTION: {
int ix, iy;
float x, y;
#endif
if (!sdl_window_focusp) break;
SDL_GetMouseState(&x, &y);
x /= sdl_pixelscale;
y /= sdl_pixelscale;
*CLastUserActionCell68k = MiscStats->secondstmp;
#if SDL_MAJOR_VERSION == 2
*EmCursorX68K = (*((DLword *)EmMouseX68K)) = (short)(x & 0xFFFF);
*EmCursorY68K = (*((DLword *)EmMouseY68K)) = (short)(y & 0xFFFF);
#else
ix = x;
iy = y;
*EmCursorX68K = (*((DLword *)EmMouseX68K)) = (short)(ix & 0xFFFF);
*EmCursorY68K = (*((DLword *)EmMouseY68K)) = (short)(iy & 0xFFFF);
#endif
DoRing();
if ((KBDEventFlg += 1) > 0) Irq_Stk_End = Irq_Stk_Check = 0;
break;
}
#if SDL_MAJOR_VERSION == 2
case SDL_MOUSEBUTTONDOWN: {
#else
case SDL_EVENT_MOUSE_BUTTON_DOWN: {
#endif
switch (event.button.button) {
case SDL_BUTTON_LEFT: PUTBASEBIT68K(EmRealUtilin68K, MOUSE_LEFT, FALSE); break;
case SDL_BUTTON_MIDDLE: PUTBASEBIT68K(EmRealUtilin68K, MOUSE_MIDDLE, FALSE); break;
@@ -721,11 +641,7 @@ void process_SDLevents() {
if ((KBDEventFlg += 1) > 0) Irq_Stk_End = Irq_Stk_Check = 0;
break;
}
#if SDL_MAJOR_VERSION == 2
case SDL_MOUSEBUTTONUP: {
#else
case SDL_EVENT_MOUSE_BUTTON_UP: {
#endif
switch (event.button.button) {
case SDL_BUTTON_LEFT: PUTBASEBIT68K(EmRealUtilin68K, MOUSE_LEFT, TRUE); break;
case SDL_BUTTON_MIDDLE: PUTBASEBIT68K(EmRealUtilin68K, MOUSE_MIDDLE, TRUE); break;
@@ -735,17 +651,11 @@ void process_SDLevents() {
if ((KBDEventFlg += 1) > 0) Irq_Stk_End = Irq_Stk_Check = 0;
break;
}
#if SDL_MAJOR_VERSION == 2
case SDL_MOUSEWHEEL:
#else
case SDL_EVENT_MOUSE_WHEEL:
#endif
/*
printf("mousewheel mouse %d x %d y %d direction %s\n", event.wheel.which, event.wheel.x,
event.wheel.y,
event.wheel.direction == SDL_MOUSEWHEEL_NORMAL ? "normal" : "flipped");
*/
/*
these are the 4 key bits for mouse wheel/trackpad scrolling - which unlike X11 are
*not* presented as mouse button down/up events for each scroll action
@@ -788,12 +698,8 @@ int init_SDL(char *windowtitle, int w, int h, int s) {
return 1;
}
printf("initialised\n");
#if SDL_MAJOR_VERSION == 2
sdl_window = SDL_CreateWindow(windowtitle, SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED,
sdl_windowwidth, sdl_windowheight, 0);
#else
sdl_window = SDL_CreateWindow(windowtitle, sdl_windowwidth, sdl_windowheight, 0);
#endif
printf("Window created\n");
if (sdl_window == NULL) {
printf("Window could not be created. SDL_Error: %s\n", SDL_GetError());
@@ -801,11 +707,7 @@ int init_SDL(char *windowtitle, int w, int h, int s) {
}
#if defined(SDLRENDERING)
printf("Creating renderer...\n");
#if SDL_MAJOR_VERSION == 2
sdl_renderer = SDL_CreateRenderer(sdl_window, -1, SDL_RENDERER_ACCELERATED);
#else
sdl_renderer = SDL_CreateRenderer(sdl_window, NULL, SDL_RENDERER_ACCELERATED);
#endif
if (NULL == sdl_renderer) {
printf("SDL Error: %s\n", SDL_GetError());
return 3;
@@ -814,25 +716,16 @@ int init_SDL(char *windowtitle, int w, int h, int s) {
SDL_SetRenderDrawColor(sdl_renderer, 127, 127, 127, 255);
SDL_RenderClear(sdl_renderer);
SDL_RenderPresent(sdl_renderer);
#if SDL_MAJOR_VERSION == 2
SDL_RenderSetScale(sdl_renderer, 1.0, 1.0);
sdl_pixelformat = SDL_AllocFormat(sdl_rendererinfo.texture_formats[0]);
#else
SDL_SetRenderScale(sdl_renderer, 1.0, 1.0);
sdl_pixelformat = SDL_CreatePixelFormat(sdl_rendererinfo.texture_formats[0]);
#endif
printf("Creating texture...\n");
sdl_pixelformat = SDL_AllocFormat(sdl_rendererinfo.texture_formats[0]);
sdl_texture = SDL_CreateTexture(sdl_renderer, sdl_pixelformat->format,
SDL_TEXTUREACCESS_STREAMING, width, height);
sdl_black = SDL_MapRGB(sdl_pixelformat, 0, 0, 0);
sdl_white = SDL_MapRGB(sdl_pixelformat, 255, 255, 255);
sdl_foreground = sdl_black;
sdl_background = sdl_white;
#if SDL_MAJOR_VERSION == 2
sdl_bytesperpixel = sdl_pixelformat->BytesPerPixel;
#else
sdl_bytesperpixel = sdl_pixelformat->bytes_per_pixel;
#endif
#else
printf("Creating window surface and buffer surface\n");
sdl_windowsurface = SDL_GetWindowSurface(sdl_window);
@@ -841,22 +734,12 @@ int init_SDL(char *windowtitle, int w, int h, int s) {
sdl_white = SDL_MapRGB(sdl_pixelformat, 255, 255, 255);
sdl_foreground = sdl_black;
sdl_background = sdl_white;
#if SDL_MAJOR_VERSION == 2
sdl_bytesperpixel = sdl_pixelformat->BytesPerPixel;
#else
sdl_bytesperpixel = sdl_pixelformat->bytes_per_pixel;
#endif
buffer_size = width * height * sdl_bytesperpixel;
buffer = malloc(buffer_size);
#if SDL_MAJOR_VERSION == 2
sdl_buffersurface = SDL_CreateRGBSurfaceWithFormatFrom(
buffer, sdl_displaywidth, sdl_displayheight, sdl_bytesperpixel * 8,
sdl_displaywidth * sdl_bytesperpixel, sdl_pixelformat->format);
#else
sdl_buffersurface = SDL_CreateSurfaceFrom(
buffer, sdl_displaywidth, sdl_displayheight,
sdl_displaywidth * sdl_bytesperpixel, sdl_pixelformat->format);
#endif
#endif
printf("SDL initialised\n");
return 0;

View File

@@ -49,33 +49,34 @@
#define vfork fork
#endif
#include "version.h" // for BIGVM
#include "lispemul.h"
#include "lispmap.h"
#include "adr68k.h"
#include "lsptypes.h"
#include "lspglob.h"
#include "emlglob.h"
#include "cell.h"
#include "ifpage.h"
#include "debug.h"
#include "devconf.h"
#include "stack.h"
#include "adr68k.h" // for NativeAligned4FromStackOffset, LAddr...
#include "cell.h" // for DefCell, GetDEFCELL68k, GetVALCELL68k
#include "dbgtooldefs.h" // for bt1, bt, sf
#include "devif.h" // for DspInterfaceRec, DevRec, DspInterface
#include "display.h" // for DISPLAYBUFFER
#include "gcarraydefs.h" // for get_package_atom
#include "gcfinaldefs.h" // for printarrayblock
#include "ifpage.h" // for IFPAGE
#include "initdspdefs.h" // for clear_display, flush_display_buffer
#include "initkbddefs.h" // for init_keyboard
#include "kprintdefs.h" // for print
#include "lispemul.h" // for T, DLword, LispPTR, POINTERMASK, NIL
#include "lispmap.h" // for DISPLAY_HI, ATOM_HI, DEFS_HI, DISPLA...
#include "llstkdefs.h" // for stack_check
#include "lspglob.h" // for InterfacePage, Plistspace
#include "lsptypes.h" // for GETWORD, GetDTD, GetTypeNumber, dtd
#include "mkatomdefs.h" // for make_atom
#include "returndefs.h" // for contextsw
#include "stack.h" // for FX, ResetFXP
#include "testtooldefs.h" // for all_stack_dump, doko, printPC, print...
#include "timerdefs.h" // for int_block, int_init, int_unblock
#include "uraiddefs.h" // for copy_region, device_after_raid, devi...
#include "uraidextdefs.h" // for URMAXCOMM, URMAXFXNUM, URSCAN_ALINK
#include "vmemsavedefs.h" // for vmem_save
#include "display.h"
#include "bitblt.h"
#include "uraiddefs.h"
#include "uraidextdefs.h"
#include "dbgtooldefs.h"
#include "gcarraydefs.h"
#include "initdspdefs.h"
#include "initkbddefs.h"
#include "kprintdefs.h"
#include "llstkdefs.h"
#include "mkatomdefs.h"
#include "returndefs.h"
#include "testtooldefs.h"
#include "timerdefs.h"
#include "vmemsavedefs.h"
#ifdef MAIKO_ENABLE_ETHERNET
#include "etherdefs.h"
#endif
@@ -451,22 +452,6 @@ LispPTR uraid_commands(void) {
}
print(*((LispPTR *)GetVALCELL68k(index)));
break;
case 'B': { /* print array block */
LispPTR objaddr;
if (URaid_argnum == 1) {
printf("PRINT-ARRAY-BLOCK: B HEX-LispAddress\n");
return (T);
}
errno = 0;
objaddr = (LispPTR)strtoul(URaid_arg1, &endpointer, 16);
if (errno != 0 || *endpointer != '\0') {
printf("Arg not HEX number\n");
return (T);
}
printarrayblock(objaddr);
}
break;
case 'd': /* DEFCELL */
if (URaid_argnum != 2) {
printf("GETD: d litatom\n");

View File

@@ -26,7 +26,6 @@
static XColor cursor_fore_xcsd, cursor_back_xcsd, xced;
extern Colormap Colors;
extern char cursorColor[255];
extern DspInterface currentdsp;
/* a simple linked list to remember X cursors */
@@ -144,7 +143,7 @@ void init_Xcursor(DspInterface dsp)
XLOCK; /* Take no X signals during this activity (ISC 386) */
XAllocNamedColor(dsp->display_id, Colors, cursorColor, &cursor_fore_xcsd, &xced);
XAllocNamedColor(dsp->display_id, Colors, "black", &cursor_fore_xcsd, &xced);
XAllocNamedColor(dsp->display_id, Colors, "white", &cursor_back_xcsd, &xced);
XUNLOCK(dsp); /* OK to take signals again */

View File

@@ -53,7 +53,6 @@ static XrmOptionDescRec opTable[] = {
{"-fg", "*foreground", XrmoptionSepArg, (XPointer)NULL},
{"-background", "*background", XrmoptionSepArg, (XPointer)NULL},
{"-bg", "*background", XrmoptionSepArg, (XPointer)NULL},
{"-cursorColor", "*cursorColor", XrmoptionSepArg, (XPointer)NULL},
{"-title", "*title", XrmoptionSepArg, (XPointer)NULL},
{"-t", "*title", XrmoptionSepArg, (XPointer)NULL},
{"-icontitle", "*icontitle", XrmoptionSepArg, (XPointer)NULL},
@@ -85,11 +84,8 @@ extern char Window_Title[255];
char Window_Title[255];
extern char Icon_Title[255];
char Icon_Title[255];
extern char cursorColor[255];
char cursorColor[255] = {0};
extern char sysout_name_cl[];
extern char sysout_name_xrm[];
extern char sysout_name[];
extern unsigned sysout_size;
extern int for_makeinit, please_fork, noscroll;
/* diagnostic flag for sysout dumping */
@@ -118,7 +114,6 @@ void print_Xusage(const char *prog)
(void)fprintf(stderr, " [-sysout] [<sysout>] -path to the Medley image\n");
(void)fprintf(stderr, " -h[elp] -prints this text\n");
(void)fprintf(stderr, " -info -prints configuration info\n");
(void)fprintf(stderr, " -cursorColor X11-color-spec -sets foreground cursor color\n");
(void)fprintf(stderr, " -d[isplay] <host>:<display>.<screen>\n");
(void)fprintf(stderr,
" -g[eometry] <geom> -size & placement for the medley window on your X "
@@ -186,9 +181,20 @@ void read_Xoption(int *argc, char *argv[])
print_Xusage(argv[0]);
}
if (XrmGetResource(commandlineDB, "ldex.sysout", "Ldex.Sysout", str_type, &value) == True) {
/* Get Sysout from command line only */
(void)strncpy(sysout_name_cl, value.addr, value.size);
sysout_name[0] = '\0';
if (*argc == 2) { /* There was probably a sysoutarg */
(void)strncpy(sysout_name, argv[1], PATH_MAX - 1);
} else if ((envname = getenv("LDESRCESYSOUT")) != NULL) {
strncpy(sysout_name, envname, PATH_MAX - 1);
} else if ((envname = getenv("LDESOURCESYSOUT")) != NULL)
strncpy(sysout_name, envname, PATH_MAX - 1);
else {
envname = getenv("HOME");
(void)strcat(sysout_name, envname);
(void)strcat(sysout_name, "/lisp.virtualmem");
}
if (access(sysout_name, R_OK) != 0) {
sysout_name[0] = '\0';
}
/* In order to access other DB's we have to open the main display now */
@@ -238,8 +244,12 @@ void read_Xoption(int *argc, char *argv[])
(void)XrmMergeDatabases(commandlineDB, &rDB);
if (XrmGetResource(rDB, "ldex.sysout", "Ldex.Sysout", str_type, &value) == True) {
/* Get Sysout from x resource manager */
(void)strncpy(sysout_name_xrm, value.addr, value.size);
/* Get Sysout */
(void)strncpy(sysout_name, value.addr, value.size);
}
if (sysout_name[0] == '\0') {
(void)fprintf(stderr, "Couldn't find a sysout to run;\n");
print_Xusage(argv[0]);
}
if (XrmGetResource(rDB, "ldex.title", "Ldex.Title", str_type, &value) == True) {
@@ -273,10 +283,6 @@ void read_Xoption(int *argc, char *argv[])
(void)strcpy(tmp, ""); /* Clear the string */
if (XrmGetResource(rDB, "ldex.cursorColor", "Ldex.cursorColor", str_type, &value) == True) {
(void)strncpy(cursorColor, value.addr, sizeof(cursorColor) - 1);
}
if (XrmGetResource(rDB, "ldex.NoFork", "Ldex.NoFork", str_type, &value) == True) {
please_fork = 0;
}