Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.sys.apple2 > #19910 > unrolled thread
| Started by | "Bill Buckels" <bbuckels@mts.net> |
|---|---|
| First post | 2014-05-22 22:34 -0500 |
| Last post | 2014-06-01 20:44 -0500 |
| Articles | 9 — 4 participants |
Back to article view | Back to comp.sys.apple2
Double Hi-Res Demo in cc65 available for Download "Bill Buckels" <bbuckels@mts.net> - 2014-05-22 22:34 -0500
Re: Double Hi-Res Demo in cc65 available for Download "Bill Buckels" <bbuckels@mts.net> - 2014-05-22 23:03 -0500
Linker Configs and Screen Holes (Was: Re: Double Hi-Res Demo in cc65 available for Download) David Schmidt <schmidtd@my-deja.com> - 2014-05-23 07:49 -0400
Re: Double Hi-Res Demo in cc65 available for Download Antoine Vignau <antoine.vignau@laposte.net> - 2014-05-23 04:50 -0700
Re: Double Hi-Res Demo in cc65 available for Download "Bill Buckels" <bbuckels@mts.net> - 2014-05-23 15:58 -0500
Re: Double Hi-Res Demo in cc65 available for Download Payton Byrd <plbyrd@gmail.com> - 2014-05-23 06:42 -0700
Re: Double Hi-Res Demo in cc65 available for Download "Bill Buckels" <bbuckels@mts.net> - 2014-05-23 16:22 -0500
Re: Double Hi-Res Demo in cc65 available for Download "Bill Buckels" <bbuckels@mts.net> - 2014-05-25 17:06 -0500
Re: Double Hi-Res Demo in cc65 available for Download - Doumentation, Demo, and Update "Bill Buckels" <bbuckels@mts.net> - 2014-06-01 20:44 -0500
| From | "Bill Buckels" <bbuckels@mts.net> |
|---|---|
| Date | 2014-05-22 22:34 -0500 |
| Subject | Double Hi-Res Demo in cc65 available for Download |
| Message-ID | <llmfkk$mpi$1@speranza.aioe.org> |
Download it Here: http://www.appleoldies.ca/cc65/programs/dhgr/dhishow.zip Includes working disk images and source code. Documentation and more to follow. Bill
[toc] | [next] | [standalone]
| From | "Bill Buckels" <bbuckels@mts.net> |
|---|---|
| Date | 2014-05-22 23:03 -0500 |
| Message-ID | <llmh9v$po4$1@speranza.aioe.org> |
| In reply to | #19910 |
Bill Buckels wrote: >http://www.appleoldies.ca/cc65/programs/dhgr/dhishow.zip cc65's memory configuration is severely limited for DHGR as it now stands from what I know. I was unable to write a SYS program to load DHGR images. I managed to squeek this program in under Page 2 DHGR by using Oliver's loader.system. I will write a detailed document similar to what I have done for DLGR about DHGR. Then I will write some demos for Plottting of Graphics for each. For DHGR Aztec C65 is currently a better bet at this time. Has anyone else ever done DHGR in cc65? If so, I would love to look at the linker config file that was used. The lack of a screen hole option in cc65 is a severely limiting factor that needs correcting. Overlays might be a work-around for this problem in cc65... I am still thinking about it. If nobody has any firm information about DHGR in cc65 watch for the document. If anyone has firm info about changing the cc65 linker to create screen holes for graphics, I surely would like to see the code. Bill
[toc] | [prev] | [next] | [standalone]
| From | David Schmidt <schmidtd@my-deja.com> |
|---|---|
| Date | 2014-05-23 07:49 -0400 |
| Subject | Linker Configs and Screen Holes (Was: Re: Double Hi-Res Demo in cc65 available for Download) |
| Message-ID | <llnck1$kq9$1@dont-email.me> |
| In reply to | #19912 |
On 5/23/2014 12:03 AM, Bill Buckels wrote: > Has anyone else ever done DHGR in cc65? If so, I would love to look at the > linker config file that was used. The lack of a screen hole option in cc65 > is a severely limiting factor that needs correcting. I don't do graphics, so I have no idea why screen holes are important to DHGR and when/how they need to be poked. But I know a little about linker configs and how you tell cc65 where you intend to put stuff. Can you explain in simple (and hopefully brief) terms what you need to accomplish - and what you expect the linker to do to enable you to do it? [followups set to c.s.a2.programmer]
[toc] | [prev] | [next] | [standalone]
| From | Antoine Vignau <antoine.vignau@laposte.net> |
|---|---|
| Date | 2014-05-23 04:50 -0700 |
| Message-ID | <168f64b2-e546-411f-b68c-41c1fbd558e4@googlegroups.com> |
| In reply to | #19912 |
Nice work, as usual, Bill. With the pair $C054 (main RAM) - $C055 (aux RAM), you block the use of two DGR pages. Using other softswitches ($C00x) would allow you to do page flipping in DGR. 00/C002 byte w:RDMAINRAM 00/C003 byte w:RDCARDRAM 00/C004 byte w:WRMAINRAM 00/C005 byte w:WRCARDRAM Antoine
[toc] | [prev] | [next] | [standalone]
| From | "Bill Buckels" <bbuckels@mts.net> |
|---|---|
| Date | 2014-05-23 15:58 -0500 |
| Message-ID | <llocqj$em9$1@speranza.aioe.org> |
| In reply to | #19915 |
"Antoine Vignau" <antoine.vignau@laposte.net> wrote: >Nice work, as usual, Bill Thanks Antoine. >With the pair $C054 (main RAM) - $C055 (aux RAM), you block the use of two >DGR pages. Using other softswitches ($C00x) would allow you to do page >flipping in DGR. >00/C002 byte w:RDMAINRAM >00/C003 byte w:RDCARDRAM >00/C004 byte w:WRMAINRAM >00/C005 byte w:WRCARDRAM I understand that (I think) but my problem is my C code needs to go somewhere. In C I can't simply jump past Page1 and Page 2 but I know that reading a file to page 1 while displaying page 2 and vice-versa will give me an instant transition between slides which I think is your main point. Bill
[toc] | [prev] | [next] | [standalone]
| From | Payton Byrd <plbyrd@gmail.com> |
|---|---|
| Date | 2014-05-23 06:42 -0700 |
| Message-ID | <7190568a-af38-46cf-a990-f1e54b2bddfa@googlegroups.com> |
| In reply to | #19912 |
Bill,
I don't think you are approaching the problem with the right angle for cc65. What you need to do is define memory segments for your holes. Then, you need to define buffers in an assembler source that go into these holes
Example, create a memory region named "block1" and have it start at $a000 and run to $afff (I don't know the particulars of the apple, I'm just giving a generic example). Next in the linker config add a segment called "block1segment" that uses block1 as BSS memory.
In your assembler file, use the following code
.export _block1hole
.segment "block1segment"
_block1hole:
.repeat $FFF, i
.byte $00
.endrepeat
There maybe a macro for doing the FFF byte definition, I'm going off the top of my head right now.
Now, you can use _block1hold as a byte array in cc65. You need to define it in a header like this:
extern byte block1hole[0xFFF];
I hope this helps
[toc] | [prev] | [next] | [standalone]
| From | "Bill Buckels" <bbuckels@mts.net> |
|---|---|
| Date | 2014-05-23 16:22 -0500 |
| Message-ID | <lloe7f$i21$1@speranza.aioe.org> |
| In reply to | #19916 |
"Payton Byrd" <plbyrd@gmail.com> wrote: >I don't think you are approaching the problem with the right angle for >cc65. Or vice-versa... but you are right of course. I am trying to do what I can in C, but I need to write some core routines in assembler to support the C. >What you need to do is define memory segments for your holes. Then, you >need to define buffers in an assembler source that go into these holes <snip> >I hope this helps. Not until I can think like that. What I'd like to say right now is that is exactly the way I would do it. What I get out of this right now is that the cc65 linker already supports memory holes. I simply don't know how to use it to do so. But leave it with me for an epiphany to take place. Once done it will no longer be a problem for me:) Ok so the questions are then.. 1. Would you add this new segment to the link library as an optional segment for programs that use DHGR graphics? 2. Would you build a tgi graphics driver around this new segment and add that to the link library as well? 3. Since HGR and DHGR both use one or both of the same 2 pages of main memory, and DHGR additionally uses one or both of the same 2 pages of auxiliary memory, and cc65 supports two main types of program on the Apple II, BIN and SYS, is this too messy for a standard and a driver? I still need some place to fit my code so I need to think about this some more. Can I define several segments in a C program instead of using assembly? I need to RTFM. Bill Bill
[toc] | [prev] | [next] | [standalone]
| From | "Bill Buckels" <bbuckels@mts.net> |
|---|---|
| Date | 2014-05-25 17:06 -0500 |
| Message-ID | <lltph7$nl2$1@speranza.aioe.org> |
| In reply to | #19910 |
>"Bill Buckels" <bbuckels@mts.net> wrote: >http://www.appleoldies.ca/cc65/programs/dhgr/dhishow.zip >Includes working disk images and source code. >Documentation and more to follow. After talking with the guys, I decided to use page 1 of DHGR instead of page 2 of DHGR. Going to page 1 with a cc65 program start address at 0x4000 provides a considerable amount of more RAM than trying to squeek a program under page 2. Oliver's loader.system has no problem loading a cc65 DHGR program using either page 1 or page 2 DHGR. I am in the process of porting line drawing routines, and font routines, etc. for DHGR page 1 so I can see for sure that this is going to work in all cases, but this changes some things that in the final analysis probably provide pretty much the same amount of memory to a DHGR BIN program in cc65 as in an Aztec C65 SYS program. It also potentially provides the same free space under the program for useful buffers. The best part is that only 1 address setting in the config file needs to change. I have alot of code to move from Aztec C to make this all work. I am anticipating smaller fastert code in cc65, so I think the end result will be much better, and in most cases as efficient as pure 6502 machine code. At this point I have 2 DHGR slideshows working, one with each configuration. What I need is a complete graphics library. Anyone who is interested can send me private mail until I am ready to publish this. I do need to point out that a BIN program in Aztec C65 has more available memory, so the DOS 3.3 DHGR examples in Aztec C65 are especially efficient memory7 wize, but this adavantage is totally chewed-up with Aztec C65's bloated code due to cc65's much smaller footprint and better use of the stack. In some previous posts I boldly stated that doing DHGR in cc65 was trivial. I think in all fairness I'd better say that this is a very subjective statement. After I provide you with my libraries and examples that will follow, doing DHGR in cc65 will become trivial. It's only program code after all. Using the standard config files that Oliver and Uz provide with very minor modifications will support DHGR but this is a very complicated business unless you have these routines "nailed cold". Someone who has already done DHGR may have some success at this point, but that would not be possible without extreme programming and a really hard-core effort. After I am finsihed this part of the port, I am committed to providing everyone with a relatively effortless set of routines that will make DHGR in cc65 trivial. However, having said that, you need to understand that C programming was never really for BASIC programmers. If you are stuck in a BASIC programming mindset this is not for you. The same holds true for someone who is an ML programmer. If you are convinced that ML is an end in itself, you will likely not enjoy this very much. If however, you know both BASIC and ML and you want to bang-off some cc65 DHGR C programs, this will be an incredible toy for you. Just give me some time to complete this and write it up. Bill
[toc] | [prev] | [next] | [standalone]
| From | "Bill Buckels" <bbuckels@mts.net> |
|---|---|
| Date | 2014-06-01 20:44 -0500 |
| Subject | Re: Double Hi-Res Demo in cc65 available for Download - Doumentation, Demo, and Update |
| Message-ID | <lmgku0$8kp$1@speranza.aioe.org> |
| In reply to | #19910 |
"Bill Buckels" <bbuckels@mts.net> wrote: >Download it Here: >http://www.appleoldies.ca/cc65/programs/dhgr/dhishow.zip >Includes working disk images and source code. >Documentation and more to follow. Documentation is now complete. Download it Here: http://www.appleoldies.ca/cc65/docs/dhgr/dhishow.pdf Source Code and Binaries are now complete. Download them Here: http://www.appleoldies.ca/cc65/programs/dhgr/dhishow.zip A Large Demo in HDV and 2mg disk image formats is now available. Download it here: http://www.appleoldies.ca/cc65/programs/dhgr/dhishowdemo.zip Well, it seems like I had a lot to say about Apple II Double Hi-Res Bitmapped Graphics again. For this demo release I decided to write a single program in cc65 and use conditional compilation and 2 different linker configuration files to produce 2 different binaries; one that uses the DHGR page one screen at $2000 and one that uses the page two screen at $4000. The documentation says a little more about this. In the course of this devlopment I produced quite a number of Apple IIe DHGR graphics files and I also had several laying around, so I produced some demos in addition to the sample disks that are still included with the distribution. Since I test using both AppleWin and the Kegs emulators, I provide an HDV image for AppleWin users and a couple of 2mg disk images for Kegs users in this demo. I also provide the gif files that I used with ][gif and a ][gif working environment on the demo disks in case someone wants to go as crazy as I did and convert some gifs to DHGR files and build their own slide shows. Or perhaps you'd rather tweak my cc65 code and add a mouse or some other features But that's enough for now... the documentation tells the rest of it.(and then some). All the best, Bill
[toc] | [prev] | [standalone]
Back to top | Article view | comp.sys.apple2
csiph-web