PDA

Просмотр полной версии : "Byte-01" CP/M code to BASIC code



Gelip
02.06.2013, 12:52
I want convert piece of code from CP/M file of "Byte01" computer to working in clone ZX Spectrum "Byte" BASIC. Program WW.COM after run in CP/M OS print on screen image and play music. I found image in WW.COM code in offset 2404. Sound data is probably in offset 1FB5 - 2403. Need help to disassemble code. I want to get something like in attach video file (AKDI.zip)
41928 AKDI.zip (http://www14.zippyshare.com/v/33405371/file.html)
I try debug this file in CP/M 80 Emu with DDT.COM debugger (http://www.cpm.z80.de/randyfiles/DRI/DDT.pdf):

D:\cpmemu>cpm z80 ddt ww.cpm
CP/M-86 emulator for DOS vers 1.3 - 11/30/97
Copyright (c) 1985, 1997 Jim Lopushinsky
Z80 CP/M-80 emulator for CP/M-86 vers 1.3 - 11/30/97
Copyright (c) 1985-1997 Jim Lopushinsky
DDT VERS 2.2
NEXT PC
4100 0100
-l
0100 JMP 1140
0103 NOP
0104 LDAX D
0105 MOV M,A
0106 INX D
0107 INX H
0108 DCR B
0109 JNZ 0104
010C RET
010D MVI C,00
010F MOV M,C

jerri
02.06.2013, 14:05
Gelip, you can use Ida interactive disassembler to disasm this

Gelip
03.06.2013, 12:27
Gelip, you can use Ida interactive disassembler to disasm this
Yes, right but i don't know how use this tool :-). Maybe anyone look at code?
Program WW.COM from disk image cpm_games2.kdi after change extension .kdi to .cpm possible mount in EMU 1.01 Robotron 1715 to Drive B: and open Debug window:
41952 http://savepic.ru/4620643m.png (http://savepic.ru/4620643.htm)

jerri
03.06.2013, 14:44
:) Gelip
here is ida database

jerri
04.06.2013, 11:36
Gelip, check it
the result is not guaranteed, but you can understand some routines.

Gelip
04.06.2013, 12:22
Thx. I also extract code with dZ80 2.0 (http://www.inkland.org.uk/dz80/) (Z80 disassembler) :-). Problem is how interpret this code. I know that first instruction is JUMP to 1140 offset.

jerri
04.06.2013, 13:20
Thx. I also extract code with dZ80 2.0 (http://www.inkland.org.uk/dz80/) (Z80 disassembler) :-). Problem is how interpret this code. I know that first instruction is JUMP to 1140 offset.

i make for you this file
analize it

Gelip
04.06.2013, 14:03
Is possible simply insert WW.COM 16384 bytes to RAM memory ZX Spectrum e.g. 40000 and run SUBROUTINE with RANDOMIZE USR 4+position code xxxx ??

I try like this:

1. In Spectaculator make new TAP file
2. SAVE "ww" CODE 40000,16384 (size WW.COM)
3. In ZX-Blockeditor insert WW.COM to block Standard Data file TAP
4. In Spectaculator open TAP and LOAD"" CODE
5. Now have all WW.COM in memory from address 40000
6. I calculate position offset subroutine and add this to 40000 e.g. 1F6B (8043 DEC): 40000 + 8043 = 48043
7. Next try run RANDOMIZE USR 48043

I try also before CLEAR 48042

Is this is possible without fix code address?

jerri
04.06.2013, 14:32
Gelip, nop
all program must work at #100

Gelip
04.06.2013, 15:53
For me disassembling is difficult :-(. Screen image I found in a simple and fast way - opens WW.COM in HEX editor :-)

Sound data is probably in offset 1FB5 - 2403 :-). This sound data is for play over chip VI53 in "Byte" or "Byte01" computer. (http://zxbyte.ru/byte18.htm) This data have characteristic structure - every fourth position occurs 10 HEX.
Music begins with the notes: F D C A#:

| 10 46 36 00 | 10 43 33 00 | 10 41 31 00 | 10 3B 2B 00 |
|-------F-----|-------D-----|-------C-----|-------A#----|

This is User Manual (http://zxbyte.ru/doc/3way_byte.zip) of three-channel sound generator. The table shows that for one note need two numbers. HEX or DEC numbers do not match the table but the structure is preserved if the note F = 36
At end of sound data in offset 2372 is header: MESCA - maybe this is characteristic for some sound program made in 90's ?

jerri
04.06.2013, 18:22
here is a system absent
some function calls to Dxxx and #00xx

Gelip
04.06.2013, 20:40
Yes, probably you right. I need resolve how use data from offset 1FB5 - most probably this is music data :-) Link (http://speccy.pl/forum/index.php/topic,1048.0.html)

Gelip
09.06.2013, 12:32
I try hack other music for VI53 "Byte" - Lambada. I find data set play speed.
http://zx-pk.ru/showpost.php?p=608304&postcount=27

I find also the same piece of code - string |Puşn in WW.COM - read this forum:
http://speccy.pl/forum/index.php/topic,1048.msg12612.html#msg12612

Gelip
31.05.2021, 00:47
У меня есть сюрприз. Программа ww.com из системы CP/M Байт-01 в версии BASIC на Байт 48K. Музыка проигрывается с помощью чипа КР580ВИ53 :)
75513