Hannibal information 34 glöps
- general:
- level: user
- personal:
- first name: Soren
- last name: Hannibal
- demo Amiga OCS/ECS Wildcat by DMA [web]
- KK, I tried to debug a bit further (this is kinda fun!) and saw that yes, your code actually does write to the proper registers
However, at that point the copper DMA is still enabled, and the system copper is still set, so the next frame the system copper runs, and it overwrites those values. Even though your vblank interrupt sets a new copper list, the system copper has already been started.
I imagine it works with some kickstarts because they set them to the same values you need. You could fix it by for example either
1. instead of setting the registers with the CPU, you could put it in a "setup" copper list and load that into COP1LC. It would automatically be kicked the next frame you run. Optionally you could kick it right away
2. turn off copper DMA before you set the registers, set your real copper, and then reenable the dma or
3. just set them in the first "real" copper list you have. That's what I have traditionally done
Side note: I see that after setting the copper (in dff080), you do clr.w dff088. Probably fine for you, but there are 2 details to know when you do this:
1. writing to cop1jmp/cop2jmp from the CPU is dangerous if the blitter is running because it can mess up the blitter destination.
2. The copper automatically starts at the beginning of each frame, so if you just set the copper pointer during the previous frame you don't need this - isokadded on the 2015-11-26 07:52:17
- demo Amiga OCS/ECS Wildcat by DMA [web]
- Hey KK, I looked at this, and it seems that you are not setting DDFSTRT/DDTSTOP/DIWSTRT/DIWSTOP/BPLCON2/BPLCON3, and those are probably initialized differently in the various setups.
I found this by launching 2 instances of WinUAE - one working and one not working, and pressing shift+F12 to see in the debugger - you can see that those registers are different. The values you need for a 320x256 screen are
DIWSTRT($008e) = $2c81
DIWSTOP($0090) = $2cc1
DDFSTRT($0092) = $0038
DIWSTOP($0094) = $00d0
BPLCON2($0104) = 0
BPLCON3($0106) = $0C20
I'm not 100% sure the last two are needed, but these days I prefer to set all registers to cover myself. Try this and hopefully it helps (in the WInUAE debugger you could test it by directly writing to the registers with commands like this: W dff08e 2c81.w)
Other than that, really good job on the demo. I will check if my example demo has the proper setup, too. - rulezadded on the 2015-11-25 18:15:33
- demotool Amiga AGA Amiga OCS/ECS WinUAE Demo Toolchain 5 by Lemon.
- 7. I can't reproduce the problem, KK. I attempted these 2 things:
runa4000_60.exe exampledemo\out\exampledemo.exe (both AmigaForever or regular roms)
or
toolchain\startwinuae.exe a500 kick31 exampledemo\out\exampledemo.exe (the override only works if you DONT have amigaforever roms)
Both ran fine
Which exact roms are you seeing this on? There are multiple different Kickstart 3.1 out there (amigaforever lists different ones for a600 vs a1200 vs a4000 etc)
And what are your repro steps? - isokadded on the 2015-11-25 17:53:33
- demotool Amiga AGA Amiga OCS/ECS WinUAE Demo Toolchain 5 by Lemon.
- Couple more comments:
3. Which libraries are this? Where did you find them? What are they from? If they are legally redistributable, I'd probably want to include them
6. I actually already had one, I just forgot: Runa500_nofast is 512chip/0fast runa500 is for 512chip/512fast. - isokadded on the 2015-11-03 08:46:53
- demotool Amiga AGA Amiga OCS/ECS WinUAE Demo Toolchain 5 by Lemon.
- Thanks for the detailed suggestions, KK. I'll be happy to explain my design choices here.
1. yeah, that's definitely possible. One of my main design goals was to not require any installs/settings beyond just running the batch file, but I could change the sample bat files to check on this instead. Not sure I will get around to it
2. yeah, possible. I probably won't do this work myself either.
3. I don't know much about amiga c libraries. This sounds like a good fix. I just need to make sure that those binaries are freely sharable. Where did you find them?
4. copy2adf does all of this. It would be 3 commands or so, but it can create empty floppies and copy files to them, so you can make a simple bat-file for this yourself. BTW, the "runaXXX.bat" files internally detect if you add an adf or not, and if it is not an adf then it generates startup-sequence on the harddrive to launch it - so I use these to launch both adf and single-file demos.
5. I'm very familiar with makefiles, and it was a conscious choice for a couple of reasons:
5a. There are 2 types of programmers - the ones that are passionate about makefiles and the ones that don't care (or know) about how makefiles work - they just want to hack things together. The people that are passionate about makefiles can easily make their own makefiles, but the ones that just want to cobble things together, bat-files are simpler to read. And since I wanted to set this up to attract as many old-timers as possible - the ones that may never have bothered to learn makefiles, the choice was pretty clear for me.
5b. about asset conversion timestamping: sure, this would come automatically with makefiles, if there was a single output - however, my system spits out up to 4-5 files per asset being converted. So it's harder to have dependency checks like that. Also, it is a HUGE speedup on asset conversion to have a single executable launch that does a large batch of assets. So I wanted to do asset versioning check inside the executable instead, as part of the batch tool. I don't think I ever got it working, though - maybe later. Interestingly, the code reformatter actually does a version check - not using timestamps but by using a CRC. Also, I did the batch processing because it was fun to try to mess with threading :-)
6. Good point - To me, the gold standard is 1mb a500, but I can see the value in the 512k one. - isokadded on the 2015-10-26 17:18:20
- demotool Amiga AGA Amiga OCS/ECS WinUAE Demo Toolchain 5 by Lemon.
- @Heaven and @g0blinish: You are missing some executables? I don't know why that would be - vasmm68k_mot_win32.exe should be found in \toolchain\bin, and kingcon.exe should exist in of \toolchain. Is this not what you see when downloading the zip from scene.org?
If the example builds and runs then that should prove that the executables are there, right. - isokadded on the 2015-07-13 18:02:58
- demotool Amiga AGA Amiga OCS/ECS WinUAE Demo Toolchain 5 by Lemon.
- Spike, don't get your hopes up :-)
While I have plenty of ideas, I just don't have the time. And Paradroid set the bar pretty high with Redux, so I wouldn't feel happy releasing something half-assed :-) - isokadded on the 2015-05-20 08:57:40
- demotool Windows Amiga AGA Amiga OCS/ECS WinUAE Demo ToolChain
- Hey all, I've released an update - the much more comprehensive version 5 here
- isokadded on the 2015-05-20 08:32:54
- demotool Amiga AGA Amiga OCS/ECS WinUAE Demo Toolchain 5 by Lemon.
- It's been 3 years, and the toolchain has grown a lot. There's a lot of useful things - it's basically a full dump of my development folder. I've tried to set it up so it is useful for coders, artists and musicians. It's also useful if you just run demos with WinUAE.
Some of the key features are
* new windows-based image-to-raw converter with a billion features (images, sprites, attached sprites, bobs, animations, halfbrite, copperbars, fonts (monospace and proportional), including samples. Also spits out "preview" images to quickly review that image has been converted properly. Includes batch functionality
* one-click build-and-run single-file demo example (based on Blueberry's startup code) - with multiple music players and showing various bits of sample art, to test the converter
* one-click build-and-run bootblock example (based on Blueberry's bootblock sample) - includes compression
* 68k assembler syntax highlighting in Visual Studio 2013
* 68k assembler code prettifier
* tool to write sectors to adf-files, including bootblocks (and bootblock checksum calculation)
* bat-files to launch WinUAE with a lot of different music editors (ProTracker, OctaMED, Future Composer, and AHX), music player (DeliTracer) and titanics cruncher.
* bat-files to launch windows-based tools for sine creator, the Grafx2 graphics editor, and converting wav-files to iff
* bat-file to convert mod-files to p61
* bat-files to launch WinUAE with single-file executables or adf-files for a500/a500plus/a1200/a4000 - perfect for demo viewing
* one single shared harddrive setup (dh0 for tools/temp files and dh1 for assets)
While you can build and run the two examples without any kickstarts, you still need all kickstart roms and the Workbench 1.3 disk to get the full benefits.
Post bugs and errors here or on this thread on ADA. Check out the readme first, though. - isokadded on the 2015-05-20 08:24:36
- demo Amiga OCS/ECS 3d intro by Phalanx
- First 3d demo I ever saw, and it inspired me to learn 3d programming
- rulezadded on the 2012-06-29 07:59:46
account created on the 2006-01-30 23:42:28