Open EtchedPixels opened 10 months ago
Hi Alan,
That's a great news! I'm experiencing extremely busy weeks recently, but I'll try to give it a go when the tide gets low again.
I'm slightly confused that the change was introduced on the zx+3
platform, while zx-spectra
hasn't been touched.
Thanks, Paul
I managed to squash the +3 kernel down enough to do an unbanked solution. Will look at spectra for straight 128K later
Ok then, it means zx+3
is what I am after, and zx-spectra
is just a plan-b should the crazy mode bank flipping sequences
turn out to be too problematic.
I think plt_ide.h
needs to be copied over from the platform-zxdiv
, otherwise tinyide.c
won't compile.
Strange things are happening when I'm trying to build the zx+3
filesystem image:
ERROR stdint.h:34 file not found
ERROR dbg.h:73 file not found
ERROR dio.h:74 file not found
ERROR device.h:75 file not found
ERROR serial.h:76 file not found
ERROR conio.h:77 file not found
ERROR drivewire.h:125 file not found
ERROR userstructs.h:143 file not found
ERROR stdint.h:168 file not found
ERROR Fix errors and re-run
can be addressed with a simple hack:
--- a/Library/include/fuzix-include.pkg
+++ b/Library/include/fuzix-include.pkg
@@ -31,7 +31,7 @@ f 0644 /usr/include/tms9995/stddef.h tms9995/stddef.h
f 0644 /usr/include/tms9995/stdarg.h tms9995/stdarg.h
f 0644 /usr/include/tms9995/stdbool.h tms9995/stdbool.h
f 0644 /usr/include/stdio.h stdio.h
-f 0644 /usr/include/8086/stdint.h 8086/stdint.h
+# f 0644 /usr/include/8086/stdint.h 8086/stdint.h
f 0644 /usr/include/errno.h errno.h
f 0644 /usr/include/gpt.h gpt.h
f 0644 /usr/include/termcap.h termcap.h
@@ -70,11 +70,11 @@ f 0644 /usr/include/riscv32/stddef.h riscv32/stddef.h
f 0644 /usr/include/riscv32/stdarg.h riscv32/stdarg.h
f 0644 /usr/include/riscv32/stdbool.h riscv32/stdbool.h
f 0644 /usr/include/6502/stdint.h 6502/stdint.h
-f 0644 /usr/include/6502/dbg.h 6502/dbg.h
-f 0644 /usr/include/6502/dio.h 6502/dio.h
-f 0644 /usr/include/6502/device.h 6502/device.h
-f 0644 /usr/include/6502/serial.h 6502/serial.h
-f 0644 /usr/include/6502/conio.h 6502/conio.h
+# f 0644 /usr/include/6502/dbg.h 6502/dbg.h
+# f 0644 /usr/include/6502/dio.h 6502/dio.h
+# f 0644 /usr/include/6502/device.h 6502/device.h
+# f 0644 /usr/include/6502/serial.h 6502/serial.h
+# f 0644 /usr/include/6502/conio.h 6502/conio.h
f 0644 /usr/include/termio.h termio.h
f 0644 /usr/include/fenv.h fenv.h
f 0644 /usr/include/utime.h utime.h
@@ -122,7 +122,7 @@ f 0644 /usr/include/sys/super.h sys/super.h
f 0644 /usr/include/sys/lock.h sys/lock.h
f 0644 /usr/include/sys/param.h sys/param.h
f 0644 /usr/include/sys/compiler.h sys/compiler.h
-f 0644 /usr/include/sys/drivewire.h sys/drivewire.h
+# f 0644 /usr/include/sys/drivewire.h sys/drivewire.h
f 0644 /usr/include/sys/resource.h sys/resource.h
f 0644 /usr/include/sys/wait.h sys/wait.h
f 0644 /usr/include/sys/rtc.h sys/rtc.h
@@ -140,7 +140,7 @@ f 0644 /usr/include/sys/stat.h sys/stat.h
f 0644 /usr/include/sys/seek.h sys/seek.h
f 0644 /usr/include/sys/file.h sys/file.h
f 0644 /usr/include/sys/types.h sys/types.h
-f 0644 /usr/include/sys/userstructs.h sys/userstructs.h
+# f 0644 /usr/include/sys/userstructs.h sys/userstructs.h
f 0644 /usr/include/6809/stdint.h 6809/stdint.h
f 0644 /usr/include/6809/sys.h 6809/sys.h
f 0644 /usr/include/net/if.h net/if.h
@@ -165,7 +165,7 @@ f 0644 /usr/include/cpu_ioctl.h cpu_ioctl.h
f 0644 /usr/include/alloc.h alloc.h
f 0644 /usr/include/paths.h paths.h
f 0644 /usr/include/memory.h memory.h
-f 0644 /usr/include/pdp11/stdint.h pdp11/stdint.h
+# f 0644 /usr/include/pdp11/stdint.h pdp11/stdint.h
f 0644 /usr/include/utmp.h utmp.h
f 0644 /usr/include/fcntl.h fcntl.h
f 0644 /usr/include/8080/stdint.h 8080/stdint.h
Should also be fixed. Things broke a bit from adding the 8080/5 native compiler set up. The Z80 one needs thought as the native and cross compilers are different so libc needs building twice somehow
looking at the function stubs in the main.c
file (why not wiznet.c
?) I can't figure out how it's going to model CPLD
.
Not sure I understand the question. The stubs are expecting to be able to drive the Wiznet chip (presumably by switching all the memory maps back and forth)
Well, the only WizNet device I have is the Spectranet. I could be wrong and maybe I'm seeing non-existing problem, but for me, it doesn't seem doable to talk to the chip directly bypassing CPLD. So unless those once mentioned changes in the Spectranet firmware are about facilitating that, or we're talking about some abstract WizNet device and Spectranet isn't just one of them, and I should rather look at the zxspectra
platform...
The CPLD doesn't appear to do anything magic. It's just mapping the device directly into the Z80 address space. The device has 3 modes
The wiznet using systems currently in the kernel use the few addresses mode and indexes. The CPLD merely maps the device 128K into a load of 4K pages in the spectranet space when paged in. Either way of accessing them should work although I imagine mapping it and writing directly will be faster than pinning the one page and using the indirect modes
Plus 3 kernel squashed, now seems to fit networking and more. Need to write the low level wiznet glue including the crazy mode bank flipping sequences.
@pawosm-arm FYI