diff --git a/include/geos/gsys.h b/include/geos/gsys.h index b60c9884b..1753492e5 100644 --- a/include/geos/gsys.h +++ b/include/geos/gsys.h @@ -35,7 +35,9 @@ char get_ostype(void); #define GATEWAY 0x08 #define GEOS_V10 0x10 #define GEOS_V11 0x11 -#define GEOS_V12 0x12 /* ??? not sure */ +#define GEOS_V12 0x12 +#define GEOS_V13 0x13 +#define GEOS_V15 0x15 #define GEOS_V20 0x20 #define WHEELS 0x40 /* only Wheels? */ diff --git a/libsrc/geos-cbm/system/get_ostype.s b/libsrc/geos-cbm/system/get_ostype.s index 827630f0b..6e6731952 100644 --- a/libsrc/geos-cbm/system/get_ostype.s +++ b/libsrc/geos-cbm/system/get_ostype.s @@ -26,6 +26,8 @@ _get_ostype: and #%11110000 cmp #$10 beq geos10 + cmp #$13 ; either 1.3 or 1.5 + beq geos13check lda gatewayFlag cmp #$41 beq gateway @@ -37,6 +39,7 @@ _get_ostype: beq geos_on_plus4 ora version rts +geos13: geos10: lda version rts @@ -54,6 +57,13 @@ megapatch3: lda #$03 ora c128Flag rts +geos13check: + lda mp3Flag + cmp #$03 + bne geos13 +geos15: + lda #$15 + rts _get_tv: jsr _get_ostype diff --git a/samples/geos/geosver.c b/samples/geos/geosver.c index 77a15ada7..1402d148e 100644 --- a/samples/geos/geosver.c +++ b/samples/geos/geosver.c @@ -32,6 +32,10 @@ void main (void) version = "GEOS v1.1"; } else if (os == GEOS_V12) { version = "GEOS v1.2"; + } else if (os == GEOS_V13) { + version = "GEOS v1.3"; + } else if (os == GEOS_V15) { + version = "GEOS v1.5"; } else if (os == GEOS_V20) { version = "GEOS v2.0"; } else if (os == MEGAPATCH3) {