ATARI FAST data read using Assembly language in BASIC

  Рет қаралды 2,442

8-bit and more

8-bit and more

Күн бұрын

Пікірлер: 48
@Bawn47
@Bawn47 Жыл бұрын
Great vid, brings back memories of Atari Basic programming, I still remember using that USR call with the 7-char string to read files from disk. There's a trick in Atari Basic to initialise a string array quickly. Instead of FOR X=1 TO 8194:A$(X)=" ":NEXT X try A$=" ":A$(8194)=" ":A$(2)=A$ It's pretty much instantaneous!
@8bitandmore
@8bitandmore Жыл бұрын
Yep your correct! I just tried it. Thanks for that tip amazing.
@Steppke79
@Steppke79 Жыл бұрын
AFAIK you can just do an A$(8194)=" " BASIC just remembers the length (the last used byte) of each string, so this assignment just sets the length of A$ to 8194 without writing or checking whats in it. So if you just need 8K of memory to write into it, do DIM A$(8192): A$(8192)=" " And yes, 8K is 8192, not 8194 ;-)
@8bitandmore
@8bitandmore Жыл бұрын
Thanks for clarifying. I was wondering when someone was going to catch the 8194 error LOL
@Steppke79
@Steppke79 Жыл бұрын
@@8bitandmore You could also DIM your A$ 7 Bytes bigger and put your machine routine onto the end. This way you save one string assignment: DIM A$(8201): A$(8195)="hhh*LVd" This way the string is reserved (but not written to) and your routine is ready to be called via Z=USR(8195,16) BASIC is fun! ;-)
@Bawn47
@Bawn47 Жыл бұрын
Yes, that will work to initialise a string of that size, but I think it will just contain whatever was in memory at the time. To fill it with a specific byte value in every position, it needs the three assignments. I just rolled with the 8194 🙂
@carl160269
@carl160269 Жыл бұрын
Brings back memories of a tape copier I wrote, so I could back up /cough/ my games cassettes. Unfortunately I didn't have an assembler back then, and had to have basic loaded, so could only back up smaller 16k games rather then the 48k ones.
@takingbytes1265
@takingbytes1265 Жыл бұрын
Yeah, I remember that Halloween demo taking forever to load when I ran it years ago! I'm excited to see you back! I am going to try and fix my 800xl this weekend now!
@michaelstoliker971
@michaelstoliker971 Жыл бұрын
I used pretty much the same code to put together a picture loader to load images from a ram disk on the ICD MIO, which I was demonstrating at the Atari Exposition in Allentown, PA. I was annoyed by a picture slide show running on an ST computer on a nearby table. The guy at that table said something like "don't you wish your 8-bit could be this fast?" So I moved a bunch of bitmaps from the library I had put on the hard disk we were demonstrating, and cobbled together a BASIC program to load files from the ramdisk. Maybe the files were smaller than the ones on the ST, but they loaded faster then the images on the ST, so WIN!
@8bitandmore
@8bitandmore Жыл бұрын
Wow what a great story. I tell you these little machines are gems. They can do amazing things with the right technique. I am currently reverse engineering the Swan Demo written for Xanth Systems by Michael Park. I understand how he did the demo so now I want to create 2023 version.
@Soundtrackspecialist
@Soundtrackspecialist Жыл бұрын
This would be amazing if you have time to do this. Winter CES 1985 brought to 2023. These demos are legendary. ❤
@argonwheatbelly637
@argonwheatbelly637 Жыл бұрын
Wow! This is something I haven't seen in decades. Made me whip out my Atari 800 emulator. Awesome video!
@8bitandmore
@8bitandmore Жыл бұрын
Glad you enjoyed it!
@Fractal_CZ
@Fractal_CZ Жыл бұрын
Absolutely fantastic. Even after all those years, I find the atari memory map structure full of rabbit holes and interesting parts :). I'm glad you find the time to do this!
@8bitandmore
@8bitandmore Жыл бұрын
Glad you enjoyed it!
@CallousCoder
@CallousCoder Жыл бұрын
You on fire with your atari vids. NOT COMPLAINING! :D
@8bitandmore
@8bitandmore Жыл бұрын
Glad you like them!
@CallousCoder
@CallousCoder Жыл бұрын
@@8bitandmore As an old commodore guy (and ST later), who now owns two Atari 8 bit machines, I learn some new stuff from your vids. And between you and me,I am actually very impressed with the XL/XE; if you repeat that to anyone, then I am forced to.... well you know what ;) They unfortunately did extremely poorly here in Europe, otherwise it could've probably been the C64 killer, despite being so much older.
@stephenelliott7071
@stephenelliott7071 Жыл бұрын
Clearly of all the computer systems the 8-bit systems really benefitted the most from some assembly language. Amazing demonstration of mixing in some asm, great video!
@timmyt1232
@timmyt1232 Жыл бұрын
I remember I made a seek and find basic program. You would enter all the letters and then it would search for the words in it. Later, someone made one in the Antic magazine. He used machine language to search for the words which made it a lot faster than mine. Other than that, mine was better. :)
@8bitandmore
@8bitandmore Жыл бұрын
That's a great story! Thanks for watching and your support!
@edbrown1166
@edbrown1166 Жыл бұрын
More great content! Could you let us know where we can get our own Bruce Lee coffee mug? Just wondering how fast your original basic program would run under TurboBasic XL? I used to code in TB waaaay back and was very happy with how much faster programs would run. That's also before compiling the program to make it run even faster again. A tip I can offer is to place all your loops as close to the top of your program as possible. The reason is that Atari Basic scans through each line of code (from top to bottom) when you use GOTO. Atari Basic has no idea where each line starts which is why it needs to scan through the code to find the line it needs to GOTO. Loops would benefit a lot when placed at the top of your program. Keep it coming! I absolutely love it!
@8bitandmore
@8bitandmore Жыл бұрын
If I can enough viewers here to commit to purchasing a mug I will do an order. If anyone else would like one let me know via comments and I will have a batch created. As for the speed under Turbo Basic it would PROBABLY run faster but in reality the demo was made as a teaching tool and not really for optimized code. For SURE it can be optimized way more than it is. thanks for watching!
@bitoxic
@bitoxic Жыл бұрын
That was interesting to see the code. Neat demo for Halloween ! 🎃
@8bitandmore
@8bitandmore Жыл бұрын
Thanks for watching!
@John-uc6gb
@John-uc6gb 7 ай бұрын
-Good video, really liked it. Have to go back to the game programs I wrote on the ARARI 800 XL and the 800 XE to see how I wrote the load. I wrote a full-length Ultima type game in the middle 80"s Made me curious. Thank you.
@pushingpandas6479
@pushingpandas6479 9 күн бұрын
Commodore ftw! :) I love atari, great vid
@cbmeeks
@cbmeeks Жыл бұрын
I have several Atari's. Including a Sophia DVI card in my 800 XL. However, I don't have any software! I'd like to remedy that. I do have one Atari disk drive. But I'd like to get some type of cart or something. Do you have any recommendations?
@8bitandmore
@8bitandmore Жыл бұрын
Check out my video regarding the Ultimate Cart. It allows you to load tons of rom files on the card and run them.
@Raketenclub
@Raketenclub 2 ай бұрын
cool, is there a source where i can look up code and adopt?
@Jkauppa
@Jkauppa Жыл бұрын
isnt there better basic commands for streaming files?
@Jkauppa
@Jkauppa Жыл бұрын
not to needing to resort to assembler tho
@Jkauppa
@Jkauppa Жыл бұрын
one way could be to store the image in the code, as static variables
@Jkauppa
@Jkauppa Жыл бұрын
then its read when the code is loaded, fast
@Jkauppa
@Jkauppa Жыл бұрын
automatic data file stream loading
@Jkauppa
@Jkauppa Жыл бұрын
yep data storage in code
@christopherdavis5544
@christopherdavis5544 Жыл бұрын
Always interesting videos, thank you. You kept referring to A$ as an array, whereas it's just a string. There are no string arrays in Atari Basic, just numerical ones. Why do you use list and enter to save and load your programs? These are very slow compared to the Save and Load commands. As Bawn47 said, using your method to initialise a string is painfully slow - use his tip. 8K is 8192, not 8194! Why don't you use Turbo Basic XL - it's structured and much faster, and you can say goodbye to GOTO's and spaghetti code. Great demo though. Looking forward to your next video. Regards, Chris
@8bitandmore
@8bitandmore Жыл бұрын
BASIC B will add 16 bytes at the end of each SAVE, eventually trashing the program. A LIST "D:PROG.LST", ENTER "D:PROG.LST, followed by a SAVE "D:PROG.BAS cleaned up the end garbage. It's true it saves some space but after learning of this bug when I was a teenager I stuck to "listing" the program to disk. Besides you can use any text editor to edit a listed basic program. Another feature of using list it to merge or append one program listing to another since using "enter" to load a listing does not erase what is already in memory
Fujinet! Wireless Networking For Atari Computers
21:17
8-bit and more
Рет қаралды 4,3 М.
Chain Game Strong ⛓️
00:21
Anwar Jibawi
Рет қаралды 41 МЛН
黑天使被操控了#short #angel #clown
00:40
Super Beauty team
Рет қаралды 61 МЛН
СИНИЙ ИНЕЙ УЖЕ ВЫШЕЛ!❄️
01:01
DO$HIK
Рет қаралды 3,3 МЛН
FujiNet Disk Swap Feature
13:22
8-bit and more
Рет қаралды 1,7 М.
Introduction to ATARI DOS and BASIC - BASIC Hacking - 09
16:21
Jean Michel Sellier
Рет қаралды 67
Atari 130XE Video Repair
21:15
8-bit and more
Рет қаралды 4 М.
Atari 130XE Decent Keyboard.
16:45
8-bit and more
Рет қаралды 2,3 М.
Atari development setup for 2021
8:06
8-bit and more
Рет қаралды 11 М.
Welcome Back December 2020! FujiNet is here!
24:05
8-bit and more
Рет қаралды 3,1 М.
New SpartaDos X Cartridge
10:19
8-bit and more
Рет қаралды 3,5 М.
Atari 1050  drive Mini-Speedy Upgrade
18:24
8-bit and more
Рет қаралды 2 М.
3D Print and Replace Atari 1050 Drive Latch Mechanism
13:06
8-bit and more
Рет қаралды 773
Chain Game Strong ⛓️
00:21
Anwar Jibawi
Рет қаралды 41 МЛН