-
Content Count
266 -
Joined
-
Last visited
Posts posted by fox
-
-
18 hours ago, nuadok said:How did you learn this?
I learned that in the 80s. There were these excellent books in Polish: "Asembler 6502" by Jan Ruszczyc and four parts of "Mapa pamięci Atari XL/XE".
AMAC is not a friendly environment to study the 6502 asm. Try Quick Assembler (QA) instead. It's an IDE. For the start:
opt 21 org $600 loop lda $d40b sta $d01a jmp loop
In the "Setup" menu set the run address to 0600. Then select "Assembly" and "Run". Shift+Break to terminate your program.
-
Apparently, the people here are not familiar with the AMAC syntax.
1. Select a memory location for your program with ORG.
2. Terminate your program somehow (e.g. RTS for return to DOS).
3. Specify the run address as an argument to END.ORG $6000 MAIN LDA 710 STA 712 LDY #1 RTS END MAIN
This program changes the border color to the background color and returns to DOS.
LDY #1 is not essential. If missing, some DOSes will report an error when they get back control.
-
2
-
-
Yes, you can safely use the values 9-15 if you need to. Your interpretation is correct and now that we have internal GTIA schematics, we know that this is how it works. Emulators have no problems either.
-
1
-
-
You can have Continuous integration for your xasm projects on GitHub.
Here's how to setup it:
1. Login to Travis CI and opt-in for your project(s).
2. "git add" .travis.yml with the configuration and optionally add a badge to README.md.
Here's an example: https://github.com/pfusik/datamatrix6502/commit/0e8737db5568baaf3a5cef411a032ac961ca5fd4
The "script" line contains your build command.
Commit&push and you're done!
-
4
-
-
Thanks for upscaling from within Alitrra! That's more convenient than an external recorder or postprocessing.
Are there plans for VirtualDub updates?-
1
-
-
Thanks!
First I tried to upscale with VirtualDub, but it couldn't open the file ("Couldn't locate decompressor for format 'ZMBV' (unknown)") and I couldn't google the codec.
Then I tried Altirra 3.90 test 20. With 960x720 upscaling it looks much better:
-
1
-
-
I made a video of my 256-byte intro using Altirra 3.20 and default video recording settings:
You can see awful compression artifacts. How to avoid them?
-
1
-
-
Something's wrong with the RAM option. I convert a ~40 second MP3 changing just the frequency to 15kHz.
The!Cart plays fine, but RAM XEX is trimmed (just the beginning of the audio plays) and with high noises.
I'm testing on Altirra 3.20 XE PAL 320K Rambo and both files are ~230KB.-
1
-
-
My project called Retro Computer Image Library (RECOIL) supports 100+ graphics formats of Atari ST/TT/Falcon, plus 100+ formats of Atari 8-bit, plus 200+ formats of other 8- and 16-bit computers such as Amiga and C64.
Download from http://recoil.sourceforge.net/ or the Android and Windows 10 stores.-
3
-
1
-
-
Last week I made a minor release of xasm - a 6502 cross-assembler with original syntax extensions, running on Windows, macOS and Linux.
Visit https://github.com/pfusik/xasm for downloads, docs and full source code.Changes from 3.1.0:
- remove partial object file on error (requested by Bill Kendrick)
- report label name in the unused label warning (requested by Peter Dell)
- support a:/f: modifiers for RUN/INI
-
improved performance with network drives (reported by Marek Pavlik)
-
9
-
Thanks for clarifying.
-
-
I'm confused because you just contradicted your previous post: "The motor control is only used to gate the external clock".
-
The shape of the triangle is not helpful in determining if it's an OR or a full load. But with the inverse logic happening afterwards, it's not an AND.
-
Shift data may be a problem. The playfield shift register already runs at maximum speed in ANTIC 4 so doubling the fetch rate won't speed up the shifter; this means that it will only get a chance to shift out four bits before it is reloaded again. Tests I did years ago suggested that when this happens the new byte is merged into the shift register similarly to when players are reloaded. Since the playfield shifts out bits MSB first, this will cause bit 7 from the name to merge with the character data. I don't remember offhand if the effective result is an AND or an OR.
Take a look at the 4-pixel wide right-pointing triangles:
Is inverse video applied on the shift register output or the load value?
-
5
-
-
In this case I would expect Altirra to accept MIDI commands sent with AUDF=$15 and no motor signal. I'm using Altirra 2.99-test24.
-
So it's for a regular tape recorder?
Regarding the motor control signal: should there be a delay between activating it and starting to send? If so, how long? Should I turn it off after I send all the notes? -
Audio tape? Where do you put it?
-
Thank you.
-
I confirm that Altirra 2.99-test24 doesn't require the padding byte.What's the use of SYNC input? SIO INTERRUPT is a PIA IRQ?I think that MIDI devices have to sync on the start bit, otherwise they could be probing at the signal edges. And the clocks aren't probably perfect.Thanks for pointing out the problems with analog distortions and awaiting completion.More complicated example, those bytes: 0x90 0xfa 0x41 0x00 0x43 0xfc 0x00 are really four messages
midiOutShortMsg(out, 0xfa);
midiOutShortMsg(out, 0x4190);
midiOutShortMsg(out, 0xfc);
midiOutShortMsg(out, 0x43);
Messages 0xfa and 0xfc are MIDI real-time messages they can be interspersed with any other message and they don't cancel running status.
Doesn't 0x43 have the implicit command 0x90? If so, why is it reordered with 0xfc?
-
I attached the example files I'm going to try your viewer with. It's a mix of HCM Mode 0 and Mode 2 pics.
Thanks, I already found them in your repo. I updated the HTML5 viewer, so you can try it: http://recoil.sourceforge.net/html5recoil.html
-
1
-
-
WOW, you're fast! Thank you, I'll check it out on Win 10.
Either build from Git or wait for a release.

-
Thank you! It works.
I noticed that MIDI Sequencer by Maciej Sygit uses the $15 divisor. The difference seem small enough to transmit one byte if the MIDI device synchronizes on every start bit - does it? Is the 4MHz/128 clock internal to MIDIMATE? I don't know what's inside MIDIMATE, but I know that in the '90s people used a simple "wires-only" SIO-MIDI interface.
The minimum set of changes was: motor on, a padding byte and waiting for transmission to complete:
org $6000 main sei mva #$34 ^32 ; motor on ldy #7 lda #0 sta:rpl ^20,y- mva #$28 ^28 mva #$15 ^24 mva #$23 ^2f mva #0 ^2e mva #$10 ^2e mvx #$c0 ^2d ldx #$01 ; instrument jsr send ldx #$00 ; padding needed for Altirra jsr send ldx #$90 jsr send ldx #$3c ; middle C jsr send ldx #$7f jsr send lda #8 and:rne ^2e ; wait for transmission complete mva #3 ^2f mva $10 ^2e cli rts send lda #$10 and:rne ^2e sta ^2e mva #$10 ^2e stx ^2d rts run main end
-



MDCMC - Mono Double Chaos Music Composer
in Atari 8-Bit Computers
Posted
Are you aware of CMC DoublePlay made by Greg in the '90s?