English Amiga Board


Go Back   English Amiga Board > Other Projects > project.Amiga Game Factory

 
 
Thread Tools
Old 13 December 2023, 09:05   #41
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,303
Quote:
Originally Posted by ransom1122 View Post
Nice, [ Show youtube player ]

I know its super early though what i saw

1. Winuae - Full Screen, starting Medium game crashes
2. Crashed after Round 2 playing in Full Screen Window
3. Random other crashes on either window or fullscreen

Keep up the good work jotd

thanks. Can you explicit the crashes? and if it crashes because of fullscreen/window then it's not really a problem with the game.
jotd is online now  
Old 13 December 2023, 11:15   #42
zzbylu
Saberman
 
zzbylu's Avatar
 
Join Date: Dec 2016
Location: Kielce/Poland
Posts: 331
Gameplay: [ Show youtube player ]
zzbylu is offline  
Old 13 December 2023, 12:30   #43
Don_Adan
Registered User
 
Join Date: Jan 2008
Location: Warsaw/Poland
Age: 55
Posts: 2,002
Quote:
Originally Posted by jotd View Post
thanks. Can you explicit the crashes? and if it crashes because of fullscreen/window then it's not really a problem with the game.
At end of video, You can see WHDload crash.
Too bad that most players dont created Coredump reports (often only text report is enough) when tested game crashes.
For me fullscreen/window crash can be related to game too, especially if game trashes memory or registers, but maybe Im wrong.
Don_Adan is offline  
Old 13 December 2023, 12:59   #44
tomcat666
Retro Freak
 
tomcat666's Avatar
 
Join Date: Nov 2001
Location: Slovenia
Age: 51
Posts: 1,649
VERY nice Loving it. Perfect really.

One question: How about 2nd button to rotate anti-clockwise ?
tomcat666 is offline  
Old 13 December 2023, 13:07   #45
malko
Ex nihilo nihil
 
malko's Avatar
 
Join Date: Oct 2017
Location: CH
Posts: 4,935
It's funny as the initials I used to use to put my name in the highscore table while playing on arcade halls are present in this conversion
malko is offline  
Old 13 December 2023, 14:20   #46
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,303
Quote:
Originally Posted by tomcat666 View Post
VERY nice Loving it. Perfect really.

One question: How about 2nd button to rotate anti-clockwise ?

Good idea, but that is not that easy to code because of the special corner case of shape against the wall. Nice suggestion though.

About the crashes I think I may have an idea, stay tuned
jotd is online now  
Old 13 December 2023, 18:44   #47
btp
Registered User
 
Join Date: Aug 2017
Location: Greece
Posts: 145
An old favorite of my new! I've spent quite some quarters in that one!
From the videos I watched you've made some great progress already! Simply amazing!
btp is offline  
Old 13 December 2023, 19:46   #48
DanyPPC
Registered User
 
Join Date: Dec 2016
Location: Italy
Posts: 765
Here a GlowIcon:
Attached Files
File Type: info Tetris.info (9.4 KB, 54 views)
DanyPPC is offline  
Old 13 December 2023, 22:10   #49
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,303
thanks for the icon!

Quote:
Originally Posted by redblade View Post
What's the code size compared to the 6502? I know that the 68k has more registers available but the instruction size jump to 16bits, and then a possible 32bits for memory location is a big step up from the 8bit.

Is 68k 4 times bigger? (excluding sound code)
Original game ROM is around 64k (not counting graphics). There are some data, at least 16k, and possibly more. I'd say that the 6502 code is around 40k, the converted assembled 68k object file is 120k. A better conversion could lead to smaller code, but there are a lot of emulation-like code to avoid rewriting everything manually.

Quote:
Originally Posted by ransom1122 View Post
Nice, [ Show youtube player ]

I know its super early though what i saw

1. Winuae - Full Screen, starting Medium game crashes
2. Crashed after Round 2 playing in Full Screen Window
3. Random other crashes on either window or fullscreen

Keep up the good work jotd
creating a coredump & zoning it would be much appreciated! I see where the game crashes and that's because of a write in a non-writable memory zone, so programming/conversion error.

Last edited by jotd; 13 December 2023 at 22:17.
jotd is online now  
Old 13 December 2023, 22:47   #50
ransom1122
Registered User
 
ransom1122's Avatar
 
Join Date: Aug 2011
Location: Omnicorp
Age: 45
Posts: 5,849
I didn't think it was something you were after seeing its so early alpha.. I'll see what I can do when I play test it again
ransom1122 is offline  
Old 14 December 2023, 00:15   #51
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,303
actually the game is pretty complete except for sound and a few extra features like highscore save & better pokey random.
jotd is online now  
Old 14 December 2023, 03:20   #52
ransom1122
Registered User
 
ransom1122's Avatar
 
Join Date: Aug 2011
Location: Omnicorp
Age: 45
Posts: 5,849
Quote:
Originally Posted by jotd View Post
creating a coredump & zoning it would be much appreciated! I see where the game crashes and that's because of a write in a non-writable memory zone, so programming/conversion error.
Done.. In the zone
ransom1122 is offline  
Old 14 December 2023, 19:49   #53
Amiga1992
Registered User
 
Join Date: May 2001
Location: ?
Posts: 19,646
You've made my dream come true, JOTD
Amiga1992 is offline  
Old 14 December 2023, 19:59   #54
redblade
Zone Friend
 
redblade's Avatar
 
Join Date: Mar 2004
Location: Middle Earth
Age: 40
Posts: 2,127
Quote:
Originally Posted by jotd View Post
Original game ROM is around 64k (not counting graphics). There are some data, at least 16k, and possibly more. I'd say that the 6502 code is around 40k, the converted assembled 68k object file is 120k. A better conversion could lead to smaller code, but there are a lot of emulation-like code to avoid rewriting everything manually.
Thanks , just over 3x times for the code doesn't seem too bad, I knew the Original MAC was stuffed with just 128K RAM but that is crazy.

So you just go off the MAME header find the code ROM and disassemble it and make sure the RAM Addresses which the ROM tries to access is mapped correctly? Is this where WHD comes in with mapping the low RAM address space?
redblade is offline  
Old 14 December 2023, 23:55   #55
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,303
no, it's not like that. I'm managing the real 64 memory like an emulator would do, with mapping of various regions. The game runs on 68020 without whdload and without using real zero page memory (which would cause other issues). I know some Z80 to 68000 converters which seem to do that to remain in the first 32k or 64k but not here.

Depending on the address (ram, rom, bank, eeprom) the program adds the proper offset. It can detect wrong addresses too (video & palette must be specially processed so writes have a direct effect). Game also uses a slapstic AKA bank selector, so the address converter needs to know which bank is active.

I'm really amazed that it runs great with so little reverse engineering by my end.

Code:
* < A0: offset
* flags preserved
get_address:
	PUSH_SR
	cmp.w	#0x1000,a0
	bcc.b	0f
	* RAM
	add.l	#game_ram,a0
	POP_SR
	rts
0:
	* above 0x1000
	cmp.w	#0x2100,a0
	bcc.b	0f
	lea		address_1000_20FF_loaded_message(pc),a1
	jbsr	osd_break
	POP_SR
	illegal
0:
	* above 0x2100
	cmp.w	#0x2400,a0
	bcc.b	0f
	lea		address_2100_23FF_loaded_message(pc),a1
	jbsr	osd_break
	POP_SR
	illegal
0:
	* above 0x2400
	cmp.w	#0x2600,a0
	bcc.b	0f
	* EEPROM
	lea		eeprom_2400-0x2400,a0
	POP_SR
	rts
0:
	* above 0x2600
	cmp.w	#0x4000,a0
	bcc.b	0f
	lea		address_2600_3FFF_loaded_message(pc),a1
	jbsr	osd_break
	POP_SR
	illegal	
	illegal	
0:
	* above 0x4000: caution: compare with long!!
	cmp.l	#0x8000,a0
	bcc.b	1f
	* banked ROM, check which bank
	lea		bank1_4000-0x4000,a1
	tst.b	current_bank
	bne.b	0f
	lea		bank0_4000-0x4000,a1
0:
	add.l	a1,a0
	POP_SR
	rts
1:
	* above 0x8000: ROM
	add.l	#rom_8000-0X8000,a0
	POP_SR
	rts
now to load

Code:
	GET_ADDRESS	0x00ca                     	| [$401e: lda	$00ca]
	move.b	(a0),d0                         	| [$401e: lda	$00ca]
with GET_ADDRESS as a macro

Code:
	.macro GET_ADDRESS	offset
	lea	\offset,a0
	jbsr	get_address
	.endm
This is the only sane way to do with a 6502 which doesn't have address pointers but indirect accesses from zero page. On Z80, the code was much more 68000-like, and I was using real variables. Pengo didn't even have a copy of ROM, except for the tiles of the title screen. Everything else had been converted to tables, and it could have passed for native 68000 code. Here it's not possible without understanding & rewriting everything.

Music coding is currently giving me headaches, but I'll sort it out.

Last edited by jotd; 15 December 2023 at 00:03.
jotd is online now  
Old 15 December 2023, 02:16   #56
Don_Adan
Registered User
 
Join Date: Jan 2008
Location: Warsaw/Poland
Age: 55
Posts: 2,002
I think that easiest (maybe fastest too) way to access all regions can be something like next code:

Code:
 lea MemAreas,A0
 moveq #bank,D0
 swap D0
 move.w #offset,D0
 lea (A0,D0.L),A1

 MemAreas
 ds.b $10000*Banks
Don_Adan is offline  
Old 15 December 2023, 08:03   #57
JoeJoe
Registered User
 
Join Date: Feb 2020
Location: Germany
Posts: 188
It's impressive how quickly you implemented this port.

In my current port I use the following code:
Code:
  move.b    $30B+GRD_StandardData_8000(a5),d0    ; [$0293: ld   a,($830B)]
  lea       $314+GRD_StandardData_8000(a5),a0    ; [$0296: ld   hl,$8314]
  addq.b    #1,(a0)                              ; [$0299: inc  (hl)]
  sub.b     (a0),d0                              ; [$029a: sub  (hl)]
But even with Z80 there is a lot of mess to use a ZeroPage. And then manipulate the stack to land on the right address too.
JoeJoe is offline  
Old 15 December 2023, 08:08   #58
TjLaZer
Registered User
 
TjLaZer's Avatar
 
Join Date: Sep 2004
Location: Tacoma, WA USA
Age: 52
Posts: 1,924
Here is an icon I made for Tetris.
Attached Files
File Type: info Tetris.info (33.6 KB, 40 views)
TjLaZer is offline  
Old 15 December 2023, 21:35   #59
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,303
Quote:
Originally Posted by JoeJoe View Post
It's impressive how quickly you implemented this port.

In my current port I use the following code:
Code:
  move.b    $30B+GRD_StandardData_8000(a5),d0    ; [$0293: ld   a,($830B)]
  lea       $314+GRD_StandardData_8000(a5),a0    ; [$0296: ld   hl,$8314]
  addq.b    #1,(a0)                              ; [$0299: inc  (hl)]
  sub.b     (a0),d0                              ; [$029a: sub  (hl)]
But even with Z80 there is a lot of mess to use a ZeroPage. And then manipulate the stack to land on the right address too.

Z80 code I've seen has a lot of stack pops, which is difficult to find and crashes.

There's also the play with H and L separately, then together, (with sometimes memory aligned on $100). Plus the infamous half carry flag (that I never saw in action yet). Depends on the programming style I guess. But 6502 is clearly more difficult to transcode into some readable code.
jotd is online now  
Old 16 December 2023, 00:34   #60
PascalDe73
PascalDe73
 
PascalDe73's Avatar
 
Join Date: Apr 2019
Location: Charleroi Belgium
Age: 51
Posts: 157
Quote:
Originally Posted by TjLaZer View Post
Here is an icon I made for Tetris.
Hi,

Here My GlowIcon too (Workbench 3.5 & More)

The arcade Flyer too.

@JOTD

Nice Game Port... Congratulations

Best Regards,

Pascal
Attached Thumbnails
Click image for larger version

Name:	Tetris Arcade Flyer.jpg
Views:	56
Size:	252.3 KB
ID:	81051  
Attached Files
File Type: zip Tetris GlowIcons.zip (18.5 KB, 37 views)

Last edited by PascalDe73; 16 December 2023 at 00:45.
PascalDe73 is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
[WIP] Frogger conversion JoeJoe project.Amiga Game Factory 99 24 December 2023 13:11
[WIP] Super Bagman conversion jotd project.Amiga Game Factory 26 24 November 2023 08:07
[WIP] Galaxian conversion jotd project.Amiga Game Factory 107 16 July 2023 19:37
[WIP] Pengo conversion jotd project.Amiga Game Factory 95 14 July 2023 17:16
Ms Pacman conversion WIP jotd project.Amiga Game Factory 86 22 November 2021 21:45

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 14:47.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.10339 seconds with 13 queries