diff --git a/STATUS.md b/STATUS.md
index e1f308af..d97aed3d 100644
--- a/STATUS.md
+++ b/STATUS.md
@@ -46,14 +46,29 @@ For the current status of the low memory location implementation andd usage chec
## BASIC
+### Official BASIC routines
-TODO
+Note: vectors at `$0300` are not supported yet - for now only the locations below can be used!
+
+
+| Address | Name | Status | Remarks |
+| :-------: | :---------------- | :------: | :------------------------------------------------: |
+| `($A000)` | cold start vector | PARTIAL | |
+| `($A002)` | warm start vector | PARTIAL | |
+| `$A483` | `MAIN` | NOT DONE | some implementation exists, but not connected here |
+| `$A57C` | `CHRNCH` | NOT DONE | |
+| `$A71A` | `QPLOP` | NOT DONE | some implementation exists, but not connected here |
+| `$A7E4` | `GONE` | NOT DONE | some implementation exists, but not connected here |
+| `$AE86` | `EVAL` | NOT DONE | some implementation exists, but not connected here |
+| `$E38B` | `ERROR` | NOT DONE | |
+
+
## Kernal
-Note: only the jump table addresses are currently supported, real routine addresses are different!
+Note: only the jump table addresses are fully supported, real routine addresses are sometimes different!
### Official Kernal routines
@@ -63,7 +78,7 @@ NOTE: Even the 'DONE' routines won't support features described as missing in on
| Address | Name | Status | Remarks |
-| --------- | :------- | :------: | :------------------------------------------------: |
+| :-------: | :------- | :------: | :------------------------------------------------: |
| `$FF81` | `CINT` | DONE | |
| `$FF84` | `IOINIT` | PARTIAL | CIA initialization incomplete |
| `$FF87` | `RAMTAS` | DONE | |
@@ -103,6 +118,10 @@ NOTE: Even the 'DONE' routines won't support features described as missing in on
| `$FFED` | `SCREEN` | DONE | |
| `$FFF0` | `PLOT` | PARTIAL | cursor blink not handled |
| `$FFF3` | `IOBASE` | DONE | |
+| `($FFFA)` | NMI vector | PARTIAL | |
+| `($FFFC)` | RESET vector | PARTIAL | |
+| `($FFFE)` | IRQ/BRK vector | PARTIAL | |
+
diff --git a/c64/basic/a483.interop b/c64/basic/a483.interop
new file mode 100644
index 00000000..ac77e1bd
--- /dev/null
+++ b/c64/basic/a483.interop
@@ -0,0 +1,9 @@
+All the BASIC routines, for which there are vectors in $0300-$030B, have to be available at their original addresses.
+
+Reason: some autostart software (https://codebase64.org/doku.php?id=base:autostarting_disk_files) override these vectors, so that some point
+to new locations (usually Kernal related), while others points the original BASIC routines. Different techniques modify different vectors
+(while resetting others to original C64 locations), some don't change the vectors at all, but might still put the original
+C64 BASIC addresses there.
+
+For various cartridges this just means disabling their extensions (like new commands); for us that would mean improperly functionning BASIC.
+
diff --git a/c64/basic/a483.main.s b/c64/basic/a483.main.s
new file mode 100644
index 00000000..680e34f8
--- /dev/null
+++ b/c64/basic/a483.main.s
@@ -0,0 +1,13 @@
+
+//
+// Official BASIC routine, described in:
+//
+// - [RG64] C64 Programmer's Reference Guide - XXX
+// - [CM64] Compute's Mapping the Commodore 64 - page 69, XXX
+//
+// CPU registers that has to be preserved (see [RG64]): XXX
+//
+
+
+MAIN:
+ rts // XXX implement this
diff --git a/c64/basic/a57c.chrnch.s b/c64/basic/a57c.chrnch.s
new file mode 100644
index 00000000..bc797250
--- /dev/null
+++ b/c64/basic/a57c.chrnch.s
@@ -0,0 +1,13 @@
+
+//
+// Official BASIC routine, described in:
+//
+// - [RG64] C64 Programmer's Reference Guide - XXX
+// - [CM64] Compute's Mapping the Commodore 64 - page 69, XXX
+//
+// CPU registers that has to be preserved (see [RG64]): XXX
+//
+
+
+CHRNCH:
+ rts // XXX implement this
diff --git a/c64/basic/a57c.interop b/c64/basic/a57c.interop
new file mode 100644
index 00000000..ac77e1bd
--- /dev/null
+++ b/c64/basic/a57c.interop
@@ -0,0 +1,9 @@
+All the BASIC routines, for which there are vectors in $0300-$030B, have to be available at their original addresses.
+
+Reason: some autostart software (https://codebase64.org/doku.php?id=base:autostarting_disk_files) override these vectors, so that some point
+to new locations (usually Kernal related), while others points the original BASIC routines. Different techniques modify different vectors
+(while resetting others to original C64 locations), some don't change the vectors at all, but might still put the original
+C64 BASIC addresses there.
+
+For various cartridges this just means disabling their extensions (like new commands); for us that would mean improperly functionning BASIC.
+
diff --git a/c64/basic/a71a.interop b/c64/basic/a71a.interop
new file mode 100644
index 00000000..ac77e1bd
--- /dev/null
+++ b/c64/basic/a71a.interop
@@ -0,0 +1,9 @@
+All the BASIC routines, for which there are vectors in $0300-$030B, have to be available at their original addresses.
+
+Reason: some autostart software (https://codebase64.org/doku.php?id=base:autostarting_disk_files) override these vectors, so that some point
+to new locations (usually Kernal related), while others points the original BASIC routines. Different techniques modify different vectors
+(while resetting others to original C64 locations), some don't change the vectors at all, but might still put the original
+C64 BASIC addresses there.
+
+For various cartridges this just means disabling their extensions (like new commands); for us that would mean improperly functionning BASIC.
+
diff --git a/c64/basic/a71a.qplop.s b/c64/basic/a71a.qplop.s
new file mode 100644
index 00000000..a6a8572e
--- /dev/null
+++ b/c64/basic/a71a.qplop.s
@@ -0,0 +1,13 @@
+
+//
+// Official BASIC routine, described in:
+//
+// - [RG64] C64 Programmer's Reference Guide - XXX
+// - [CM64] Compute's Mapping the Commodore 64 - page 69, XXX
+//
+// CPU registers that has to be preserved (see [RG64]): XXX
+//
+
+
+QPLOP:
+ rts // XXX implement this
diff --git a/c64/basic/a7e4.gone.s b/c64/basic/a7e4.gone.s
new file mode 100644
index 00000000..00cc0d6e
--- /dev/null
+++ b/c64/basic/a7e4.gone.s
@@ -0,0 +1,13 @@
+
+//
+// Official BASIC routine, described in:
+//
+// - [RG64] C64 Programmer's Reference Guide - XXX
+// - [CM64] Compute's Mapping the Commodore 64 - page 70, XXX
+//
+// CPU registers that has to be preserved (see [RG64]): XXX
+//
+
+
+GONE:
+ rts // XXX implement this
diff --git a/c64/basic/a7e4.interop b/c64/basic/a7e4.interop
new file mode 100644
index 00000000..ac77e1bd
--- /dev/null
+++ b/c64/basic/a7e4.interop
@@ -0,0 +1,9 @@
+All the BASIC routines, for which there are vectors in $0300-$030B, have to be available at their original addresses.
+
+Reason: some autostart software (https://codebase64.org/doku.php?id=base:autostarting_disk_files) override these vectors, so that some point
+to new locations (usually Kernal related), while others points the original BASIC routines. Different techniques modify different vectors
+(while resetting others to original C64 locations), some don't change the vectors at all, but might still put the original
+C64 BASIC addresses there.
+
+For various cartridges this just means disabling their extensions (like new commands); for us that would mean improperly functionning BASIC.
+
diff --git a/c64/basic/ae86.eval.s b/c64/basic/ae86.eval.s
new file mode 100644
index 00000000..3d8b0116
--- /dev/null
+++ b/c64/basic/ae86.eval.s
@@ -0,0 +1,13 @@
+
+//
+// Official BASIC routine, described in:
+//
+// - [RG64] C64 Programmer's Reference Guide - XXX
+// - [CM64] Compute's Mapping the Commodore 64 - page 70, XXX
+//
+// CPU registers that has to be preserved (see [RG64]): XXX
+//
+
+
+EVAL:
+ rts // XXX implement this
diff --git a/c64/basic/ae86.interop b/c64/basic/ae86.interop
new file mode 100644
index 00000000..ac77e1bd
--- /dev/null
+++ b/c64/basic/ae86.interop
@@ -0,0 +1,9 @@
+All the BASIC routines, for which there are vectors in $0300-$030B, have to be available at their original addresses.
+
+Reason: some autostart software (https://codebase64.org/doku.php?id=base:autostarting_disk_files) override these vectors, so that some point
+to new locations (usually Kernal related), while others points the original BASIC routines. Different techniques modify different vectors
+(while resetting others to original C64 locations), some don't change the vectors at all, but might still put the original
+C64 BASIC addresses there.
+
+For various cartridges this just means disabling their extensions (like new commands); for us that would mean improperly functionning BASIC.
+
diff --git a/c64/basic/e38b.error.s b/c64/basic/e38b.error.s
new file mode 100644
index 00000000..eb0fe611
--- /dev/null
+++ b/c64/basic/e38b.error.s
@@ -0,0 +1,13 @@
+
+//
+// Official BASIC routine, described in:
+//
+// - [RG64] C64 Programmer's Reference Guide - XXX
+// - [CM64] Compute's Mapping the Commodore 64 - page 69, XXX
+//
+// CPU registers that has to be preserved (see [RG64]): XXX
+//
+
+
+ERROR:
+ rts // XXX implement this
diff --git a/c64/basic/e38b.interop b/c64/basic/e38b.interop
new file mode 100644
index 00000000..ac77e1bd
--- /dev/null
+++ b/c64/basic/e38b.interop
@@ -0,0 +1,9 @@
+All the BASIC routines, for which there are vectors in $0300-$030B, have to be available at their original addresses.
+
+Reason: some autostart software (https://codebase64.org/doku.php?id=base:autostarting_disk_files) override these vectors, so that some point
+to new locations (usually Kernal related), while others points the original BASIC routines. Different techniques modify different vectors
+(while resetting others to original C64 locations), some don't change the vectors at all, but might still put the original
+C64 BASIC addresses there.
+
+For various cartridges this just means disabling their extensions (like new commands); for us that would mean improperly functionning BASIC.
+