![]() |
W&W RAMBOX II emulation - Printable Version +- HP Forums (https://archived.hpcalc.org/museumforum) +-- Forum: HP Museum Forums (https://archived.hpcalc.org/museumforum/forum-1.html) +--- Forum: Old HP Forum Archives (https://archived.hpcalc.org/museumforum/forum-2.html) +--- Thread: W&W RAMBOX II emulation (/thread-49070.html) |
W&W RAMBOX II emulation - J-F Garnier - 12-16-2003 Hello hardware and software emulation enthusiastics:
I worked on RAMBOX II emulation, at the request of a serious user who needs to find a backup solution for his 64k application in his tired HP-41CY.
I remind you that the RAMBOX II offers two 32k blocs that I will call block A and block B. PG<>: swap the two 32k blocks,
Looking at the Mcode of these functions shows that there are very simple.
Code for PG01 and PG10 are: ; PG01 The problem that worried me is how the PG<> could *swap* the pages with a combination of the same ENBANKx opcodes.
The light came from a post from Mike http://www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/archv013.cgi?read=47293 In "RAMBOX 64a" found in block A, PG<> is:The two PG<> functions are actually two different functions: the one in block A enables block B, and the one in block B enables block A! The PG<> effect is actually to swap blocks, because it will always enable the opposite block.
Finally, here are the actual effects of each ENBANKx opcodes to the RAMBOX pages: ENBANK1: reset all pages to block A
RAMBOX II emulation will be available soon in Emu41. I hope that the information will also be helpful
As a HP-71B fan and the author of one of the only two known HP-71B emulators (the other one is from HrastProgrammer), Just imagine a CLONIX module for the HP-71B! Best Regards. Jean-Francois
Re: W&W RAMBOX II emulation - Diego Diaz - 12-16-2003 Hi, A really nice job Jean!!, I've found it extremely interesting for my projects, (mainly for the NoVRAM 2004), as well as for the "peculiar" behavior observed in the Clonix when loaded with the RAM-Box image. As RAM-Box does not use the "standard" BankSwitching scheme, this explains the difficulties in making PG<> fully operative. I'll have to take acloser look at the M-code to replicate its unique BankSwitch craracteristics in a dedicated Clonix code. It will take little longer though :-( Regarding a so called Clonix 71, I'm confident it's feasible, provided there is enough interest on the subject in the HP fans community. Anyhow, first things first, and for now my focus is in the HP-41 modules solutions. Again thanks and my congratulation on a well done job. Cheers.
Diego.
Re: W&W RAMBOX II emulation - Meindert Kuipers - 12-16-2003 JF, For my understanding, the pages that contain the ENBANKx instructions, are they RAM? I have found a way to do a certain way of bankswitching in my MLDL2000 if the page of the module is fixed. Since you have studied this in more detail, is it OK to assume (for my MLDL2000) that the WROM instruction can ignore the current bank? Meindert
Re: W&W RAMBOX II emulation - HrastProgrammer - 12-16-2003 Hello J-F, Nice work ...
I already emulated W&W RAMBOX on HP-41X in an advanced form with 3 x 32K banks (=96K total port memory) and some new bank-switching opcodes: ENBANK0 (#100): Initialize RAMBOX, load A8 .. A15 to port memory (pages 8 .. 15) - as in W&W RAMBOX And here are the latest news: I finished HP-IL emulation for HP-41X ... currently doing some final tests ...
Best regards. Re: W&W RAMBOX II emulation - Mike (Stgt) - 12-16-2003 Hello JF! Do you have a HP-41CY at hand? At the Allschwil meeting I remarked that mine is out of order (had no time yet to care for it [neither for many eMails in my inBox - sorry Christoph, sorry Tony, sorry Claudia, sorry Nathalie]), so the following is from my bad memory: If you set "block A" by PG01, PG10 will change all pages ("block B") but _not_ PG<>. This will only swap every second page. This is from the users' point of view. OTOHS, a user using *only* PG<> will see a complete swap of all pages. This complies with your findings. With the emulation of RAMBOX II you are one more step ahead of me. Congratulation! The last weeks I spent some time on "Hercules", with success. Now I am able to continue work on NutEm at home (when I have a new hard disk <G>).
Ciao.....Mike Edited: 16 Dec 2003, 11:13 a.m.
Re: W&W RAMBOX II emulation - Monte Dalrymple - 12-16-2003 Hi Hrast, FYI, some of these opcodes are actually used in the NUT CPU. In particular, #1C8, #1CC, #1D4, #1DC and #218 are not NOPs, even though they are poorly documented. See Appendix XI in "Inside the HP-41" for the details. Of course it doesn't matter in the case of an emulator, but care should be exercised if using them on actual hardware. My reverse-engineered version of the NUT CPU implements them just like the original hardware.
Best regards, Re: W&W RAMBOX II emulation - HrastProgrammer - 12-16-2003 I know that (from "Inside the HP-41", of course) but they are used only inside the CPU and don't have too much sense (and use) outside. BTW, implementation of "switchable" carry flag would seriously slow down the emulator on HP-48/49.
Regards.
Re: W&W RAMBOX II emulation - Monte Dalrymple - 12-16-2003 I mostly made the comment for anyone who might use these opcodes in this fashion outside of an emulator. Also, I am pretty sure that the "switchable" part of the carry flag is only relative to the SF, CF and ?FS instructions. The reason that I say this is that the carry is tested twice in the Master Control Program before the ENF14 instruction is actually executed there.
Regards, Re: W&W RAMBOX II emulation - J-F Garnier - 12-17-2003 Hi Mike, Yes, I have a CY at hand, but only for a while. This machine exhibits some problem in block B, and is no more reliable. His owner asked me to try to fix it, and I took the opportunity to study it. I was unable to fix the internal CY problem. It seems that writing in blok B is no more reliable. Moreover, the machine freezes at the keystroke when in normal speed with block B enabled (runs properly in high speed, except the mentionned writing problem). Does someone can give advice? I suspected a bad connection/soldering and I opened the machine, and was horrified by the flying wiring of the 2 XMEM modules... So I didn't take the risk to desassemble/dessolder any thing else. J-F
Re: W&W RAMBOX II emulation - Werner (Germany) - 12-18-2003 Hi Jean-Francois, that’s great news on your emulation of the W&W-RAMbox II ! I appreciate this very much as then I can get a perfect and ultra-fast image of my HP-41CY at the PC. Thanks to your efforts! Concerning your problems with the HP-41CY you have just at hand, are you absolutely sure that it is a hardware defect ? Of course a bad connection/soldering is a reasonable explanation for the unreliable behaviour. Nevertheless, if not already done, before I would really check if there is no remaining “ill“ soft code in some RAM area of the RAMbox. Such code can really lead to unreliable operation that does not look systematic. Nearly every strange behaviour seems to be possible due to a “soft“ corruption. So the best would be to check every of the 16 (14) pages. Do you really have access to all of them? I had the case that 4 pages were hidden by other 4 pages and only by loading them with different code made this visible. If you do not have access to every single page, try to erase all pages of both blocks via the RAMbox MasterClear. Even this will probably not work although it may look so. Try to mask every page by plug-in ROM modules (can also be done sequentially) and repeat the RAMbox MasterClear every time. Please do not forget to also mask and clear page 9 !!! That was my major mistake when I had to recover my HP-41CY. CLPG is no solution. For details please see http://www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/forum.cgi?read=48617 Good luck and best regards,
Werner
Re: W&W RAMBOX II emulation - Mike (Stgt) - 12-18-2003 Is it realy a HW problem? Do both page 8 (RamBox a and b) checksum correctly? Otherwise look for the "Mäuseklavier" (clavier des souris, dip switches) in the bat compartment and erase both PG 8 and reinstall from backup.
Ciao.....Mike
|