Author Topic: arnold wip  (Read 22214 times)

0 Members and 1 Guest are viewing this topic.

Offline arnoldemu

  • Supporter
  • 6128 Plus
  • *
  • Posts: 5.313
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 2191
arnold wip
« on: 21:52, 20 January 16 »
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

Offline 40Crisis

  • CPC464
  • **
  • Posts: 41
  • Liked: 123
Re: arnold wip
« Reply #1 on: 14:22, 23 January 16 »
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.









Offline ukmarkh

  • 6128 Plus
  • ******
  • Posts: 1.333
  • Country: england
    • Classic Replay
  • Liked: 275
Re: arnold wip
« Reply #2 on: 15:22, 23 January 16 »
Jesus! About time, I was beginning to cry with the older version. Thanks!  ;)

Offline arnoldemu

  • Supporter
  • 6128 Plus
  • *
  • Posts: 5.313
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 2191
Re: arnold wip
« Reply #3 on: 15:51, 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

Offline arnoldemu

  • Supporter
  • 6128 Plus
  • *
  • Posts: 5.313
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 2191
Re: arnold wip
« Reply #4 on: 15:52, 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

Offline J.T.Kirk

  • CPC464
  • **
  • Posts: 8
  • Country: gr
  • Liked: 1
Re: arnold wip
« Reply #5 on: 00:04, 24 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.
Amstrad CPC 6128, CTM-644, External 3.5" Disk Drive

Offline arnoldemu

  • Supporter
  • 6128 Plus
  • *
  • Posts: 5.313
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 2191
Re: arnold wip
« Reply #6 on: 08:57, 24 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

Offline mr_lou

  • 6128 Plus
  • ******
  • Posts: 2.678
  • Country: dk
    • index.php?action=treasury
    • 8-bit Memoirs - a Blu-ray diskmag-like eBook about the 8-bit era
  • Liked: 900
Re: arnold wip
« Reply #7 on: 08:31, 26 January 16 »
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.

Offline arnoldemu

  • Supporter
  • 6128 Plus
  • *
  • Posts: 5.313
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 2191
Re: arnold wip
« Reply #8 on: 08:51, 26 January 16 »
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

Offline mr_lou

  • 6128 Plus
  • ******
  • Posts: 2.678
  • Country: dk
    • index.php?action=treasury
    • 8-bit Memoirs - a Blu-ray diskmag-like eBook about the 8-bit era
  • Liked: 900
Re: arnold wip
« Reply #9 on: 09:48, 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).

Offline Munchausen

  • 6128 Plus
  • ******
  • Posts: 770
  • Country: gb
  • Liked: 208
Re: arnold wip
« Reply #10 on: 10:26, 26 January 16 »
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.
« Last Edit: 11:10, 26 January 16 by Munchausen »

Offline mr_lou

  • 6128 Plus
  • ******
  • Posts: 2.678
  • Country: dk
    • index.php?action=treasury
    • 8-bit Memoirs - a Blu-ray diskmag-like eBook about the 8-bit era
  • Liked: 900
Re: arnold wip
« Reply #11 on: 10:53, 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?


Offline Munchausen

  • 6128 Plus
  • ******
  • Posts: 770
  • Country: gb
  • Liked: 208
Re: arnold wip
« Reply #12 on: 10:59, 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.

Offline Munchausen

  • 6128 Plus
  • ******
  • Posts: 770
  • Country: gb
  • Liked: 208
Re: arnold wip
« Reply #13 on: 11:08, 26 January 16 »
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


Offline TotO

  • 6128 Plus
  • ******
  • Posts: 2.964
  • Country: fr
    • ?area=showdonations;u=4
    • Cent Pour Cent [dot net]
  • Liked: 2080
Re: arnold wip
« Reply #14 on: 11: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
« Last Edit: 11:25, 26 January 16 by TotO »
Unregistered from CPCwiki forum.

Offline arnoldemu

  • Supporter
  • 6128 Plus
  • *
  • Posts: 5.313
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 2191
Re: arnold wip
« Reply #15 on: 11:33, 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

Offline arnoldemu

  • Supporter
  • 6128 Plus
  • *
  • Posts: 5.313
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 2191
Re: arnold wip
« Reply #16 on: 11:35, 26 January 16 »
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

Offline Munchausen

  • 6128 Plus
  • ******
  • Posts: 770
  • Country: gb
  • Liked: 208
Re: arnold wip
« Reply #17 on: 11:36, 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

Offline Munchausen

  • 6128 Plus
  • ******
  • Posts: 770
  • Country: gb
  • Liked: 208
Re: arnold wip
« Reply #18 on: 11:44, 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...

Offline robcfg

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.977
  • Country: se
  • 8-Bit Technomancer
    • index.php?action=treasury
  • Liked: 811
Re: arnold wip
« Reply #19 on: 14:23, 26 January 16 »
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  :-*

Offline CraigsBar

  • Supporter
  • 6128 Plus
  • *
  • Posts: 3.170
  • Country: ie
  • The party ain't over yet
    • index.php?action=treasury
  • Liked: 1110
Re: arnold wip
« Reply #20 on: 14:30, 26 January 16 »
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 :(

Offline robcfg

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.977
  • Country: se
  • 8-Bit Technomancer
    • index.php?action=treasury
  • Liked: 811
Re: arnold wip
« Reply #21 on: 15:47, 26 January 16 »
I'd love to, where should I send the money?

Offline CraigsBar

  • Supporter
  • 6128 Plus
  • *
  • Posts: 3.170
  • Country: ie
  • The party ain't over yet
    • index.php?action=treasury
  • Liked: 1110
Re: arnold wip
« Reply #22 on: 17: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.

Offline EgoTrip

  • 6128 Plus
  • ******
  • Posts: 1.048
  • Country: gl
    • http://egochip.blogspot.co.uk/
  • Liked: 662
Re: arnold wip
« Reply #23 on: 17:42, 26 January 16 »
If you're handing out free computers, I need a new windows laptop.
EgoTrip&#39;s Stuff
EgoTrip's Stuff

Offline robcfg

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.977
  • Country: se
  • 8-Bit Technomancer
    • index.php?action=treasury
  • Liked: 811
Re: arnold wip
« Reply #24 on: 18:10, 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.