EightyOne 1.0a

Emulator and emulator development specific topics
sirmorris
Posts: 2811
Joined: Thu May 08, 2008 5:45 pm

EightyOne 1.0a

Post by sirmorris »

Available now!

http://www.chuntey.com/eightyone.1.0a.zip

What's new in EO 1.0a
Version 1.0a 28/05/08
Added Memory Browser (SirMorris)
Added Symbols to Debugger (SirMorris)
Fixed bug in OUTD/OUTIR instructions (MW)
Fixed bug with NMI occasionally triggering twice (MW)
Here's a quick rundown of the new features.

Bringing up the debug window from the tools menu reveals a slightly different look and some new options.

Starting with the Z80 view, you can see the flags have now been given labels showing which is which. Clicking on a flag digit will toggle it rather than popping open a dialog.

Clicking a register value will bring up the edit dialog as before. It is now possible to enter data as hex using both the $ and '0x' form. Octal numbers can be entered by prefixing the number with a 0. Decimal entry is preserved. One notable change is the ability to enter a label name here. As long as symbols are loaded, this will be recognised and evaluated. This is true for any 16bit value being entered using this method. Symbol name matching is case-sensitive. Cancel now works without zeroing the target data. Invalid entries do not alter data.

Register values that are highlighted indicate that there is a symbol related to the held address. Hover the mouse over the value and the symbol will be shown in a tool tip.

Right-clicking a register value will pop open a menu allowing a memory window to be opened starting at that address. This function is also available for stack values.

Symbols are loaded automatically when a system is started as long as a file named after the rom with an additional extension of '.sym' is present. At this time only the zx81 ROM has a file. The symbol file follows a format used by the telemark assembler (TASM) which is simply "LABEL whitespace HEX_VALUE"

Additional symbols may also be loaded for an app being debugged. In this case the symbol file should be drag-dropped onto the main window. The file must have an extension of '.sym' and be in the tasm format. The app symbols remain loaded until the machine is reset.

The 'Symbols' button on the main debug form will be active if there are either one of ROM or App symbols available. This will be indicated by the checkboxes to its right. Clicking it will bring up the symbol browse window. Right clicking a symbol will offer the option of opening a memory window or adding the value to the breakpoint list.

The Program window has been gifted with a number of additional lines, in preparation for future work. It also now has labels substituted in for values where appropriate. It may be that the view displays the wrong symbol name when supplying app symbols. This is unavoidable if the symbol map file has a number of equates with duplaicate values. However this should be infrequent as only addresses are resolved.

The memory window has a number of features worth pointing out. Mousing over the hex data will show its address in the status bar. Right clicking on the hex will open a menu offering the option to view in a number of different modes. It's also possible to relocate the view at either a user-supplied address or one de-referenced from the data. This last feature is best tried out in word view mode.

When the debugger pauses the CPU emulation, after stepping or having the Stop button clicked, altered bytes are highlighted in red.

The breakpoint window will display symbolic information if available.


Known issues to be addressed for next build:-

It is not possible to view the addresses of altered bytes - if the memory window is not centered on the changed data, you have to scroll the view to find it.

You can't set breakpoints from register/stack data right-click menu.

only one memory window can be opened at one time.


Known issues that may not make next build unless pressure is applied:-

the zx81 symbol set may be from a different ROM than the one supplied - classic/improved - this needs verifying.

The character map translation of 'traditional' view is only valid for zx81 at present.


Help wanted

It would be great to get some labels defined for the roms of other supported systems.
User avatar
yerzmyey
Posts: 1240
Joined: Thu May 15, 2008 10:11 am
Location: Rubber Planet
Contact:

Re: EightyOne 1.0a

Post by yerzmyey »

As for me, I'm at work now, so I can't test it properly.
I'm wondering if there is anything improved with lacking sound of AY in all emulated machines.
I will test it in the evening, probably.
IN NIHILUM REVERTERIS - a big text-adventure game for ZX81: http://tiny.pl/g2m6m
"MONOCHROME" issue 5 - (Spring 2014) free paper/PDF magazine about ZX81: http://tiny.pl/q2m44
ZX81 COMPETITIONS 2007/2009: http://zx81.republika.pl/
sirmorris
Posts: 2811
Joined: Thu May 08, 2008 5:45 pm

Re: EightyOne 1.0a

Post by sirmorris »

You'll have to get the details from Mike but I think the OUTD fix is directly related to AY playing.
User avatar
Andy Rea
Posts: 1606
Joined: Fri May 09, 2008 2:48 pm
Location: Planet Earth
Contact:

Re: EightyOne 1.0a

Post by Andy Rea »

This is Fantastic Work SirMorris, i reall like the symbols in the debugger, should be a real help when developing your own Z80 routines, i also like the resizable memview window, Something that i will try and implement too. Labels on the flags make it much easier to quickly check the state of any given flag.

Not that i'm complaining but..Perhaps a tool tip Showing the Addrerss when hovering on a breakpoint that has a symbol associated with it.

other than that Keep up this great work

Many thanks to yourself and Mike for creating EightyOne in the first place.

Regards Andy
what's that Smell.... smells like fresh flux and solder fumes...
sirmorris
Posts: 2811
Joined: Thu May 08, 2008 5:45 pm

Re: EightyOne 1.0a

Post by sirmorris »

Next up I'm going to be looking at improving the breakpoint functionality. At the very least I hope to add break on mem read/write. Possibly even counters and conditions.

But that all depends on how much fun there is to be had in the core :D
User avatar
yerzmyey
Posts: 1240
Joined: Thu May 15, 2008 10:11 am
Location: Rubber Planet
Contact:

Re: EightyOne 1.0a

Post by yerzmyey »

So - I tested the new version. I can hear AY now, in Spectrum computers.
But still nothing is audible in ZX81 with ZonX. :(
I test it on hymne.p
Maybe it's not the emulator's fault?
IN NIHILUM REVERTERIS - a big text-adventure game for ZX81: http://tiny.pl/g2m6m
"MONOCHROME" issue 5 - (Spring 2014) free paper/PDF magazine about ZX81: http://tiny.pl/q2m44
ZX81 COMPETITIONS 2007/2009: http://zx81.republika.pl/
Mike
Posts: 52
Joined: Sun May 11, 2008 5:38 pm

Re: EightyOne 1.0a

Post by Mike »

Where can I download hymne.p so I can test it?

Thanks,
Mike
User avatar
gus
Posts: 177
Joined: Fri May 16, 2008 10:18 pm
Location: Buenos Aires. Argentina
Contact:

Re: EightyOne 1.0a

Post by gus »

Hi yerzmyey, Mike

I like to let you know that I do use the ZONX81 Emulation (In Win32 and in GNU/Linux under wine) and works good!!!
I try all the samples of the manuals, and the himne.p that sent me Jens.
So I can tell you that the himne.p is working and the EO zx81 sounds emulation works fine on some enviroments

Gus
sirmorris
Posts: 2811
Joined: Thu May 08, 2008 5:45 pm

Re: EightyOne 1.0a

Post by sirmorris »

I'll have a go at testing too if someone could tell me where to get the program.
User avatar
yerzmyey
Posts: 1240
Joined: Thu May 15, 2008 10:11 am
Location: Rubber Planet
Contact:

Re: EightyOne 1.0a

Post by yerzmyey »

Hm. So it's getting more and more weird.
Maybe I should do some config of the emulated machine? Fuck.
Anyway the file is here http://hooyprogram.republika.pl/HYMNE.p
IN NIHILUM REVERTERIS - a big text-adventure game for ZX81: http://tiny.pl/g2m6m
"MONOCHROME" issue 5 - (Spring 2014) free paper/PDF magazine about ZX81: http://tiny.pl/q2m44
ZX81 COMPETITIONS 2007/2009: http://zx81.republika.pl/
Post Reply