[WHERE TO FIND]PROTEUS for ZX81

General games-related topics
User avatar
kmurta
Posts: 305
Joined: Tue Sep 01, 2009 5:04 am
Location: Belo Horizonte - BR
Contact:

Re: [WHERE TO FIND]PROTEUS for ZX81

Post by kmurta »

DOAs_fan wrote: kmurta: Let me tell that you are the ZX-81 man, dude!!! :D

You are genius! Thank you so much for help me to recover this forgotten piece of code. It means a lot for my.
Oh, that is an injustice :oops: , in this forum there are many zx81 men, do not forget the sirmorris, andy, bobs, dr beep and others. I'm just a humble disciple of these guys :D

I am very happy to have been able to help you recover this piece of software that means a lot to you.
sirmorris wrote:Amazing! Well done Kelly! How did you manage the recovery?? I thought it would be near impossible with existing tools...
Indeed it was quite simple: first, using the editor Audacity, I applied a high-pass filter with cutoff frequency of 1500Hz. Then I normalize it and realized there was no drop's out, what led me to try to load it first in EightyOne, achieving success in the first attempt 8-)
1 x ZX81, 2 x TK85 , 1 TK82C, 1 TK95, 1 x Alphacom 32 printer, 1 x ZXpand
ZeXtender board, Joy81 - Programmable Joystick Controller, Turbo Sound 81
http://zx81.eu5.org
https://toddysoftware.itch.io/
sirmorris
Posts: 2811
Joined: Thu May 08, 2008 5:45 pm

Re: [WHERE TO FIND]PROTEUS for ZX81

Post by sirmorris »

kmurta wrote:Oh, that is an injustice :oops: , in this forum there are many zx81 men, do not forget the sirmorris, andy, bobs, dr beep and others. I'm just a humble disciple of these guys :D
Haha that may be true but one of the people in that list was far too clever for his own good :lol: I really thought it wouldn't work :oops:
Indeed it was quite simple: first, using the editor Audacity, I applied a high-pass filter with cutoff frequency of 1500Hz. Then I normalize it and realized there was no drop's out, what led me to try to load it first in EightyOne, achieving success in the first attempt 8-)
Wow - I shall be remembering this! Another cool filter in audacity is the leveller - if the original recording doesn't have much noise but has drop-outs then this can really help. If there is noise however, it amplifies this too :(
User avatar
DOAs_fan
Posts: 17
Joined: Tue Oct 09, 2012 4:06 am

Re: [WHERE TO FIND]PROTEUS for ZX81

Post by DOAs_fan »

yerzmyey wrote: Dude, that's a really good game!!
...
Niiiiiiiiiiice.
Hi yerzmyey!

I am so glad It likes you! Hope you enjoy it! :D
RWAP wrote: An excellent game - would you mind if I add it to my ZX81 downloads page?
Hi RWAP!

Of course you can add to the download list.

My original idea was to restore and share it.

Only if it possible write the autor´s name like in this page:

http://zx81.eu5.org/msprog.htm

But it´s not mandatory.

...and don´t forget to send me the link ;)
kmurta wrote: Oh, that is an injustice, in this forum there are many zx81 men, do not forget the sirmorris, andy, bobs, dr beep and others. I'm just a humble disciple of these guys
I am very happy to have been able to help you recover this piece of software that means a lot to you.
Sorry kmurta. I was too excited when I wrote this.

Was never my intention to forget sirmorris, andy, bobs, dr beep, yerzmyey, RWAP and everyone how was involved, directly or indirectly; in this restoring.

Sincere thanks to all! :D

In other hand: I don´t want to be out off topic but Is there any way to recover the assembler source code through the .p file?
Rather: Is there any way to recover the assembler source code?

Please, let me know if I have to open another topic for this issue.

Thanks
Last edited by DOAs_fan on Mon Oct 15, 2012 1:47 pm, edited 2 times in total.
sirmorris
Posts: 2811
Joined: Thu May 08, 2008 5:45 pm

Re: [WHERE TO FIND]PROTEUS for ZX81

Post by sirmorris »

Unfortunately there is no way to recover the original source code. The compilation process translates the source into the machine code and the link between them is lost at that point. How was the program developed? On a ZX81 using one of the assembler packages or on another system - so called 'cross assembly'?
User avatar
1024MAK
Posts: 5118
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: [WHERE TO FIND]PROTEUS for ZX81

Post by 1024MAK »

While what SirMorris says is true, for someone who knows what they are doing, it may be possible to disassemble the machine code back to assembly mnemonics.

However, how easy this is depends on if the machine code is self modifying, or other tricks were used.

No disassembly can generate the original source assembly code, like comments and meaningful labels, as none of this human readable information is needed by the CPU, so it is not included in the machine code...

Mark
ZX81 Variations
ZX81 Chip Pin-outs
ZX81 Video Transistor Buffer Amp

:!: Standby alert :!:
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :!:
Looking forward to summer later in the year.
User avatar
DOAs_fan
Posts: 17
Joined: Tue Oct 09, 2012 4:06 am

Re: [WHERE TO FIND]PROTEUS for ZX81

Post by DOAs_fan »

sirmorris wrote: Unfortunately there is no way to recover the original source code.
The compilation process translates the source into the machine code and the link between them is lost at that point.
How was the program developed? On a ZX81 using one of the assembler packages or on another system - so called 'cross assembly'?
mmmh, is a difficult question to answer.

I only remember that it was writen using the instruction set of Z80 microprocessor.

Do you need the name of the compiler used? I don´t know if I could find it but I will check all my old tapes for this quest.
1024MAK wrote: While what SirMorris says is true, for someone who knows what they are doing, it may be possible to disassemble the machine code back to assembly mnemonics.

However, how easy this is depends on if the machine code is self modifying, or other tricks were used.

No disassembly can generate the original source assembly code, like comments and meaningful labels, as none of this human readable information is needed by the CPU,
so it is not included in the machine code...
If It is possible to recover a list of assembly mnemonics it is fine for me.

I do not care if the comments and name vars/labels are lost in the process.

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

Re: [WHERE TO FIND]PROTEUS for ZX81

Post by sirmorris »

Here's the assembly listing for the machine code portion of proteus.

I found a pretty good disassembler which is open source. This is useful as the non-standard ZX81 character set confuses most tools - I hacked modified it to output ZX character codes rather than ASCII in the comments. Eg:

Code: Select all

        ; --- START PROC L6412 ---
L6412:  LD      HL,(400Ch)
        INC     HL
        LD      DE,0175h
        ADD     HL,DE
        LD      (HL),3Ah        ; 'U'
        INC     HL
        LD      (HL),38h        ; 'S'
        INC     HL
        LD      (HL),39h        ; 'T'
        INC     HL
        LD      (HL),2Ah        ; 'E'
        INC     HL
        LD      (HL),29h        ; 'D'
        INC     HL
        LD      (HL),00h        ; ' '
        INC     HL
        LD      (HL),2Ch        ; 'G'
        INC     HL
        LD      (HL),26h        ; 'A'
        INC     HL
        LD      (HL),33h        ; 'N'
        INC     HL
        LD      (HL),26h        ; 'A'
        RET
... which is more meaningful I'm sure you'll agree.

I've enclosed the program as well as the text. It's fairly simple to drive but I found that you need to chop off the sysvars and display file in a hex editor before disassembly. It doesn't handle headers very well - you'll get a crash - and I'm too lazy to fix it.
Attachments
yazd-81.zip
(26.58 KiB) Downloaded 375 times
proteus.asm
(159.41 KiB) Downloaded 334 times
User avatar
PokeMon
Posts: 2264
Joined: Sat Sep 17, 2011 6:48 pm

Re: [WHERE TO FIND]PROTEUS for ZX81

Post by PokeMon »

sirmorris wrote: I found a pretty good disassembler which is open source. This is useful as the non-standard ZX81 character set confuses most tools - I hacked modified it to output ZX character codes rather than ASCII in the comments. Eg:
I think it's not published as source ?!
I found only the executable with your link.
Did you just patch the character table ? ;)
sirmorris
Posts: 2811
Joined: Thu May 08, 2008 5:45 pm

Re: [WHERE TO FIND]PROTEUS for ZX81

Post by sirmorris »

The source is available ... tomorrow :oops: :D

It's only a couple of lines of code and a character table which has changed. I don't know if the original project will need the changes I made.

C
User avatar
stefano
Posts: 566
Joined: Tue Dec 11, 2012 9:24 am
Contact:

Re: [WHERE TO FIND]PROTEUS for ZX81

Post by stefano »

In the meanwhile a have a hint to tune speed:
the constants for delay are stored in 19846 and 19848.
If your ZX81 runs too fast, try POKE 19846,2 to slow down the game a bit ;)
Post Reply