--
You received this message because you are subscribed to a topic in the Google Groups "RC2014-Z80" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/rc2014-z80/tQbiZ61OrA4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to rc2014-z80+...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/21a43ae8-f323-4737-990a-cf17210c5119n%40googlegroups.com.
We dont see many Mini/Micro posts here so I dont know if there is any interest in this, if not, no problem, if there is let me know & I'll post details.
Sorry forgot to say, Zen works in conjunction with my monitor, see the Retro Z80 page on http://philg.uk
In the simple case, Zen can itself be a HEX file that is loaded (using HLOAD) into memory (from 0x8400), which then takes over from BASIC (using the established RSTs for communication). Zen can then load (using its own version of HLOAD), edit, and assemble its own programs. I understand from the manual it only takes 14 pages (3.5kB) of memory, so quite large programs could be built (from 0x9200 to 0xFFFF).
In both cases it would be very nice to add a keyword to Zen to set up the Basic USR(x) command (like HLOAD does) and return to Basic, to allow (fast) assembly subroutines to be called from Basic programs.
Beware that Zen isnt straightforward (no comments, assumed pointer MSB's and lots of stack manipulation etc) and would be easy to break so I would humbly suggest studying the code a while before modifying it :) Its on http://philg.uk and if anyone would like to try Zen as posted I'd love to hear how you get on! :-)


On Saturday, 4 March 2023, Phil G wrote:
Beware that Zen isn't straightforward (no comments, assumed pointer MSB's and lots of stack manipulation etc) and would be easy to break so I would humbly suggest studying the code a while before modifying it :) Its on http://philg.uk and if anyone would like to try Zen as posted I'd love to hear how you get on! :-)
Just checking for interest, I've done a port of 'Zen' which runs on these basic 32k boards without storage, Zen is entirely memory-based, so the editor-assembler, your source code, symbol table and the object code produced all reside in RAM which makes it ideal for a small system without disk storage. Just as with BASIC, listings can be saved with a Teraterm capture, and reloaded with 'paste' or 'file,send' .
Interestingly, there are more Micro/Mini/Classic II (ie 32k Grant Searle based designs) sold than the bigger Pro/Zed machines, although I know a lot more posts on here revolve more around CP/M, storage and more advanced stuff. Quite a few people upgrade their Mini or Classic II to CP/M, but I'm sure there's still a lot of users of the 32k machines.
Back in the days of the Video Genie (also 32k) I used Zen exclusively and I like its self-contained simplicity. It feels like you're putting a negative slant on the project by trying to squeeze a quart into a pint pot?
Instead of changing stuff to return to basic why not install the monitor version of Nascom Basic,
...it detracts nothing at all as it uses otherwise empty space, there are no disadvantages
...admittedly its not romwbw in only 600 bytes but it is very useful and runs "as well as" basic rather than "instead of" like SCM etc,, its not 'paged in', its there whenever Nascom basic is there and obeys the basic 'monitor' command. It's far more effective as a monitor than 600 bytes of empty eprom space!
Perhaps I should share my ROM selector add-on for the 8KB ROM board? (I really assumed no-one would be interested in this; would anyone like to be able to switch rom by a long press on RESET instead of dealing with the jumpers?)
Instead of changing stuff to return to basic why not install the monitor version of Nascom basic, it detracts nothing at all as it uses otherwise empty space, there are no disadvantages - admittedly its not romwbw in only 600 bytes but it is very useful and runs "as well as" basic rather than "instead of" like SCM etc,, its not 'paged in', its there whenever Nascom basic is there and obeys the basic 'monitor' command. Its far more effective as a monitor than 600 bytes of empty eprom space!It has Spencers approval though he's not yet offered the update, anyway, I've added a third build to the zip for you, this one ORG'd at 8400H.
--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/0a9a0783-5b90-4a83-b4d8-1fc40e01a5d9n%40googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/a7f26632-d4b9-46c6-8df0-16eabd590becn%40googlegroups.com.
Hi Eric
I would be very interested in seeing that. I do have my own solution involving an up/down hex switch for testing purposes, but it certainly isn't elegant! If you could share any info in a new thread that would be great.
I've updated Zen, if anyone's still interested please download a fresh copy from http://philg.uk via the Retro/GrantSearle etc pageI've added an "X" command, after a successful assembly 'X' will output an Intel Hex format file which can be logged or copy/pasted from the Teraterm buffer.
--
You received this message because you are subscribed to a topic in the Google Groups "RC2014-Z80" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/rc2014-z80/tQbiZ61OrA4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to rc2014-z80+...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/08a07710-9a1b-449b-88cf-44ac3a13bafan%40googlegroups.com.
How does your program end Trevor?To return to the monitor it should jump to 1DC0. The only way it could get back to Zen is if the program didn't terminate properly :-)
I think there are advantages and disadvantages of using jump or return to return to the monitor. Jump will always work so long as you know the address, with return you don’t need to know the address but it won’t work if the target has been messing with the stack pointer. Maybe providing both options is possible.
Using one of the reset instructions could also be useful to insert breakpoints with a continue option in the monitor to carry on after the reset.
Sorry about this, I've just updated the Zen zipfile again. I've been using Zen itself to develop Zen and in large source files was frustrated by the lack of a 'goto linenumber' command in the source editor. Having to do 'T' for Top then 'D#' for down n lines eventually got to me. Consequently I've added a 'G' command to the editor, for example G67 will make line 67 the current line. Remember though that if you follow this with an 'E' command, that enters text before the current line, as it always did.
Apologies, I do think this is a wrap now. The Zip on http://philg.uk includes Bill's 5000h version, and one at 1000h that someone asked for, plus all the previous load addresses.