Videopac / Odyssey2 forum

Emulation => Emulating the Videopac / Odyssey2 => Topic started by: manopac on December 24, 2011, 12:26:51 AM



Title: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: manopac on December 24, 2011, 12:26:51 AM
Merry Christmas everyone!

I decided to not wait any longer and give you a first Beta Release of the new O2EM so you have something to play with in the christmas holidays ...

here it is:
http://guttenbrunner.com/videopac/o2em120B5win.zip

so far unfortunatly only a windows version, source can be requested by PM ...

biggest news:
- C7420 emulation: to jump right in, decompress o2em somewhere on your harddisk and either start it by double clicking and selecting the c7420.bin ROM or type
o2em -config=c7420

on the BASIC screen press F9 to load heli.bas (or simply type CLOAD "heli.bas" for the full (and slow) experience)
type "run" and off you go :-)

have fun and let me know any bugs ! (its beta after all ...)
I am especially intrested if you find games that worked in 1.18 and don't work any more in 1.20 !!

EDIT: in C7420 mode use F12 to exit the emulator!! (ESC is one of the keys on the G7400 keyboard ...)
read the docs to learn more about all the changes  (docs/changelog.txt) and new keys (docs/o2em.txt)!




Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: Rafael on December 24, 2011, 01:56:59 AM
Amazing gift!
Thanks by keep O2em live!

Merry Christmas to all.


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: manopac on December 24, 2011, 08:53:48 AM
special gift for you, Rafael: try hitting a letter in the filebrowser  8)


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: dronspa on December 24, 2011, 10:11:02 AM
WOW Thanks!!!


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: VideopacBelgium on December 25, 2011, 05:39:02 PM
Thanks ! It's my 1st emulator O2. 8)
Merry Xmas !
YouTube: http://www.youtube.com/watch?v=LWs881Qq5oQ


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: Rafael on December 26, 2011, 11:09:00 AM
special gift for you, Rafael: try hitting a letter in the filebrowser  8)

Nice, I created a folder called projects and since this folder contains around 1000 files :P, it will be very use usefull.


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: manopac on December 26, 2011, 11:11:16 AM
have you ever considered subfolders ?  ;)


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: Rafael on December 26, 2011, 11:12:31 AM
BTW: Why it?s called "Unofficial" version


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: Rafael on December 26, 2011, 11:26:07 AM
have you ever considered subfolders ?  ;)

I have to consider a big cleanup :)


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: manopac on December 26, 2011, 12:27:11 PM
BTW: Why it?s called "Unofficial" version


Because Arlindo is still in charge of the sourceforge etc ...  8)


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: Rafael on January 03, 2012, 12:27:02 AM
I was thinkin about a snake competition :)
Well Martian Treath is a nice game, to

hm ... are you using an old version of O2em ? or have I reintroduced the error of the wrong recognition of tokens ??  (Score should be score and not sc r ...)

Ooops. I was thinking "Why am I pressing the letters and not happens", reply: I was sing the older version.


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: ssj on February 24, 2012, 10:05:26 PM
Great news, even though personally I'd prefer to see improvements on the timings for the euro games in order to make them playable (Syracuse, Backgammon, etc.) seeing C7420 emulation starting sounds promising. Would this mean we might be able to get Chess emulated one day? That would be epic.
Great effort manopac.


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: Janzl on March 21, 2012, 09:38:29 PM
I can't seem to figure out how to change the Bios in O2EM 1.20.

Can anyone give me a hint?



Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: manopac on March 22, 2012, 08:46:10 AM
it should not have changed to previous versions (I always try to maintain full compatibility) - so you can just use the switches:

-g7400
-jopac
-o2rom
-c52

or you specify it explicitly using one of this

-bios=file    Set the file name and directory to find the console
         bios. By default it looks for a file named o2rom.bin.
                You can use a bios file from an Odyssey2, Videopac or
                Videopac+ console. If you want to run VP+ games (in
         VP+ mode) then you need a VP+ bios.

(eventually in combination with this:
-biosdir=path Set the directory to find the console bios. By default it
         looks for path named bios
)


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: Rafael on March 31, 2012, 10:08:09 PM
Can you tell me the motive (or probably motives) why a game work in O2em and not on real machine?


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: manopac on April 01, 2012, 09:50:03 AM
most probably a difference in timing - the timing of o2em is not exact (something I should try to improve ince I find the time ...)

there might also still be differences in which registers can be written in combination with other ones (e.g. vdc off) but i hope not ...


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: Janzl on December 18, 2012, 01:29:11 AM
 - bump -

Tried O2EM again tonight  and I must be stupid or something but I can't seem to get the emulator to run with the G7400 bios.

O2EM version: 1.20b5

g7400.bin is in the bios folder.

I startup O2EM by doubleclicking on o2em.exe.

For example:

I have tried this for acro-pl.bin (Rafaels plus version of Acrobats)

<game name="acro-pl">
      <option name="g7400" />
      <option name="vppenable" />
   </game>

But nope. I see these setting for Trans American Rally:

<game crc32="0x0D2D721D" name="Trans American Rally+ (PAL)">
      <option name="g7400" />
      <option name="vppenable" />
      <option name="euro" />
      <option name="tweakedaudio" />
   </game>

That does work fine.

I feel that I am close to succeeding but somehow I fail.

Any help would be welcome!

thanks!


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: Rafael on December 18, 2012, 02:07:30 AM
Well, I´m still using it with O2emLauncher or VideopacBase. Should be nice if o2em had a window for options, like Bliss for instance.
BTW: another X-Mas is coming (waiting for a new O2em ;))


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: Rene_G7400 on December 18, 2012, 09:19:23 AM

I have tried this for acro-pl.bin (Rafaels plus version of Acrobats)


Acrobats Plus uses some special tricks that might not be compatible with O2em (mid-screen transparency changes).


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: manopac on December 18, 2012, 11:19:37 PM
Well, I´m still using it with O2emLauncher or VideopacBase. Should be nice if o2em had a window for options, like Bliss for instance.
BTW: another X-Mas is coming (waiting for a new O2em ;))

options window is on my list ... but unfortunatly its gonna be a sad christmas this year - no new o2em release - I already did a lot of changes, but not in a state I can release and unfortunatly no time now :-(


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: manopac on December 18, 2012, 11:27:33 PM
- bump -

Tried O2EM again tonight  and I must be stupid or something but I can't seem to get the emulator to run with the G7400 bios.

O2EM version: 1.20b5

g7400.bin is in the bios folder.

I startup O2EM by doubleclicking on o2em.exe.

For example:

I have tried this for acro-pl.bin (Rafaels plus version of Acrobats)

<game name="acro-pl">
      <option name="g7400" />
      <option name="vppenable" />
   </game>

But nope. I see these setting for Trans American Rally:

<game crc32="0x0D2D721D" name="Trans American Rally+ (PAL)">
      <option name="g7400" />
      <option name="vppenable" />
      <option name="euro" />
      <option name="tweakedaudio" />
   </game>

That does work fine.

I feel that I am close to succeeding but somehow I fail.

Any help would be welcome!

thanks!

the problem is that the options are detected for the rom by checksum not by filename (see the transamerican example - name is the name of the game for the browser, not the rom-file-name!)
just start up o2em, select the rom and it will tell you its CRC (I used 1234ABCD below), use that like in the example and you are good to go (also add the euro switch if the timing is looking too bad, maybe it helps)

<game crc32="0x1234ABCD" name="Acrobats+">

another option - just start o2em from the command line with the switch -g7400 - it will work too (if you don't use the autodetection with the CRC)



Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: Rene_G7400 on December 19, 2012, 03:06:17 PM
Is there an easy way in O2em 1.20 to go back to the file browser when a game is running?


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: manopac on December 19, 2012, 03:21:31 PM
Is there an easy way in O2em 1.20 to go back to the file browser when a game is running?


working on that, too ... currently no, as the whole emulator is set up in a way that all the necessary data is loaded at the program start

Expect that to change in the next release 1.30 along with the options screen (and better timing - my main priority ...)


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: Janzl on December 19, 2012, 03:51:29 PM
just start up o2em, select the rom and it will tell you its CRC (I used 1234ABCD below), use that like in the example and you are good to go (also add the euro switch if the timing is looking too bad, maybe it helps)

<game crc32="0x1234ABCD" name="Acrobats+">

Tried that. When I start O2EM I get to see the File-browser and a DOS-window. When I select a game I don't get any info. When I start the game I see a code appearing in the DOS-window but this window closes immediatly and I don't get the chance to read the code.


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: manopac on December 19, 2012, 05:58:13 PM
just press F4 to go to the debug window and type "info" - one of the first things it shows is the CRC - I used o2em from the command line, so the dos window remains open :-)


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: Janzl on December 19, 2012, 11:43:12 PM
Works like a charm! thanx!


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: Rene_G7400 on May 09, 2013, 02:02:52 PM
How can I type the letters W A S D L in O2em 1.20? Using Caps Lock doesn't seem to work anymore.


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: manopac on May 09, 2013, 07:17:11 PM
No it doesn't - I changed it because CAPS LOCK should perform what it does on the C7420 - allow you to type Uppercase Letters ;-)

From O2EM.TXT:

    SCROLL LOCK = Enables/Disables the O2 keyboard input of the keys used by joystick emulation



Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: Rene_G7400 on May 10, 2013, 09:52:00 PM
Thanks, forgot to check the manual.  :-[


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: manopac on May 10, 2013, 11:25:10 PM
no problem :-)


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: LS650 on January 28, 2014, 04:42:13 AM
I've been running v1.18 for a long time.  I tried this version and have to say I prefer it; I really like the built-in file loader rather than mucking about with the add-on frontends.

 8)


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: daddy_scott on January 29, 2014, 07:05:59 PM
I've tried to use this and am having no luck.  I know it is an operator error rather than a software one.  I just don't understand code and scripts well enough, admittedly.

Are there instructions on using this program?  I have it downloaded and can get a screen to pop up, but that is about all I'm able to do.  If someone has step-by-step setup instructions, I would appreciate the help. 

While I love playing on my actual hardware, I can see sometimes playing on my computer too.


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: manopac on January 30, 2014, 02:22:28 PM
what exactly pops up? may help me to tell you what's going wrong ;-)

easiest thing is - run a command window (if you are running windows -> Start -> where it says "Search programs and files" type "cmd.exe" hit enter -> navigate to the directory you installed O2EM in (e.g. cd \emulators\o2em)
and type o2em -> hit enter and you will see the error message it says (most probably it is missing the system-rom ...)



Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: Rafael on February 23, 2014, 12:45:08 AM
Some Vectrex emulators have a suport from Overlay (despite, I never understand how it works). It´s possible to do it on O2em. The main objective is to load some images for plus graphics testings???


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: manopac on February 24, 2014, 08:12:57 AM
hm ... so you would want to be able to load a background image if the videopac+ mode is disabled? I currently don't really have time to work on it, but will put it on my to-do list ;-)


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: 19rsn007 on January 20, 2015, 10:02:08 PM
sorry for this reply on an old topic.

Does anyone still have the source for this version ?
I wanna try to compile the thing for linux.


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: manopac on January 21, 2015, 07:41:44 AM
no problem ;-) I got you pm, but didn't get around yet to pack together everything you need - pm me your email address and I will try to send it today!


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: 19rsn007 on January 21, 2015, 11:18:21 PM
no problem ;-) I got you pm, but didn't get around yet to pack together everything you need - pm me your email address and I will try to send it today!

Hey Manopac,

Gertk gave me the source and with a bit of tinkering with the makefile, I got it compiled and running in a native linux form :D

after compiling I had to delete the .XML config file and just state my options in terminal (for c7420 that is), but eventually I got it working.


No for the next goal.....get the C7010 working :D


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: 19rsn007 on January 26, 2015, 10:05:03 AM
more playing around with o2em....

This time I was looking into emulating the C7010.
Got it booting up, even got a game started, but lots of work to be done.

This NSC800 (a z80 comatible cpu) in the C7010 isn't emulated fully yet.
And O2EM needs some cycle accuracy tweaking.
But I actually got the C7010 emulation started :D

(http://19rsn007.eu5.org/Images/C7010-emulation.jpg)


so far I can boot O2EM with the C7010 VP rom (nothing special there)
I can start a game, seeing the checkerboard (still nothing special there)
I can start a chess game by pressing the N-key and select my skill (1-6)
Then the board is filled with characters....and as you can see the video isn't build up as should (yes I started O2EM with the -euro option to set it to european mode)
Then I can give the commands for moving a piece and from there on the emu crashes me back to terminal with an "unimplemented instruction"

So the start is there, but there is still a lot of work to be done.

this is what I get right now after trying to move a piece:
(http://19rsn007.eu5.org/Images/C7010-O2EM-Crash.jpg)


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: goldenband on January 30, 2015, 07:44:32 PM
Hey, nice to see that C7010 emulation is actively being worked on!

FWIW MESS seems to be stalled at about the same place: you can start a game, and in the case of MESS the pieces seem to be correctly displayed, but the CPU will never make a move.


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: 19rsn007 on February 02, 2015, 09:26:09 AM
Hey, nice to see that C7010 emulation is actively being worked on!

FWIW MESS seems to be stalled at about the same place: you can start a game, and in the case of MESS the pieces seem to be correctly displayed, but the CPU will never make a move.

Yeah I tried it in MESS and noticed the exact same problem.
The computer never makes a move.

I did look into the code of mess a little, but even mess isn't really cycle accurate when it comes to O2 video timing.


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: goldenband on February 03, 2015, 02:40:17 AM
Yeah I tried it in MESS and noticed the exact same problem.
The computer never makes a move.

I did look into the code of mess a little, but even mess isn't really cycle accurate when it comes to O2 video timing.

That doesn't surprise me, but I figure the main issue is that the C7010 processor just isn't implemented at all -- the game looks for a brain, and doesn't find one. Kind of the opposite of the Scarecrow, I suppose.  :P


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: 19rsn007 on February 03, 2015, 10:45:43 PM
That doesn't surprise me, but I figure the main issue is that the C7010 processor just isn't implemented at all -- the game looks for a brain, and doesn't find one. Kind of the opposite of the Scarecrow, I suppose.  :P

the NSC800 is implented in MESS as far as I recall, but somehow it's not working properly.


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: Sorex on February 16, 2015, 10:22:23 PM
Hello,

Are there any known issues of roms that worked in 1.18 that are not working anymore in 1.20?

I'm setting up my development environment again after almost 7 years and I noticed this (old) update so I "installed" it here.

But one of my first tests back then, which is far from rocket science, is not doing anything in this "new" version although it works fine in 1.18.

Might be my code aswell tho, will dig into it.


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: Sorex on February 16, 2015, 10:31:40 PM
adding screen off & on kernal calls solved that problem.


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: manopac on February 17, 2015, 10:21:18 AM
as far as I can remember that was one of the changes I did from 1.18 to 1.20 - write to the gfx registers is only possible now when the screen is off (like on the real hardware) - it made a lot of things work in the emulator that did not work on the real hardware, making it tough to properly develop ;-)


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: Sorex on February 17, 2015, 11:45:06 AM
the only "issue" I've found is that I need to add -nosound & -novoice or the startup is slower.

shouldn't -nosound include the no voice aswell?


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: Sorex on February 17, 2015, 11:46:11 AM
it made a lot of things work in the emulator that did not work on the real hardware, making it tough to properly develop ;-)

yeah, best practice coding ain't always bad ;)


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: manopac on February 17, 2015, 12:02:07 PM
just checked (in the changelog that is in the docs directory of the emu ;-) )

1.18.1
   - read/write from/to certain registers (unused, foreground, grid) behaves more like original now - this might make some programs that work on O2em but not original systems stop working (but that is as its supposed to be)

as for the novoice-switch / nosound-switch - I believe those are separate switches, no idea why it was initially implemented that way
but it should make no noticeable difference if you run o2em with or without it ... might have to look in the startup procedure some time ...


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: Sorex on February 17, 2015, 03:40:40 PM
It takes 1-2 seconds to init the sound on my machine at home and on this faster machine.

turning it of makes o2em open instantly.


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: goldenband on February 17, 2015, 08:00:20 PM
the NSC800 is implented in MESS as far as I recall, but somehow it's not working properly.

FWIW, when I checked the MESS docs they said:

"Chess needs emulation of the C7010 Chess Module, which had a NSC800 CMOS microprocessor, which gave the G7000 extra CPU and memory."

Older docs have a note that someone "Added NSC800 CPU emulation to the Z80 core", I assume for general use. So I guess the processor itself is already supported, as you say; the question is what's left to do to make the darn thing work.  ;)


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: ssj on February 22, 2015, 07:00:13 AM
Maybe try asking in the MESS forums? :)


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: Sorex on February 25, 2015, 08:29:23 PM
@manopac : are the dots on the right side of the outer left "cells" normal behaviour?

https://www.dropbox.com/s/w18qybxz564ztih/grid_fill.png?dl=0


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: Sorex on February 25, 2015, 08:38:00 PM
nevermind, I had another interpretation of "horizontal" :)

the line is horizontal bit the bit place go down and not to the right.

and vertical cases the fill apparently and adding horizontal aswell add that fat dot.


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: tigrou on August 24, 2015, 10:06:23 PM
@manopac :
what about creating a GitHub repository with this new version of O2EM (so you can track changes and other developers can participate).

I was unaware of that special version it until i got there. On GitHub it will be probably more visible.

also : i took a look at sound emulation problem in many games : take a look here https://sourceforge.net/p/o2em/bugs/5/
It's easy to fix.

I was wondering where did Pol Wilbert (the author of the odyssey emulation on MESS/MAME) found out how the noise / LSFR is implemented.

See his comment in i8244.c :

Code:
/* Noise tap is on bits 0 and 5 and fed back to bits 15 (and 23!) */

There is no documentation to be found on that 8244 intel chip :(

I tried to contact him but it seems he keeps his email private.

Best information about sound I found so far is here : http://www.atarihq.com/danb/files/o2doc.pdf


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: Rene_G7400 on August 25, 2015, 09:20:25 AM

This topic has more information about the 8244:

http://videopac.nl/forum/index.php?topic=1751.0 (http://videopac.nl/forum/index.php?topic=1751.0)



I was wondering where did Pol Wilbert (the author of the odyssey emulation on MESS/MAME) found out how the noise / LSFR is implemented.

See his comment in i8244.c :

Code:
/* Noise tap is on bits 0 and 5 and fed back to bits 15 (and 23!) */

There is no documentation to be found on that 8244 intel chip :(

Best information about sound I found so far is here : http://www.atarihq.com/danb/files/o2doc.pdf


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: tigrou on August 25, 2015, 11:55:10 AM

This topic has more information about the 8244:

http://videopac.nl/forum/index.php?topic=1751.0 (http://videopac.nl/forum/index.php?topic=1751.0)


Yes you are right. Pol probably used this to implement his odyssey emulation on MESS (for both audio and video)

From odyssey2_timing.txt :

Quote
The feedback taps are bits 0 and 5 of register A9.  These two bits are XOR'd and then passed on to bit 7 of A7 *and* A8. Bit 0 of A9 is still output to the audio output.

    A8        A9
[76543210][76543210]-> audio output
 ^           |    |
 | /---|-----/    |
 \-|xor|          |
   \---|----------/

This results in a noise period of 16383.

So basically kevtris hook up a logic analyser to find out how the chip works (since intel datasheet is nowhere to be found). Brilliant.


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: gertk on August 25, 2015, 05:50:20 PM
This is what the MCS-48 doc says about the sound system:

SOUND SYSTEM
The sound system generates a duty cycle modulated square wave from which an audio
signal is extracted by means of an external low pass filter. The control of the
duty cycle is effected by information that is transferred from the microprocessor
to the 8245. This information consists of triple byte groups that determine the
audio frequency and an accompanying 4 bits that determine volume.
The triple byte groups are loaded into three-eight bit shift registers located
on the 8245. Each byte in the group is loaded sequentially into its respective
register during a load interval. All three bytes are loaded in between conse-
cutive shift clock pulses. The concatenation of the three registers results
in a 24 bit string that is shifted out by this shift clock. The resulting
serial pattern of ones and zeroes contains a fundamental band of frequency
components that lie in the audio range. This particular signal is further
“chopped” by a higher frequency that is a multiple of the shift clock. By
duty cycle modulation of this “chopping” signal, the amplitude of the audio
component is varied. There are four control bits that are used to control the
audio level. These bits are loaded into a four bit down counter that is shifted
by the high frequency shift clock. The resulting output is ANDED with the output
from the three concatenated shift registers to produce the composite audio output.
In addition to the four volume control bits, three other control bits are used
to augment the overall operation of the sound system. A noise enable bit enables
a feedback path in the output eight bit shift register, in the 25 bit shift path
to produce the noise component. Simultaneously, the noise is added to the audio
component that is progressing down the shift register.
The shift frequency for the register may be varied between two values by another
control bit. This expedient allows low audio frequencies to be produced with
fewer refresh cycles from the microprocessor than for high frequencies thus, re-
ducing the load on the processor.
For the reproduction of certain audio tones that are subharmonically related to
the shift clock, the need for microprocessor refresh is totally eliminated by
recirculation of the 24 bit shift path.
The format of the sound control word is described below:
7 6 5 4 3 2 1 0
EN X S N V3 V2 V1 V0

Bits 0 – 3 – Volume Bits, collectively as a 4 bit word, these bits define the
output audio level.

Bit – 4 – Noise Enable; controls noise generation and mixing with the audio
signal. Bit 4 = 1, noise on; Bit = 0, noise off.12

Bit 5 – Shift Frequency; determines frequency of shift clock.
Bit 5 = 1, f = 3933Hz. Bit 5 = 0, f = 983Hz.

Bit 7 – Enable sound; 0 = No sound, 1 = sound.

For those modes of operation requiring sound refresh data from the microprocessor,
an interrupt is generated each time that the 24 sound bits have been shifted through
the three eight bit shift registers. A 5 bit counter set to module 24 counts shift
clocks and determines when the interrupt should occur.
The sound shift registers, volume counter and sound control word register are all
individually addressed by the microprocessor for the purpose of loading data. The
address of these elements is shown under the topic of “Address Structure”.


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: Chris! on May 06, 2016, 10:06:48 PM
I tried pressing F4 while working with Grid Edit to save my grid, but it wouldn't let me type anything. I'm using Windows 10.


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: Rafael on May 07, 2016, 02:46:30 PM
I tried pressing F4 while working with Grid Edit to save my grid, but it wouldn't let me type anything. I'm using Windows 10.

I really missing it, too :'(


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: manopac on May 07, 2016, 04:01:47 PM
Interesting - I never ran into this problem ... first I though it is because I am using a newer version of O2em, but apparently the problem is there as well: if you run o2em.exe by double-clicking it in the explorer, the debug window doesn't open beyond an empty screen ... weird ...

anyways - until I fix this in O2EM (along with the other stuff I am working on), here is an easy workaround that will make it usable again:

create an empty textfile called "o2em.bat" in the directory of o2em
write as only instruction "o2em.exe" into the bat-file
launch o2em using the bat-file (double click) instead of o2em.exe ... then you should be good to go ;-)

(alternatively just run o2em from the command line like I do ... then you wont have the problem ...)


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: Rafael on May 07, 2016, 05:43:19 PM
WOW, Many thanks! :D :D :D :D :D :D
I´ts just amazing to see it again!


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: Chris! on May 20, 2016, 03:29:36 AM
I would like a screen capture feature. Too many times I find myself pressing the prt scr key and then cropping the image in Paint. That would be cool.


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: manopac on May 22, 2016, 07:35:05 PM
If people would just read the f*** manual ;-)

It's F8 and it's always been in there - it used to take a minute to save the screenshot but I fixed that a while ago and now it saves instantly - you can specify the directory on O2EM start (details in the manual)


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: Chris! on May 25, 2016, 02:28:08 PM
I pressed F8 and O2EM went crazy and wouldn't shut off and gave me a black dump00.bmp file.


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: manopac on May 27, 2016, 09:19:20 PM
what version are you using? my 1.20 one should actually present you with a directory and filename once you press F8 ... are you using a frontend ? or just double click on the o2em.exe ?


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: Chris! on May 29, 2016, 04:33:51 PM
I am using 1.20b5, Should I be using a front end?


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: Doug on June 02, 2016, 04:41:55 PM
I love O2EM.  Quick question - there's one thing I like to do with other emulators but I don't think you can do it with O2EM.  Simply, I assign more than one possible key for a game event (usually two).  The reason I do this is so I can freely switch between Keyboard (where, say, I use Left Shift for fire) and a remote joystick I have (which uses the number "2" for fire, though some people might use button 1 in joystick mode).  It's also sometimes helpful if certain keyboard keys work better with certain games.  Is there a way to do this in O2EM?  I can do it with Stella and MAME...  Thanks again for the great work on this smooth, fast emulator...


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: tigrou on October 09, 2016, 12:18:39 PM
Hi there, seems somebody released a patch for the broken sound in O2EM.

See here : https://sourceforge.net/p/o2em/bugs/16/

Would it be possible to integrate it to manopac release ?

As I already said, a GitHub repo would make everything a lot easier. A single pull request and that's it.


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: Rene_G7400 on April 30, 2017, 11:31:55 PM
No it doesn't - I changed it because CAPS LOCK should perform what it does on the C7420 - allow you to type Uppercase Letters ;-)

From O2EM.TXT:

    SCROLL LOCK = Enables/Disables the O2 keyboard input of the keys used by joystick emulation

My new laptop computer doesn't seem to have a scroll lock key anymore.....


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: manopac on May 01, 2017, 09:42:01 PM
not even using one of the function keys? what exact model is it?


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: Rene_G7400 on May 02, 2017, 09:51:05 AM
not even using one of the function keys? what exact model is it?

HP Pavilion 15-bc010nd


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: partyicebear on May 02, 2017, 09:34:56 PM
not even using one of the function keys? what exact model is it?

HP Pavilion 15-bc010nd


Maybe the following hints help:
http://h30434.www3.hp.com/t5/Notebook-Hardware-and-Upgrade-Questions/How-do-I-toggle-Scroll-Lock-on-a-Pavilion-g7/td-p/1820129 (http://h30434.www3.hp.com/t5/Notebook-Hardware-and-Upgrade-Questions/How-do-I-toggle-Scroll-Lock-on-a-Pavilion-g7/td-p/1820129)


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: mjb on May 02, 2017, 09:56:46 PM
How about using the on screen keyboard.

Start > Settings > Ease of access > Keyboard


Title: Re: Merry Christmas - O2EM 1.20 (with C7420 emulation)
Post by: Doug on June 14, 2017, 05:32:33 AM
I just set up a new Win 10 computer and both o2em 1.18.1 and the 1.20 beta are slow. I haven't had problems with other emulators and I am running modern games in steam just fine. Oddly, on my prior, slower computer 1.18.1 ran fine.

Where can I find links to the 1.18.0 and 1.17 versions of the emulator?

Thanks...