there was a newer version of the 115 (945) processor, this was almost the same as a 155 but in a 115 style & size.
the extended blocks could only have 255 segments as with 255 blocks the only reason for the "X" range was so that the software was compatible i.e. everything max 255, however you could create Data blocks larger than 255 words but you needed 20 bit addressing to access words above 255, the easy way was to find the stored location of the block (this was stored in an area like a directory that gave the actual db header start address) then add the offset of the word you wanted + header length for a pointer & load the direct dw, or something like that it's a long time ago now.
In fact you could use this addressing to modify mc5 code held in a db & execute the code using the rs instruction but you would need to know what you are doing.
A good example is I came across some code that looked at the availlable memory left after download of program, generated a DB to fill the rest in the startup ob, but after initial boot you could not modify code as there was no room left?.