On Sun, Feb 12, 2017 at 6:05 PM, Craig Ruff <[email protected]> wrote: > I am working on the disassembly and commenting of the 98228A disk ROM for the > 9825T, and my disassembler > flagged two instructions as invalid. They are used inside a routine that > copies blocks of words from various banks > of the ROM into low RAM. The first, bit pattern 070113, is used immediately > after a dir (disable interrupt) instruction. > The second, bit pattern 070117, is used immediately before an eir (enable > interrupt) instruction. The “invalid” > instructions do not match any instructions described in the 9825A patent, nor > are present in the 9835 or 9845 > assemblers instruction descriptions. From the surrounding code, it doesn’t > appear that these instructions reference > any of the user visible CPU registers, but are used in some way that enhances > the effect of dir/eir and ensures the > block copy is not interfered with. > > Anyone have any ideas? Possibly a DMA request ignore/resume pair?
My first thought, and it's probably wrong, is that these instrucitons (which differ by one bit, so might be setting/reseting something) are NOPs to the CPU, but are interpretted by the memory mapping hardware in those 9825s that have more than 64K or RAM and ROM total. Possibly to map in the RAM that's used for the destination. -tony
