<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[esxDOS BBS — Custom ROM and NMI reentry on space address.]]></title>
	<link rel="self" href="https://board.esxdos.org/extern.php?action=feed&amp;tid=1057&amp;type=atom" />
	<updated>2023-01-04T13:34:31Z</updated>
	<generator>PunBB</generator>
	<id>https://board.esxdos.org/viewtopic.php?id=1057</id>
		<entry>
			<title type="html"><![CDATA[Re: Custom ROM and NMI reentry on space address.]]></title>
			<link rel="alternate" href="https://board.esxdos.org/viewtopic.php?pid=2208#p2208" />
			<content type="html"><![CDATA[<p>Writing a custom ROM that works with esxDOS is seriously non-trivial. I&#039;ve done it. You&#039;re welcome to examine the source (<a href="https://github.com/source-solutions/sebasic4">https://github.com/source-solutions/sebasic4</a>). You can&#039;t store code in the area normally occupied by the character set because calling it will invoke the hardware TR-DOS traps.</p>]]></content>
			<author>
				<name><![CDATA[aowen]]></name>
				<uri>https://board.esxdos.org/profile.php?id=168</uri>
			</author>
			<updated>2023-01-04T13:34:31Z</updated>
			<id>https://board.esxdos.org/viewtopic.php?pid=2208#p2208</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Custom ROM and NMI reentry on space address.]]></title>
			<link rel="alternate" href="https://board.esxdos.org/viewtopic.php?pid=2160#p2160" />
			<content type="html"><![CDATA[<p>Very specifically NMI z80 load/save snapshots.</p><p>The boot 128 likely goes fine (48 ROM) then a development z80 loads.<br />This will bank to the other ROM (128 editor replacement), and clobber quite a few things.<br />EsxDos calls can be handled ok.<br />An NMI will bank, and apart from conservation of push and a pop af at the 67 location the goal is to do what I need while supporting the space exit and snapshots for a form of load save.<br />I could make the NMI be a crash unlucky but it would be easier to preserve a little of the ROM intent to clean accept an NMI.</p><p>Things I know the NMI must do:<br />Print characters. (A JP vector).<br />Get keyboard (a JP vector).</p><p>While the z80 development is loaded dot commands are not of interest.<br />As stable button save is the goal. With load ok too.</p><p>Ok so the fact the port (128 edit ROM) banking is not readable ... Might limit snap saves, although that&#039;s one clobber address where basic stores it.</p><p>...</p>]]></content>
			<author>
				<name><![CDATA[jackokring]]></name>
				<uri>https://board.esxdos.org/profile.php?id=1289</uri>
			</author>
			<updated>2022-09-11T11:08:36Z</updated>
			<id>https://board.esxdos.org/viewtopic.php?pid=2160#p2160</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Custom ROM and NMI reentry on space address.]]></title>
			<link rel="alternate" href="https://board.esxdos.org/viewtopic.php?pid=2159#p2159" />
			<content type="html"><![CDATA[<p>So I&#039;m assuming the characters at end of ROM need to be there.</p><p>The calls all go through a ram springboard so paging the 48 ROM back in is a last resort before calling (with some clobbered variable space in ram).</p><p>It really doesn&#039;t solve knowing which basic routines and sys vars are the minimum set for functioning NMI.</p>]]></content>
			<author>
				<name><![CDATA[jackokring]]></name>
				<uri>https://board.esxdos.org/profile.php?id=1289</uri>
			</author>
			<updated>2022-09-11T08:39:09Z</updated>
			<id>https://board.esxdos.org/viewtopic.php?pid=2159#p2159</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Custom ROM and NMI reentry on space address.]]></title>
			<link rel="alternate" href="https://board.esxdos.org/viewtopic.php?pid=2158#p2158" />
			<content type="html"><![CDATA[<p>The ROM does not have basic in. Assuming an NMI fails as I can&#039;t even trace where the &quot;pop af&quot; happens in the spaghetti. I think the &quot;rst 38&quot; and &quot;rst 10&quot; is sorted. If using assembly calls to the routines.</p><p>I&#039;m kind of assuming the NMI does not do a return to $67 to exit, and uses some BASIC routines. I think switching to the ROM after boot, does allow a &quot;jp $000a&quot; at $0008, for &quot;rst 10&quot; access to raw assembler esxDOS calls.</p>]]></content>
			<author>
				<name><![CDATA[jackokring]]></name>
				<uri>https://board.esxdos.org/profile.php?id=1289</uri>
			</author>
			<updated>2022-09-08T13:29:22Z</updated>
			<id>https://board.esxdos.org/viewtopic.php?pid=2158#p2158</id>
		</entry>
</feed>
