diff --git a/CHANGELOG.md b/CHANGELOG.md
index 00eee728..bc4d9702 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,9 @@
 
 ## Current version
 
+* **Breaking change!**
+The `petscr`, `petscrjp` and `atasciiscr` encodings now use $E0 and $DB respectively as their string terminator.
+
 * Added `nullchar_scr` and `NULLCHAR_SCR` 
 
 * Added the `scrstring` module
diff --git a/docs/lang/literals.md b/docs/lang/literals.md
index 3ae46e72..aa9dd071 100644
--- a/docs/lang/literals.md
+++ b/docs/lang/literals.md
@@ -51,8 +51,10 @@ The exact value of that byte is encoding-dependent:
 * in the `vectrex` encoding it's 128,
 * in the `zx80` encoding it's 1,
 * in the `zx81` encoding it's 11,
+* in the `petscr` and `petscrjp` encodings it's 224,
+* in the `atascii` encoding it's 219,
 * in the `utf16be` and `utf16le` encodings it's exceptionally two bytes: 0, 0
-* in other encodings it's 0 (this **will** be a subject to change in future versions).
+* in other encodings it's 0 (this may be a subject to change in future versions).
 
         "this is a zero-terminated string" asciiz
         "this is also a zero-terminated string"z
diff --git a/docs/lang/text.md b/docs/lang/text.md
index 5d7968ec..11e444bd 100644
--- a/docs/lang/text.md
+++ b/docs/lang/text.md
@@ -87,8 +87,10 @@ The exact value of `{nullchar}` is encoding-dependent:
     * in the `vectrex` encoding it's `{x80}`,
     * in the `zx80` encoding it's `{x01}`,
     * in the `zx81` encoding it's `{x0b}`,
+    * in the `petscr` and `petscrjp` encodings it's `{xe0}`,
+    * in the `atasciiscr` encoding it's `{xdb}`,
     * in the `utf16be` and `utf16le` encodings it's exceptionally two bytes: `{x00}{x00}`
-    * in other encodings it's `{x00}` (this **will** be a subject to change in future versions).
+    * in other encodings it's `{x00}` (this may be a subject to change in future versions).
 
 ##### Available only in some encodings
 
diff --git a/src/main/scala/millfork/parser/TextCodec.scala b/src/main/scala/millfork/parser/TextCodec.scala
index ca08b2ea..8306b4b3 100644
--- a/src/main/scala/millfork/parser/TextCodec.scala
+++ b/src/main/scala/millfork/parser/TextCodec.scala
@@ -449,7 +449,7 @@ object TextCodec {
     Map('Ë' -> '$'.toInt, 'ë' -> '_'.toInt),
     Map.empty, AsciiEscapeSequences)
 
-  val CbmScreencodes = new TableTextCodec("CBM-Screen", 0,
+  val CbmScreencodes = new TableTextCodec("CBM-Screen", 0xE0,
     "@abcdefghijklmnopqrstuvwxyz[£]↑←" +
       0x20.to(0x3f).map(_.toChar).mkString +
       "–ABCDEFGHIJKLMNOPQRSTUVWXYZ\ufffd\ufffd\ufffdπ",
@@ -460,7 +460,7 @@ object TextCodec {
     )
   )
 
-  lazy val CbmScreencodesJp = new TableTextCodec("CBM-Screen-JP", 0,
+  lazy val CbmScreencodesJp = new TableTextCodec("CBM-Screen-JP", 0xE0,
     "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[¥]↑←" + // 00-1f
       0x20.to(0x3f).map(_.toChar).mkString +
       "タチツテトナニヌネノハヒフヘホマ" + // 40-4f
@@ -662,7 +662,7 @@ object TextCodec {
     )
   )
 
-  lazy val AtasciiScreencodes = new TableTextCodec("ATASCII-Screen", 0,
+  lazy val AtasciiScreencodes = new TableTextCodec("ATASCII-Screen", 0xDB,
     0x20.to(0x3f).map(_.toChar).mkString +
       0x40.to(0x5f).map(_.toChar).mkString +
       "♡" +