Jump to content

zilog_z80a

Members
  • Posts

    136
  • Joined

  • Last visited

Posts posted by zilog_z80a

  1. On 2/21/2020 at 3:56 PM, Andrew Davie said:

     

    Since I was mentioned, I thought I'd poke my head up and say that I do read the posts that mention dasm.

     

    If you followed my tutorials, they implicitly teach you about dasm. Because all you really need to know on the command-line is how to actually assemble a program. That's pretty straightforward, and covered in one of the earliest tutorials.

     

    The rest is all about writing your assembly (not C) code, and that, too, is covered in the tutorials.

     

    Stuff like labels, mnemonics, repeat loops, macros, org statements... these are all covered.

     

    There's not a lot more to know other than mastering how to do things efficiently and that comes with practise.  Just about every bit of source code posted is a tutorial "about dasm". And there is, of course, the dasm manual which is available from the home page on github. If you really want to get into the intricacies that's a good place to start.

     

    In short, it seems you're a little confused about what dasm is/does. I say that because of your comments saying you're not a c programmer,  and that there are no examples/tutorials "about dasm".

    Having said that, ask your questions and I'll be happy to try and help you out.

     

     

    We are now near 2022, and all i have said was in 2020.

     

    @Andrew Davie  THANKS A LOOOOOT FOR ALL THE WORK YOU DID ABOUT DASM DOCUMENTATION.

     

    Hope some day to translate that document to spanish with your name in it if you allow me to do it and make it part of atari.rf.gd,

     

    THANKS AGAIN. THANK YOU!!

    • Like 1
  2.   

    On 8/2/2017 at 4:49 PM, JamesD said:

    Timex Sinclair 1000 computer complete with 16K RAM module, original boxes, TV switch box, power supply, cassette cable, rare plastic travel case, rare aftermarket keyboard with raised rubber keys, user manual, 4 tapes including Critical Path Analysis, Strategy Football, The Coupon Manager, and The Carpooler

    The machine worked fine several years ago when I bought it, but now the video output needs adjusting or repaired.

    My HDTVs wouldn't tune in the signal at all and it appears to be distorted even on an old analog TV.

    The screenshot is of a simple BASIC program I typed in and ran. It definitely ran though.
    10 FOR I = 1 TO 10
    20 PRINT I
    30 NEXT I

    More photos on ebay.
    I'd be willing to sell it a little cheaper here.

    http://www.ebay.com/itm/-/192265430222?

    post-10422-0-15299600-1501703329_thumb.jpg

     

     

    Hi man!! do you steel have this travel case?

     

    cheers!!

  3. On 10/9/2012 at 11:13 PM, Tempest said:

    I've decided to put my Timex Sinclair 1000 collection up for sale. I've been collecting Timex 1000 stuff for a while now, so I've got an interesting collection. I have no idea what to ask, so please just make an offer.

     

    Here's what is included:

     

    Timex Sinclair 1000 System (complete in box)

    16K RAM Module (complete in box)

    51 Game Programs for the Timex Sinclair book

    Several printouts of game programs

     

    timex1.jpg

     

     

    NOTE: All games are complete in box unless noted

     

    Non-Timex Games

    Execu-soft (large binder full of tapes. See picture)

    Home Budget

    Mega Mind

    Vault of the Centaurs

    Tic Tac Toe

    Words

    Fantasy Games

    Flash Card

    Mars (loose)

    Starship Trojan (loose)

     

    timex2.jpg

     

    timex3.jpg

     

     

    Timex Games

    Algebra I

    Automobile Analyzer

    Backgammon

    Big Flap Attack

    Chess

    College Cost Analyzer

    Conversational French

    Conversational Spanish

    Critical Path Analysis

    Fortress of Zorlax

    Frogger

    Grimms Fairy Tales

    Heating System Analyzer

    Language Usage

    Manufacturing Control

    Merchant of Venus

    Mixed Game Bag I

    Mixed Game Bag II

    Mixed Game Bag III

    Money Analyzer 1

    Portfolio Analysis

    Power Pack 1

    Presidents

    Real Estate Investment Analysis

    States and Capitals

    Stock Market Game

    Stock Market Tech. Analysis I

    Super Math

    Super Maze

    The Budgeter

    The Carpooler

    The Challenger I

    The Checkbook Manager

    The Coupon Manager

    The Cube Game

    The Flight Simulator

    The Gambler

    The Home Asset Manager

    The Home Improvement Planner

    The IRA Planner

    The List Manager

    The Loan/Mortgage Amortizer

    The Puzzler

    The Stamp Collector

    The Stock Option Analyzer

    The Trident

    Trap

     

    Androids (Timex 1500)

     

     

    timex4.jpg

     

     

    Some closeups of the games

    timex5.jpg

    timex6.jpg

     

     

    Hi!! do you have still some ts1000 cassette? if not, can you send me the buyer via private msg?

     

    may be since 2012 now he wants to sell..

     

    ty.

    • Haha 1
  4. http://web.archive.org/web/20040627231026/http://www.taswegian.com/TwoHeaded/Atari2600/GreetingCart/GreetingCart.html

     

    GreetingCart - Interleaved ChronoColour™ in Action!

    Your GreetingCart™ demonstrates, for the first time on Atari 2600 hardware, an arbitrary colour image of reasonable quality. This cartridge uses software techniques ('Interleaved ChronoColour'™) to give the impression of full-colour images when, in fact, the rigid and limited capabilities of the Atari 2600 hardware still apply. The hardware of the Atari 2600 is not capable of displaying a TV frame with the image you see produced by this cartridge!

    The image displayed by this GreetingCart™ is 48 pixels wide by 128 pixels deep, and actually consists of just four colours - red, green, blue and black. There is only a single intensity of each colour (that is, there is a single red available, etc.) By changing the colour of each pixel in the image between red, green, blue or black (in various combinations) in a dynamic fashion (ie: over time), the image is perceived by the human eye as being composed of multiple colours.

    The two hardware sprites available on the Atari 2600 are each a single (independently) selectable colour, 8 pixels wide and one pixel deep. These sprites may be positioned anywhere on a horizontal line, and automatically repeat their shape and colour at the same position on the next line. The Atari 2600 allows a sprite to be displayed up to three times on any scanline - with preset spacing between each sprite instance. However, the shape displayed remains the same, unless it is changed mid-scanline by software.

    The famous 6-digit score routine - used for most of the scoring systems on Atari 2600 games - does just this, dynamically modifying the sprite shapes to achieve 6 independent 8-pixel wide sprites per scanline. It's a very neat trick, and forms the basis for the Interleaved ChronoColour™ system. Unfortunately, each of the sprites on the line must be a single colour - there is not enough processing time to change the shape of the sprites and the colour of the sprites- yet alone the colour of individual pixels. In fact, there's barely enough time to even change the shape of the sprites!

    So, how does Interleaved ChronoColour™ manage to produce a full-colour image?

    As it turns out, the system uses characteristics of the limitations of the human eye and your TV screen to give the impression of many colours when, in fact, the colour resolution (in both time and space) is quite limited. Your eye does not have high temporal colour resolution, so colours that vary rapidly tend to merge together and are perceived as a single blended colour. The colour resolution of the eye viewing a TV image appears (just from my experiments with the ChronoColour™ effect) to be roughly 18-20Hz - that is, above this rate the eye is unable to discern individual colours as they change. This is slow enough to allow the ChronoColour™ system to display reasonable images.

    As noted, there is barely enough time to display different shapes for each 8-pixel-wide sprite on any scanline - yet Interleaved ChronoColour™ appears to be displaying different shapes and colours! It appears to be, but it isn't... it just looks like it is. The Interleaved ChronoColour™ system is still using just a single colour for all of the sprites on any scanline - red, green, or blue. The same colour is used for the whole of any scanline. The system is varying the both colour used for any individual line (a single colour for the whole line) and the shapes displayed on that line. Every 3 sequential TV frames you see firstly red components of the pixels on the line, then the green components of the pixels on the line, then the blue components of the pixels on the line. So, any scanline consists of a single colour change for each sprite (to blue, green, or red), followed by (essentially) the body of the standard 6-digit score routine, which changes the shape of each sprite on-the-fly. Subsequent frames display the other colour components for that line.

    Each scanline must display on successive TV frames the blue, green, and then red components of the image for the ChronoColour™ effect to work. By also varying the colour of scanlines within a TV frame (one red, the next blue, the next green, the next red, etc), and displaying the right shapes for the sprites on those lines (the red pixels, etc), the alternation of red/green/blue is done at the frequency of display of scanlines (ie: many times per TV frame) instead of the frequency of display of the TV frames themselves (ie: at 60Hz).

    As there are only 4 colours available for any pixel (blue, green, red or black) of a single intensity, shading is achieved by dithering the original separated colour planes to two colours (black or non-black). This dithering distributes the pixels such that the eye perceives different intensities of the original colour.

    If you look very closely at the image, you may be able to detect a rolling band of red/green/blue scanlines marching up the screen - especially in the white areas of the image, if present. If you move your finger up the TV at the correct speed, watching your finger as you go, this effect becomes much more pronounced. This demonstrates clearly the alternating of colours on a per-line basis, and the interleaving of the colours on a per-frame basis for any scanline.

    So, that's how the Interleaved ChronoColour™ system works!

    Behind the display system itself are tools developed to produce data in the correct format. These tools, and the Interleaved ChronoColour™ technology itself, were developed during early 2003 by Andrew Davie, with input from various sources, including helpful advice and suggestions from members of the [stella] mailing list and the AtariAge community.

     

    Creating Interleaved ChronoColour™ Images

    This example shows the process used for creating data for the Interleaved ChronoColour™ system.

    First, a suitable image is chosen, and resized to 48 wide by 128 pixels deep. The resizing process should use a filter to preserve as much of the original image colour and detail as possible. This stage of the process may also involve adjusting the brightness and contrast of the image to improve the final image as shown on the Atari 2600. It is sometimes an iterative process to find settings which are pleasing to the eye.

    Image3.gif  Image4.gif

    The 48 x 128 pixel image shown at right, above, is separated into three component images - the red, green and blue components of the original image. These components are shown below.

    Image5.gif  Image6.gifImage7.gif

    These component images are each 256 shades of a single colour (red, green or blue). The Interleaved ChronoColour™ system is capable of displaying just a single shade of red, green, or blue, and black, so the images are colour-reduced to just 2-colours (including black). By dithering the images during the colour-conversion, detail and shading information is preserved. The images below show the component images after they have been dithered (in this case using error diffusion and 'Stucki' weighted dithering method).

    Image8.gif
    Dithered Red Component
    Image9.gif
    Dithered Green Component
    Image10.gif
    Dithered Blue Component
    Marilyn RGB combined
    Animated RGB

    These three images (left, above), displayed on successive TV frames, would essentially appear to the human eye like the original image. However, left at this stage the 20Hz 'flicker' introduced by only displaying each colour on every third TV frame is quite noticeable and annoying. The eye can clearly detect the individual colour frames, though the brain is able to reconstruct the merged colours.

    The animated GIF, above right, shows the 2-colour dithered images displayed one after the other. Your browser will probably not display this image at full-speed (it should display 1 frame every 1/60th of a second) - but in any case, if it is animating quickly enough you may see that the combination of the separate 2-colour images does give a reasonable reconstruction of the original image, but the flicker is distracting.

    The next stage in the process, then, is to 'interleave' the red, green and blue images to produce hybrid frames which contain on successive lines a line from the red, a line from the green, and a line from the blue image, etc. Tools written for the purpose create data for these hybrid frames. The result of the interleaving is three frames, the first of which starts with a line from the red image, then a line from the green image, then a line from the blue image, etc. The second image starts with a line from the green, then a line from the blue, then a line from the red, etc. And finally, the third image starts with a line from the blue, then a line from the red, then a line from the green, etc.

    Marilyn Interleaved RGB 1
    Interleaved RGB
    Marilyn Interleaved RGB 2
    Interleaved GBR
    Marilyn Interleaved RGB 3
    Interleaved BRG
    Marilyn RGB combined, interleaved
    Animated Interleaved Frames

    This process produces three images (left, above) which, seen on their own almost appear like the original colour image. But note, each scanline of these images is still only a single colour and intensity (with pixels either red, green or blue). The animated GIF, above right, shows the same 2-colour dithered images as before, but with the lines interleaved as described above. Now, even at a low frame rate, the flickering is much less apparent and the colours easier to discern. A close-up of a section of the one interleaved image, below, shows the interleaved scanlines. When the three interleaved images are displayed on consecutive TV frames, the flickering is no longer noticeable - because each image includes red, green, and blue components. That's the essence of the Interleaved ChronoColour™ process.

    Image12.gif
    Close-up of RGB Interleaving

    The images below show a digital camera image from a monitor, alongside the original image. It's clearly not photo-quality - but given the hardware capabilities of the Atari 2600, Interleaved ChronoColour™ opens up exciting new opportunities in graphics display for future games.

    Image13.gif Image4.gif

    This 4K Binary will run on the real thing, and under emulators such as Stella and Z26.

    Copyright ©2003 Andrew Davie

  5. 36 minutes ago, Andrew Davie said:

    I hesitate to reply to a "lol" but...
    It's complex to find where everything is, but the Sokoboo source code is a complete implementation of the described method.

    It might be a bit much -- not packaged as a stand-alone.... but anyway have at it...

    https://github.com/andrew-davie/Sokoboo

     

     

    hi @Andrew Davie i laugh of my self, the example was in front my eyes in 2017 and me asking for an example.

     

    cheers.

     

    Sokoboo ty for that!!

  6. On 9/20/2020 at 3:55 PM, Marcos Moutta said:

    HURRAY! IT WORKS!

    I mean, it didn't work, but like, I poked it!

    "Fatal assembly error: source is not resolvable." 

    I'm sure it's easy from here onward. Thanks a lot!

     

    Hi mate,  let you here some help.

     

    /path/thru/folders/to/executable/of/dasm /path/thru/folders/to/my/source/file/kernel.asm -lkernel.txt -f3 -v5 -okernel.bin

    if dasm and your source code are in the same folder yo can use ./

     

    ./dasm kernel.asm -lkernel.txt -f3 -v5 -okernel.bin

     

    you must have vcs.h and macro.h files in the same folder where your source code it's.

     

    try some easy example inside your kernel.asm, if you do everything like it's posted here should work fine.

     

    cheers.

     

    PD: bear in mind, in linux you are allowed just to work inside your user folder if you are not the root user:

     

    /home/YOUR_USER_NAME_FOLDER

  7. @CPUWIZ

     
    I hope you are well soon, get well, that surely in addition to many people who appreciate you here in the forum...
    many must also be waiting for your health improvement there in your land.
    
    great greeting from Argentina.
    
    get well !! yeh!!?
  8. 10 minutes ago, RevEng said:

    Sure, you're welcome. 

     

    You can't use dynamic labels directly as a macro argument, but nothing stopping you from doing something like...

     

    mymacroarg SET ARG,INDEX,"VAL" ; mymacroarg is now whatever ARG#VAL is

      mymacro mymacroarg

     

    ty @RevEng, i will try this in some days.

     

     

    TABLE_WITH_ZEROS

    MYMACRO_WITH_SEVERAL_TABLES_WITH_GRAPHICS  DYNAMIC_ARGUMENT

    TABLE_WITH_ZEROS

     

     

    • Like 1
  9. 6 hours ago, Thomas Jentzsch said:

    11 members, but will we get this going?

     

    Hi Thomas!! glad to see you here, I think that 10 members (not me included) are Masters in a Temple, colleting anwers this place will be an incredible reference in the net (google searches) for everybody wanting to know about dasm syntax. i did a reference to this forum at facebook too.

     

    https://www.facebook.com/pg/DASM-Macro-Assembler-CLUB-100808128199075/posts/

     

    cheers!!

  10. 1 hour ago, Andrew Davie said:

     

    In short, it seems you're a little confused about what dasm is/does. I say that because of your comments saying you're not a c programmer,  and that there are no examples/tutorials "about dasm".
     

     

     

    Hi Andrew, i mean a c programmer to add some examples in my spanish version of your tutorial at http://atari.rf.gd examples to some pseudo ops with no examples available(BEING ABLE TO READ DASM C SOURCE CODE).

     

    i know dasm's documentation it's done by professionals, but there are too not advanced programmers that don't know how to interpret certain references to pseudo ops in that short document.

     

    if you take a look in a search about this subject(into atari age forum) you will find several people asking for examples, and there we are, not always a document is enough for everybody.

     

    e.g you are using pseudo ops and there is something you cannot understand, then you search and search with that opcodes at google... and there are no examples in the internet.

     

    i love dasm and im really greatfull about it, but there is a lack of examples in some cases. then you are stuck like this user needing more examples

     

    On 6/28/2009 at 5:17 PM, Richi_S said:

    Yes, I've got it.

    But, isn't there more?

    I mean, back in the days, these programms had manuals about the weight of a brick.

     

    so sometimes this is really harsh and you know, you can get out of answers and not wanting to write to the forum a zillion times.

     

    i had an issue about macros, talking about macros arguments, then years after i have found Thomas in the dasm forum talking about that.

     

    https://github.com/dasm-assembler/dasm/issues/15

     

    and here recently(recently found this old post)

     

     

    then i was trying to understand with this examples if it is possible to do some kind of array or table of macros

    so i have found this post

     

    https://stackoverflow.com/questions/51217465/dasm-directives-pseudops

     

    and found this same user here asking for it(what i think it's near what i need, really dunno)

     

     

    ok, that's all Andrew, thank you for answering and for your work.

     

    i would love to be able to write some examples for dasm being able to read it's code in this cases where you feel that I NEED AN "EXAMPLES FOR DUMMIES."

     

    cheers!!

     

     

    pd: sometimes when i think about examples or documentation i remember dasm's preface from peter in 2008

     

    and when you look all the documentation versions you will find that there is not a stack of examples or documentation added until this days since peter said that. ?

     

    PREFACE FROM PETER (APRIL/2008)
        
        Everything Andrew says above is still true, there have been a
        few sporadic updates to the documentation but no major ones,
        not even Olaf Seibert's changes from 1995 have been integrated,
        to say nothing of Thomas Mathys' F8 backend from 2004. We are
        urgently looking for volunteers to help with the documentation!
  11. On 6/28/2009 at 5:17 PM, Richi_S said:

    Yes, I've got it.

    But, isn't there more?

    I mean, back in the days, these programms had manuals about the weight of a brick.

     

    this is crazy, i'm looking since days and days, and nope!! there is no exclusive tutorial about dasm, there is the great tutorial by Andrew Davie about atari 2600, but there is no "exclusive" "dasm tutorial" 

     

    this is so sad, there are a lot of good ideas not being fully explored with lack of examples, i would love to help doing some dasm documentation but i'm not a c programmer!!

     

    and i see... your post is from 2009, all this years with no new examples or tutorials about dams is craziness!!

     

  12. On 7/6/2018 at 12:50 AM, danielsega said:

    I've been trying to use the DV and XXX pseudo-ops, to see what they do, but it doesn't seem to be working.

     

    I have been looking through the DASM documentation, but there's a lack of examples on it. I've tried to google some examples but couldn't find any.

     

     

    hi, i have found this, can you explain it later for me please? i think i'm using it wrong.

     

     i m trying to build a table(array) of macros.

     

    (i don't know if this is possible or not, there is no dasm clear examples or documentation in the internet about this, is so tedious!!)

     

    https://stackoverflow.com/questions/51217465/dasm-directives-pseudops

     

    TY IN ADVANCE.

     

    ggg.jpg

    gggg.jpg

  13. [edited: link to PDF added]

     

    Hot news: the book Atari 2600 Programming for Newbies - Revised Edition by Andrew Davie is now available on Lulu.com for only $4.69.

    Order your copy here: http://www.lulu.com/shop/andrew-davie/atari-2600-programming-for-newbies-revised-edition/paperback/product-23644281.html

     

    Basically this book is the printed version of the Atari 2600 programming tutorials by Andrew Davie that he originally posted on these forums between 2003 and 2004 (and one extra session posted in 2012). Editing and formatting was done by yours truly.

     

    Note that in 2011 someone already bundled these tutorials into a book and published it on Lulu.com, but IMO there are a lot of issues with that version (e.g. no page numbers, missing session no. 25, images cut off on the end of the page, outlining issues, code samples hard to read because of wrapping). That's why I decided to call my version the "Revised Edition" :-)

     

    I formatted all code samples to make them readable in print-format, fixed a few spelling errors and also did some editing where the original text was clearly assuming the reader is reading the text online.

     

    Note that I'm not making a single dollar-cent on this; you only pay for the printing of the booklet. The consequence is that Andrew Davie is also not making any money from this, but knowing that in 2011 he was OK with the other published book on Lulu.com, I hope he's also OK with this new "Revised Edition".

     

    The binding and printing of this book is really nice. The pages are black & white, but the cover is full color (see attached images). I also added Andrew's avatar on the back of the book :-)

    And Lulu.com regularly has these promotions where they offer free shipping, making this a real bargain!

     

    Here is a link to the PDF for your convenience: attachicon.gifAtari_2600_Programming_for_Newbies_Revised_Edition.pdf

     

    Cheers,

    Dion

     

    i have orderer the old and new editions Andrew!!
    thank you DIONOID!! for all the work you did formating, etc with this new edition to be possible!!
    • Like 1
×
×
  • Create New...