![]() |
![]() |
#1 |
Registered User
Join Date: Feb 2019
Location: USA/Texas
Posts: 81
|
Slave ASM and compile
Hello. I’m novice compiling Slaves for WHLoad. I want to create my own Slaves. Also I see in WHLoad there are for each element a source code and I would like to test compiling by my self and create. mine. I understand assembly language. What I don’t know is what I need to install to be able to compile for example the source .asm for the Slaves? I can do in PC or must be in Amiga OS only? If in Amiga I need to install the WHLoad developer version? I have a computer with AMIKIT and runs fine that is why I ask I would not like to remove the version is actually running as runs fine, but that is why I need and what compiler does the job to convert to executable?
Thank you |
![]() |
![]() |
#2 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,439
|
cross compile with vasm on windows or linux it works great. You'll need amiga includes besides whdload.i
|
![]() |
![]() |
#3 |
Registered User
Join Date: Feb 2019
Location: USA/Texas
Posts: 81
|
Oh I see he whload.i is in developer file of whload. Where I copy the file in Windows? I will check vasm.
|
![]() |
![]() |
#4 |
Registered User
Join Date: Feb 2017
Location: Denmark
Posts: 1,298
|
Getting a proper setup is half the challenge
![]() I have a WB 3.1 installation in a "whdloaddev" folder where I have all slave sources, whdload etc. and a couple of WinUAE configurations that boot from that directory (one with JIT for fast iteration, and one with 060+MMU for proper debugging). WHdload dev package is installed in SYS:WHDLoad, system include in includes/NDK_3.9, you get the idea. S:user-startup starts the slave I'm working on. Then for e.g. this slave (http://www.whdload.de/demos/Altair_ZenerDrive.html) I have SYS:ZenerDrive w/ disk.1 and ZenerDrive.slave. In SYS:ZenerDrive/source I have ZenerDrive.s and a Makefile (and git repo, neither published) like this: Code:
PROGNAME = ZenerDrive HDBASE = c:\path\to\whdloaddev WHDBASE = $(HDBASE)\WHDLoad WHDLOADER = $(PROGNAME).slave SOURCE = $(PROGNAME).s CONFIG=whdload-test.uae #CONFIG=whdload-test-jit.uae all : $(WHDLOADER) $(WHDLOADER) : $(SOURCE) Makefile date > datetime vasmm68k_mot -pic -x -DDATETIME -I$(HDBASE)/includes/NDK_3.9/Include/include_i -I$(WHDBASE)/Include -I$(HDBASE)/includes -I$(WHDBASE) -I$(WHDBASE)/Src/sources -nosym -Fhunkexe -o $(WHDLOADER) $(SOURCE) test: $(WHDLOADER) cp $(WHDLOADER) .. cmd /c start c:\tools\winuae\winuae64.exe -config=$(CONFIG) -G |
![]() |
![]() |
#5 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,439
|
the above looks VERY familiar
![]() |
![]() |
![]() |
#6 |
Registered User
Join Date: Feb 2017
Location: Denmark
Posts: 1,298
|
Learned from the best
![]() |
![]() |
![]() |
#7 |
Registered User
Join Date: Feb 2019
Location: USA/Texas
Posts: 81
|
Oh wonderful now is all clear. I think vasm is wonderful. I used recently Ghidra to check some of my old programs I didn’t remember and is amazing too but vasm I see is a magnum for the compilation. Thank you for the help.
|
![]() |
![]() |
#8 |
Registered User
Join Date: Feb 2017
Location: Denmark
Posts: 1,298
|
Great! Feel free to ask more questions as there probably small tips you can benefit from that feel implicit when you've done this a bit. Like the offset between what you're usually seeing in ghidra and what you need to use for patch lists etc.
|
![]() |
![]() |
#9 |
Registered User
Join Date: Feb 2019
Location: USA/Texas
Posts: 81
|
I’m testing and I configured all. Appears not a problem. I just have an issue. I see the demo you mention ZenerDrive the WHDLoad asks lvo/dos.i also lvo/graphics.i I have the NDK 3.9 for amiga and it doesn’t comes there the lvo/dos.i and lvo/graphics.i where can I download that libraries or the full NDK complete? I see that dos.i is inside dos directory lvo/graphics.i I can’t find. Where can I download that NDK include libraries?
Last edited by field3d; 08 May 2024 at 03:47. |
![]() |
![]() |
#10 |
Registered User
Join Date: Feb 2019
Location: USA/Texas
Posts: 81
|
I noted what is missing in some. The kick13.s asks for the lvo/graphics.i that one I can’t find anywhere. Any place to find that library?
|
![]() |
![]() |
#11 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,439
|
will zone those for ya
|
![]() |
![]() |
#12 |
Registered User
Join Date: Jan 2008
Location: Warsaw/Poland
Age: 56
Posts: 2,118
|
I dont remember exactly, it was many years ago.
But many old includes/sources dont use LVO/ as directory. LVO dir was created perhaps when kick 3.0 was created. Try graphics/graphics.i and copy to LVO dir or modify kick13.s file and change path for lvo/graphics.i to correct. |
![]() |
![]() |
#13 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,439
|
I remember that those files are somehow non standard. All other files with structures & defines & all are standard but those ones appear in different formats. Either big LVO file of all known libs or separate files. Zoned them.
|
![]() |
![]() |
#14 | |
Moderator
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,755
|
Great question field3d!
![]() Quote:
![]() Then ppl who know how to code could at any time just fire that up, make the changes, and compile a new version. It would be a dream... especially for me as I've recently asked for more "button 2 instead of up to jump" (and in general full 3-button support if useful) slaves. Maybe it could be done as a pinned, community effort thread with that as result? Then the first game I would patch would be Paradroid 90!! ![]() |
|
![]() |
![]() |
#15 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,439
|
This can't really be HDF, unless you want to use barfly on WinUAE to build slaves (which is still possible, but I've stopped doing that since around 2015)
|
![]() |
![]() |
#16 | |
Moderator
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,755
|
Quote:
![]() Maybe something akin to ClassicWB could be done, but as a .zip and KS/WB stuff provided by the user on a blank harddisk or harddrive directory? I.e. freshly installed 3.1 Amiga, unzip this to root and it puts everything in the proper place? (Mostly to save writing an installer script, which would obviously be even better - as long as it doesn't "stop on something" too easily.) The goal, then, to have a clean volume dedicated to only working on slaves. Maybe there's already a repo that does this? (Or for that matter, a tutorial thread already from a decade ago?) ![]() |
|
![]() |
![]() |
#17 |
Registered User
Join Date: Feb 2019
Location: USA/Texas
Posts: 81
|
Yes I can modify no problem it works as Python the problem is I can’t find the graphics.i that lick13.s asks or exists with other name? I tried to search in internet in bel 3.9, 3.2 and a lot of places and nothing refers me to a graphics.i. The other .i I could find but graphics.i nop. Where can I download it that file? Or maybe if has other name in the ndk 3.9 or 3.2?
|
![]() |
![]() |
#18 |
Registered User
Join Date: Jan 2008
Location: Warsaw/Poland
Age: 56
Posts: 2,118
|
Seems that was called graphics_lib.i previously:
https://github.com/deplinenoise/amig...graphics_lib.i |
![]() |
![]() |
#19 |
Registered User
Join Date: Feb 2019
Location: USA/Texas
Posts: 81
|
Oh that one I just rename from lib.i to .i and that’s all?
|
![]() |
![]() |
#20 |
Registered User
Join Date: Feb 2019
Location: USA/Texas
Posts: 81
|
I renamed that library to .i and I have these errors:
error 23: undefined symbol <_LVOFreeMem> error 23: undefined symbol <_LVORemove> error 23: undefined symbol <_LVOAddHead> error 23: undefined symbol <_LVOAddTail> error 23: undefined symbol <_LVOAllocMem> Any idea? Is possible that graphics.i is another version or other thing. I think is needed the graphics.i in specific. For example the same happened with dos_lib.i is different of the file dos.i. I compared both files and totally different. And dos.i I could find there are many versions. But graphics.i I can’t find it yet. Is a requirement for the kick13.s is not the game I mentioned is the real kick13/s who requires that library then any place to find it or what can I replace? Last edited by field3d; 08 May 2024 at 15:30. |
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
ASM: Asm-ONE or AsmPro - how to set a Hello amiga coders, I hope it is ok to hijack ? | Fireball | Coders. Asm / Hardware | 8 | 31 May 2024 10:22 |
Tool to convert asm to gnu asm (gas) | Asman | Coders. Asm / Hardware | 13 | 30 December 2020 11:57 |
Help with compile | JimDrew | Coders. Language | 23 | 30 October 2014 22:42 |
Trying to compile some ASM in StormC V4 | NovaCoder | Coders. General | 2 | 29 September 2009 01:44 |
WHDload ASM Slave | Retro1234 | Coders. General | 21 | 27 October 2008 13:20 |
|
|