Jump to content
  • entries
    38
  • comments
    8
  • views
    43,530

About this blog

Diamond GOS programming(mostly)

Entries in this blog

 

Diamond MULTIPLY(39) Macro

The MULTIPLY function for Diamond GOS is stated as: MULTIPLY (39) - Word sized multiply(please note overflow error are not detected) Receives: W5 - Multiplicand 1 W6 - Multiplicand 2 Returns: W7 - Result As with the DIVIDE macro, the original macro received the numbers when calling it. It was changed to accept an address of the numbers and the numbers are then copied into W5 and W6. Original macro 8500 ; 8510 .MACRO MULTIPLY 8520 LDA # <%1 ;MULTIPLICAND

k-Pack

k-Pack

 

Diamond Divide Macro (40) Mod

While programing dMetronome I had to learn a few things. How to divide the number of DLIs in a minute by the number of DLIs to get beats per min. I finally got to the point where I could use the Diamond Macro Divide to handle the division and as long as I kept the answer to one byte I was fine but there were many tribulations along the way.   My first revelation was that the macro needed the numbers to be passed to them. Many of the d-macros pass the address pointer to W0 to W7 but not the d

k-Pack

k-Pack

 

dMetronome - tick tick tick tick tick………..

Every computer needs a metronome program but only a few Atari8 owners have the Diamond GOS to run this one and even fewer would want to build the simple hardware to hear it. That shouldn't stop you from enjoying the video.     It may have been easier to write this one in BASIC but I wanted to get back into Assembly and thought a metronome based on the software timer example in De Re Atari would be a good place to start. The original idea involved pulsing the Cassette Motor Control(CMC) p

k-Pack

k-Pack

 

Diamond GOS PARAPRNT macro fix

Programing Axiom - The solution for every programming problem becomes obvious only after the solution has been found.   The PARAPRNT(2) and SYSDRAW(44) Diamond functions are both used to print text or font elements to the screen. The SYSDRAW is fast because it is a no frills text display function. If you have the time, the PARAPRINT allows the use of control characters in the text object to create bold, italic, outline, underline, inverse, light, mirror, and reverse characters. You can al

k-Pack

k-Pack

 

Diamond GOS Menu Bar Reference Sheet

If you found the dialog reference sheet of interest, I'm sure this reference for creating a menu bar will be just as interesting.   Menu Bar reference sheet.pdf   This next Diamond project was going to be written in BASIC. When I looked at all the information tables, pointers and data strings needing to be defined as BASIC string variables, assembly language seemed to be the way to go. Especially since my assembler is the MAC/65. The Diamond Develop disk has a library with MAC/65 macros

k-Pack

k-Pack

 

Diamond GOS Dialog Reference Sheet

When starting a Diamond project, I have a tendency to utilize a lot more design time before sitting down in front of a computer. Sketching out displays, icons and menus seem to consume a lot of time but having this all worked out before committing it to code helps.   (Random Thought - Remember going into the office supply store and finding a whole section of graph paper. This time I had to ask the clerk where it was. He pointed me toward the paper section and said, "Its next to the carbon pa

k-Pack

k-Pack

 

CX22 Trackball mouse

Found an article within a PDF of the Status Newsletter on archive.org. It explained how to rewire a CX-22 Trackball for use as an ST-mouse for an A8-Diamond GOS based system or the ST. I have been using a mouse from Best Electronics (model CBM1) for quite some time and should have a backup. I made the modifications to my CX-22 as explained in the article and it worked the first time. Diamond has been configured to use STMOUSE2.DRV for the mouse driver and worked just as well with the modified

k-Pack

k-Pack

 

Joystick Port 1 Output Control Accessory for Diamond GOS

At some point during the writing of the last blog entry it dawned on me that accessories could be written to toggle the logic output for the joystick port from within any Diamond application that uses the drop down menu. Six machine language programs were developed to do just that.   JSP1OUT.APP Application to set the joystick port 1(JSP1) to output. JSP1IN.APP Application to set JSP1 for input. JSP1P1.ACC – JSP1P4.ACC Accessories to toggle the pins on and off when loaded during boot up.

k-Pack

k-Pack

 

Can I ………?

ANSWER: Yes, you can use an Atari mouse plugged into port 1 while using the digital pins on port 0 as outputs while operating in the Diamond GOS environment.   The answer was needed because I’ve been thinking about writing the control software for some hardware projects to work under the Diamond GOS. As a test, this short program was written to randomly set the outputs to control the LEDs in the Joystick Port Logic Box (JPLB). (See “Out of the Pack” Blog 4/20/2015)   This BASIC program sets

k-Pack

k-Pack

 

FONTEDIT.APP – A closer look at disk #037

I haven’t found the program I’ve been searching for but I did find a disk with my favorite Atari font editor and the Diamond Font Editor. This was a mystery. I never found Diamond’s font editor to be very useful but there it was among the *.FNT, *.DFT and FONT.BAS.   A *.FNT file is likely to be files containing the data for the Atari 8X8 screen font. The FONT.BAS turned out to be the Create-A-Font editor by Vince Erceg. It was copyrighted 8/2/83 and first appeared in Analog #16, February

k-Pack

k-Pack

 

What’s on Disk #003

There is a big banker box about ¾ full of floppy disks for the Atari8bit sitting next to my hobby bench. They are from several systems that were purchased just before putting my 8bit equipment into storage. I’m starting on a quest to see if their content is of any interest.   I was waiting to get an SIO2SD but the label glue is drying out and the labels don’t always fall into the sleeves with the disk. I guess that is part of what’s going to make this interesting.   Disk #001 was an unla

k-Pack

k-Pack

 

LMOUSE.ACC a mouse of a different shape

I’m not sure why anyone would need to change the default mouse shape on the desktop but if you can do it in Windows maybe an attempt should be made for Diamond GOS. I choose this project because it has been 20 years since the last accessory was written. This was the first idea that came to mind and then I stopped thinking. Plus, I’ll be 80 if I wait 20 years for my next one. This documentation should help.   The Diamond Develop User Manual-Third Printing (DDUM3) contains most of the informati

k-Pack

k-Pack

 

BASLO211.APP – Diamond Desktop to BASIC

This is the last of the Diamond Programs I wrote in the wayback. I wasn’t going to mention this one because the method of loading an Atari BASIC program from the desktop does not work for all BASIC programs and I’m not sure why. But… because it works for the majority of programs and the goal of any GOS is to reduce the use of the keyboard as much as possible, here it is.   BASLO211 is based on the program in the article “Automate Your Atari”, Compute!, January 1983. The program writes

k-Pack

k-Pack

 

VIEW83.APP – GR.8 viewer for diamond

Summer is coming to a close and soon it will be too cold to ride the bicycle. I’m running out of old programs to post and look forward to writing new ones.   When I wrote this one back in 1990 I had a lot of hiRes pictures that were produced using Graphics Master and Map Ware (APX). Both these programs (and a lot more) save pictures in a 62 sector format. It is saved screen memory without compression.   The HiRez is also used for the Diamond Desktop. So knowing how to load ba

k-Pack

k-Pack

 

MIXMATCH.APP another game for Diamond

I think my son starts worrying about me when I get out the old Atari Computer. This time he’s trying to lure me away from the “Atari side” with a Windows 8 tablet computer. Making the jump from NT to Windows 8 and getting use to the new USB keyboard would make anyone miss the good old days. I do long for the day when a system restore was a matter of turning off the computer and reinserting the cartridge.   Just yesterday I had 41 updates. Remember the days when you had to get it done right

k-Pack

k-Pack

 

TILES212.APP - old game updated for Diamond GOS

I was waiting for the Diamond GOS APP store to open before I posted this game. I finally figured it wasn't going to happen - soon. So here is the Tiles game that will give you something to play while we wait.     As you can see, I got out the old Zenith Data System monitor and removed the Windows NT computer from my desk. I like the color green. It may have been a better monitor for programing then the color TV but I get a better photo off the LED screen. I took a movie of a game. The speed

k-Pack

k-Pack

 

DIRPRINT.ACC - Print Disk directories from desktop

This is the last accessory from the ones written pre-2000. I was hoping that by this time I would have remembered how they had been created. Looks like the learning curve will start from the beginning again. It should take me about 10 min. to go over vast amount of literature about programming Diamond accessories.   The zip file contains DIRPRINT.ACC and DIRPINT.M65 DIRPRN.zip     Diamond DIRECTORY ACCESSORY   Ever want to print a disk directory while your at the Diamond deskto

k-Pack

k-Pack

 

RECORDER.ACC – tape drive motor control

I recently activated this accessory to see if I could get one of my 410 tape machines to work. I can hear the motors running but the tape no move. I hope you have better luck.   The Atari Program Recorder is a stereo recorder/player. The right channel is used for program storage and the left can hold audio information. This audio channel can hold music or speech and is sent to the TV or monitor speaker. Of course you can control this from the computer, which makes for some interesting opt

k-Pack

k-Pack

 

SCREENBL.ACC - A Screen Saver for Diamond

Imagine you're doing some top secret work with a Diamond application program and someone walks into the room. What are you going to do, reach for the power switch and loose all your work?   Not if you have SCREENBL.ACC active. When you hear the foot steps coming, you can move the mouse up to the drop down menu and select SCREEN OFF. The screen will go blank and wait until an event(mouse button or keyboard click)is detected.   Even if you're not working on top secret stuff, the accessory c

k-Pack

k-Pack

 

SDUMP11.ACC – Screen Print Accessory for Diamond

While waiting for the arrival of parts for the dTALK project I am going to upload and archive some of the programs from the past. Most of these programs saw the light of day but how much light is questionable.   sdump.zip   SDUMP.ZIP contains SDUMP11.ACC and SDUMP11.M65   SDUMP11.ACC – is an accessory program that will print the screen display to a printer capable of printing graphics. Its origin is from the “The 49 Second Screen Dump” in Compute!'s Second Book of A

k-Pack

k-Pack

 

Applying the Drake Equation to Diamond Programmers

I had the thought to refine the Drake Equation to estimate the number of Diamond Programmers in the Universe on those planets with intelligent life. I have added the estimates for the number of surviving Diamond cartridges, adding in those with emulators, multiplied by the percentage of people with the will to program and any one of a number of other variables. When I try to use reasonable estimates the number of Diamond Programmers in the Universe seems to always be less then 1. Less then on

k-Pack

k-Pack

 

dCalc 1.0 - Ready for use

Dcalc – The best Calculator app for Diamond GOS This simple calculator written in BASIC for the Diamond GOS environment should be able to handle balancing your check book. If you are trying to get to the moon you may want to double check the math with your slide rule.   The program was written in Atari BASIC on a 130XE, Diamond GOS 3.0, 1050 disk drive with Atari DOS 2.5. I have a feeling that there will be some systems that may not be able to run this program. What I would

k-Pack

k-Pack

 

dCalc - Go

As in, “Go fix your null modem cable so you can upload it.”   The Diamond calculator is in working order with very few crashes. I really thought that I would get a few more blog entries posted before it was done. The unseen logic ended up being easier to create then the graphics.   I got in the groove and I just couldn't stop. You know the programming groove, that zen state where you become one with the computer; where you become some cyborgion entity, where the program flows from yo

k-Pack

k-Pack

 

dCalc - testing the event detection loop

Most of a computer's time is spent waiting for some thing to happen, figuring out what happened, and then doing something because something happened. What makes a GOS work is its ability to easily detect the event. The dCalc program is being written to detect when an icon is clicked and which icon is clicked.   The video shows a test run of the EVENT detection loop. When an icon is clicked the icon number is displayed in register A until the next icon is pressed. Each icon has its own number.

k-Pack

k-Pack

 

dcalc - Front End Done

The front end or graphic interface is done to my satisfaction. I have a feeling that writing the code for the icon events will be a breeze. A list of programming utilities that need to written is growing daily.     As the icons were designed, I must have watched each of them placed on the screen about a thousand times. A very slow process. Once they were on the screen where they belong, turning off the Antic chip helped speed up the process. There was a 30% increase but it still takes about

k-Pack

k-Pack

×
×
  • Create New...