You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: Kernel/platform/platform-cpc6128/README
+41-10
Original file line number
Diff line number
Diff line change
@@ -23,28 +23,50 @@ In the CPC6128:
23
23
| Kernel | 0 / 1 / 2 | Common 7 (map C1)
24
24
| Video | 0 / 3 / 2 | Common 7 (map C3)
25
25
26
-
The use of standard memory expansions as swap space has been implemented. With this memory map, the ability to have multiple tasks simultaneously in RAM has not been implemented. This is because the expanded memory can only be mapped in 16k blocks starting at address 0x4000, which removes the common area from the map (this mapping is used to implement the RAM disk for swap while executing code in the non-common code area). Alternatively, it can be mapped in 64k blocks, replacing the entire memory space without any common area to rely on. See this references:
26
+
The use of standard memory expansions as swap space has been implemented. With this memory map, the ability to have multiple tasks simultaneously in RAM
27
+
has not been implemented.
28
+
This is because the expanded memory can only be mapped in 16k blocks starting at address 0x4000, which removes the common area from the map (this
29
+
mapping is used to implement the RAM disk for swap while executing code in the non-common code area). Alternatively, it can be mapped in 64k blocks,
30
+
replacing the entire memory space without any common area to rely on. See this references:
This latter 64k block mapping approach, which involves switching between 64k blocks, is being considered for another port inspired by the memory usage in the Cromemco port.
31
-
32
-
Two standard memory expansion sizes are supported: 512k and 1024k. To build the port with either of these options, simply define the macros EXTENDED_RAM_512 or EXTENDED_RAM_1024 depending on the desired size in the file config.h. If neither is defined, the build will default to supporting a swap partition on any of the supported disk types.
34
+
This latter 64k block mapping approach, which involves switching between 64k blocks, is being considered for another port inspired by the memory usage
35
+
in the Cromemco port.
36
+
Two standard memory expansion sizes are supported: 512k and 1024k. To build the port with either of these options, simply define the macros
37
+
EXTENDED_RAM_512 or EXTENDED_RAM_1024 depending on the desired size in the file config.h. If neither is defined, the build will default to supporting
38
+
a swap partition on any of the supported disk types.
33
39
34
40
## STATUS
35
41
36
42
Video mode 2 is used. The video driver configures the CRTC in 64x32 characters to do easy hardware scroll and use the whole video memory bank.
37
43
38
-
The floppy driver seems to work. /dev/fd0 is drive A and /dev/fd1 is drive B. fd0 is hard coded to one side and fd1 to double side. A minimal system root disk image is generated to boot from fd1. Format is 9 sectors per track with sector ID from 1 to 9.
44
+
The floppy driver seems to work. /dev/fd0 is drive A and /dev/fd1 is drive B. fd0 is hard coded to one side and fd1 to double side. A minimal system
45
+
root disk image is generated to boot from fd1. Format is 9 sectors per track with sector ID from 1 to 9.
39
46
40
47
The IDE driver that is supposed to work with the symbiface and xmass fails to initialize. FIXED, tested with ACE-DL emulator x-mass suport.
41
48
42
49
The USB mass storage of the Albiero works using the ch375 driver used in other platforms. It should be easy to get it working with the Usifac/Ulifac.
43
50
44
51
There isn't a proper loader, for now a snapshot is generated. FIXED, dsk floppy boot image generated.
45
52
46
-
To test it burn disk.img on a spare usb pendrive and put it on the albireo. Load an run the snapshot or burn the dsk in a floppy and start FUZIX with |cpm.
53
+
To test it burn disk.img on a spare usb pendrive and put it on the albireo. Load an run the snapshot or burn the dsk in a floppy and start FUZIX with
54
+
|cpm.
55
+
56
+
Added support for the USIFAC serial port. If CONFIG_USIFAC_SERIAL is defined in config.h, the tty2 device is added. To use the console on this device,
57
+
modify the following line in /etc/inittab:
58
+
02:3:off:getty /dev/tty2
59
+
to:
60
+
02:3:respawn:getty /dev/tty2
61
+
This has been tested with Putty conecting the usifac to a linux box using a USB-Serial converter and works wery well. By default the usifac is set at
62
+
115200 baud with no flow control.
47
63
64
+
If CONFIG_USIFAC_SLIP is defined, the tty2 device can no longer be used as the system console. You must change tty4 to tty2 in slip.c and start the
65
+
network driver by running netd-slip&. However, mainly as this platform relies solely on swap for multitasking, this functionality is practically
66
+
useless except for basic operations like ping as while the netd-slip driver is active, the console becomes extremely slow. Also, among other issues,
67
+
name resolution does not work and ipconfig provides incorrect information. Tested connecting the usifac to a ESP-01 module with this firmware:
68
+
https://github.com/martin-ger/esp_slip_router
69
+
This driver uses /etc/netrc and /etc/resolv.conf files for network interface configuration
48
70
49
71
## TODO
50
72
@@ -56,19 +78,28 @@ Fix memory size reporting 64 v 48K (inherited from zx+3).
56
78
do_beep() doesn't seem to work. FIXED
57
79
Write a proper loader. DONE.
58
80
Configurable screen, at least add 80x25, maybe also change the video mode and routines to manage 6x8 fonts.
59
-
Support more hardware: M4 Board (storage, network and RTC), Ulifac/Usifac, networking with wifi module plugged in the usifac, sdcard in the Albireo, try slip with the serial port of the usifac...
81
+
Support more hardware: M4 Board (storage, network and RTC), Ulifac/Usifac storage, networking with wifi module plugged in the usifac, sdcard in the
82
+
Albireo.
60
83
61
84
Fix lots of bugs.
62
85
63
-
Switch to a thunked memory model based on C2 Map to use the standard and extended RAM expansions up to 4MiB, the Cromemco port could be a model to this solution. As there is no real common as we are switching the whole 64k space, the common data area has to be updated in all the used banks, but this can give aprox. 60K for kernel and user and hold a lot of processes in memory with a big RAM expansion.
86
+
Switch to a thunked memory model based on C2 Map to use the standard and extended RAM expansions up to 4MiB, the Cromemco port could be a model to
87
+
this solution. As there is no real common as we are switching the whole 64k space, the common data area has to be updated in all the used banks, but
88
+
this can give aprox. 60K for kernel and user and hold a lot of processes in memory with a big RAM expansion.
64
89
65
90
Look for speed optimization opportunities.
66
91
67
92
## BUILD & RUN
68
93
69
-
make diskimage with cpc6128 target in base Makefile
70
-
.sna snapshot, .dsk Floppy image, and mass storage filesystem images are generated in Images folder. Tu boot from floppy use |cpm command from basic prompt
0 commit comments