News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu

arnold wip

Started by arnoldemu, 20:52, 20 January 16

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

arnoldemu

This is a public release of Arnold "WIP". It replaces the earlier versions of Arnold.

This release is considered an alpha release. There are some bugs. I felt it was now time to release it for others to try.

Thank you to everyone who helped over Christmas and New Year testing an earlier version.

Since then I concentrated on
1) adding my tests to the source archive
2) improving the accuracy of the Plus emulation.

I am actively updating Arnold and I plan to release new versions regularly (next one will have fixed CRTC emulation).

Key features of this release:
- Builds on Linux, Mac and Windows
- works on windows xp->windows 10
- consistent UI (all versions have the same features and UI)
- comes with a test suite to show how accurate it is
- has a few devices emulated (Bryce's MegaRom, Bryce's LowerRom, Amram 2, Multiplay)
- it is highly configurable.
- it has a a powerful debugger (View->Debugger..)

Known issues:
- the windows installer requires you to be admin or to give it permission to install
- on windows you may need to turn off virus checking when you install (but enable it again after). If you don't do this then on some systems it will seem to hang for a while.
- sound breaks up and distorts (similar to earlier Arnold versions ;) ).
- monitor emulation is simple (effects changing hsync and vsync mid screen will not be emulated correctly)
- snapshot loading/saving is a bit broken.

Arnold is a little different to other emulators in it's configuration.

For example:
- drive A is set to 40 track single sided, with ready signal, just like a CPC6128 (can be configured if you need to)
- drive B is set to 80 track double sided, with ready signal (can be configured)
- to use expansion ROMs you will need to enable a device that supports them (e.g. Bryce's MegaROM) and insert them into one of it's rom slots (just as you would on a real machine) (Settings->Devices->Expansion Devices...)
(Choose Megarom and right click and select "Enable". Now right click and choose "Expansion Roms...". Choose a slot and right click and "Load" or pick any of the builtin roms).

You can change the drive settings (Disk Drive A->Drive Settings..) or you can use the ABBA drive switch to swap the drives.

I try to emulate each device accurately.  Devices have buttons, switches, system roms (roms which are on the pcb) and expansion roms (rom slots). Some devices require a system rom to be loaded to work (Brunword mk2 and Brunword mk4).

I have used devices so that it's possible to configure Arnold to your own CPC specification and so that it is possible to upgrade/downgrade as needed for ease of testing your game/program.

I have implemented more devices than are shown but these have been disabled for this release. I will enable more in the next release after I have done more testing.

For linux, download the source and build it. You will need cmake, gcc,g++,libsdl1.2 and wxwidgets 3.0.

For windows:
Unofficial Amstrad WWW Resource

The source (contains tests in test directory):
Unofficial Amstrad WWW Resource


My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

40Crisis

Hello,

nice to see that the new version is released.

I tried the windows version.

I have a keyboard routine taken from cpctech samples.

But when I tried to execute it under Arnold I see the screen flickering moving quickly up 8 pixels up and go back to orginal position.

Here's a simple sample to see if you will experienced the same behaviour.









ukmarkh

Jesus! About time, I was beginning to cry with the older version. Thanks!  ;)

arnoldemu

Quote from: 40Crisis on 13:22, 23 January 16

I have a keyboard routine taken from cpctech samples.

But when I tried to execute it under Arnold I see the screen flickering moving quickly up 8 pixels up and go back to orginal position.

Here's a simple sample to see if you will experienced the same behaviour.
Hi 40Crisis,

Thank you for the bug report. I will fix it. :)


My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

arnoldemu

Quote from: ukmarkh on 14:22, 23 January 16
Jesus! About time, I was beginning to cry with the older version. Thanks!  ;)
I hope with this new version you will cry less.

Next release is planned in two weeks time with more fixes :)
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

J.T.Kirk

Will this update be only for windoze systems? Or you gonna contact Bannister for the MacOSX port as well?


For your information, Ventzislav Tzvetkov is responsible for the AmigaOS 4 port.
Amstrad CPC 6128, CTM-644, External 3.5" Disk Drive

arnoldemu

Quote from: J.T.Kirk on 23:04, 23 January 16
Will this update be only for windoze systems? Or you gonna contact Bannister for the MacOSX port as well?


For your information, Ventzislav Tzvetkov is responsible for the AmigaOS 4 port.
The update is for windows, linux and mac.

I distribute the update as a setup exe for windows. Linux users should download the source and build it. I use cmake for the build system.

I have a DMG for Mac. Mac users can also download the source and build from that. The Mac port is not yet working as well as the others - keyboard is not working as well, speed is not synced at 100%, sounds is untested.

I am happy if Ventzislav Tzvetkov would take the new sources and port them to AmigaOS.

My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

mr_lou

As usual I can never compile anything.

I gathered that I have to run makeit.sh

But I just get an access denied in line 4: ./makexrc.sh

Trying with sudo ./makeit.sh and sudo bash makeit.sh but still the same.

C/C++ stuff hates me.

arnoldemu

Try:

./make_arnz80_release.sh

when it's done go back up a few folders to find the exe directory.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

mr_lou

Quote from: arnoldemu on 07:51, 26 January 16
Try:

./make_arnz80_release.sh

Same thing:
./clean.sh: line 18: ./clean.sh: Access denied

I've tried chmod +x on all sh files and the main src folder too.

I'm sure nothing is wrong with your code or setup. But something is always preventing me from compiling anything C/C++.
(Which is why it's taken me this long before even attempting compiling Arnold).

Munchausen

#10
You need to run the following in the source directory:
find . -name '*.sh' -exec chmod +x {} \;

This could be fixed by changing all script executions from, e.g. "./clean.sh" to "bash ./clean.sh", or by using a container that preserves file permissions (like a tarball) instead of using zip.


I also needed:


find . -type f -print0 | xargs -0 sed -i 's/emudevice.h/EmuDevice.h/g'

So I suspect this was built on a filesystem that doesn't support permissions and is case insensitive.

Then there is an error in cpiu/asic.c. Change line 1426 from "for (int i=0; i<3; i++)" to "for (i=0; i<3; i++)".


Then it will build ok.

mr_lou

Quote from: Munchausen on 09:26, 26 January 16
You need to run the following in the source directory:
find . -name '*.sh' -exec chmod +x {} \;

Wouldn't chmod +x *.sh basically do the same?


Munchausen

Quote from: mr_lou on 09:53, 26 January 16
Wouldn't chmod +x *.sh basically do the same?
No. You need to recursively run the command. chmod -R +x *.sh wouldn't work either.

Munchausen

Here is the corrected source: Mega File Upload - arnoldwip_src.tar.bz2
And here is a build (executables) for linux i386 (not x64) on ubuntu 14.04: Mega File Upload - arnold_i386_ubuntu14.04.tar.bz2


TotO

#14
Linux is definitively so retro!  8)
25 years gone and always the same problems forcing to use command lines to waste your time, like at the first day!  ;D
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

arnoldemu

Quote from: Munchausen on 09:59, 26 January 16
No. You need to recursively run the command. chmod -R +x *.sh wouldn't work either.
I zipped it all on windows and lost the executable permissions :(

Sorry.

@Munchausen: Thank you for the fix :)
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

arnoldemu

I have been loaned a macbook.
So I will be able to improve the mac version  now :)
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Munchausen

Quote from: TotO on 10:24, 26 January 16
Linux is definitively so retro!  8)
25 years gone and always the same problems forcing to use command lines to waste your time, like at the first day!  ;D
Personally I find the command line saves me time. The only thing I really need a gui for is web browsing (and even then, I sometimes use elinks if I just need to check something quickly).


Also, the actions I just did there:
(1) change permissions on all files with a .sh extension below current directory
(2) replace all occurrences of "emudevice.h" with "EmuDevice.h" in all files below current directory
(3) change a line of a source file
Are:
(1) in no way related to the fact that we are using the command line.
(2) would in many cases take much longer with a GUI than by running a single command!
(3) could be done using a gui on linux as simply as on other OSs  (you don't have to use the CLI!)


:D

Munchausen

Quote from: arnoldemu on 10:33, 26 January 16
I zipped it all on windows and lost the executable permissions :(

Sorry.

@Munchausen: Thank you for the fix :)
No worries! I figured it was something like that. Thanks for arnold ;)
It looks _really_ nice. I like the debugger. I've been playing a bit, but I have some other stuff to do now so will have to have a better look later...

robcfg

Well, I've been a Windows user all my life, and I'm fed up of the useless UI and the inability to do anything serious with it.


Quite happy now with Mac OS X and Linux, both with powerful command lines  :-*

CraigsBar

Really excited about a decent osx emu. I cannot believe that no one else here wanted to donate towards a Mac mini to help in the development of Arnold :(
IRC:  #Retro4All on Freenode

robcfg

I'd love to, where should I send the money?

CraigsBar

How much do you want to donate? I am hoping donate between 50 and 100 EUR to the fund, but to get a late c2duo or early i5 will cost upwards of 250 EUR here in Ireland. I need a commitment now so I can grab one and know I am not gonna be out of pocket. They come up on the Irish auction sites fairly frequently. At much better prices than eBay. I have been looking at anything elcapitain happy.
IRC:  #Retro4All on Freenode

EgoTrip

If you're handing out free computers, I need a new windows laptop.

robcfg

Quote from: CraigsBar on 16:37, 26 January 16
How much do you want to donate? I am hoping donate between 50 and 100 EUR to the fund, but to get a late c2duo or early i5 will cost upwards of 250 EUR here in Ireland. I need a commitment now so I can grab one and know I am not gonna be out of pocket. They come up on the Irish auction sites fairly frequently. At much better prices than eBay. I have been looking at anything elcapitain happy.


50€. We need a decent emulator on mac.

Powered by SMFPacks Menu Editor Mod