Search found 34 matches

by aa-dav
Fri Jun 05, 2020 4:12 am
Forum: NESdev
Topic: Possible to play music that doesn't loop in Famitone2 (neslib)
Replies: 6
Views: 171

Re: Possible to play music that doesn't loop in Famitone2 (neslib)

Looking at famitone2 code I see another possibly interesting thing. This driver keeps pause state in bit 7 of FT_SONG_SPEED variable. Also if FT_SONG_SPEED is 0 oscillators for music are not updated at all (but sounds keep working). Effect Fxx updates of FT_SONG_SPEED variable, so if we could pass 0...
by aa-dav
Thu Jun 04, 2020 11:27 pm
Forum: NESdev
Topic: Possible to play music that doesn't loop in Famitone2 (neslib)
Replies: 6
Views: 171

Re: Possible to play music that doesn't loop in Famitone2 (neslib)

Famitone2 manual states: - Allowed notes are C-1..D-6, Note Cut (rest note) - Only Volume, Arpeggio, and Pitch sequences (no Pitch for noise channel) supported - All instruments should have a volume envelope assigned - Only the loop part of sequence is supported, release part is not supported - Pitc...
by aa-dav
Tue Jun 02, 2020 10:31 pm
Forum: Other Retro Dev
Topic: Programming hints from Alan Turing (Mark I/II)
Replies: 4
Views: 210

Re: Programming hints from Alan Turing (Mark I/II)

... Reading that guy reminds me of Mel Kaye. It's very structural thinking. ... Even selective reading this manual was hard. :) First of all Alan Turing was mathematician and manual starts with math language and full of it. But it's not just symbols, but math formalism also. Modern (for last 30-40 ...
by aa-dav
Mon Jun 01, 2020 9:45 pm
Forum: Other Retro Dev
Topic: Programming hints from Alan Turing (Mark I/II)
Replies: 4
Views: 210

Programming hints from Alan Turing (Mark I/II)

Some time ago I found link to programming manual from 1951 year for one of the first british computers - Manchester/Ferranti Mark I/II and author was Alan Turing himself: http://curation.cs.manchester.ac.uk/computer50/www.computer50.org/kgill/mark1/RobertTau/turing.pdf There is interesting chapter "...
by aa-dav
Sat May 30, 2020 7:05 am
Forum: NESdev
Topic: Trying to understand the purpose of this operation:
Replies: 6
Views: 316

Re: Trying to understand the purpose of this operation:

Does it look real what someone in 1988 had compiler for NES with optimizations and so on?
It looks unreal for me.
I think "automated" here is just "macros".
by aa-dav
Sat May 30, 2020 5:13 am
Forum: NESdev
Topic: Trying to understand the purpose of this operation:
Replies: 6
Views: 316

Re: Trying to understand the purpose of this operation:

I bet this is just some macro like "LDXY" which programmer thoughtlessly used.
Or scraps of removed code.
by aa-dav
Wed May 13, 2020 11:35 am
Forum: NESdev
Topic: Compiled stack proposal
Replies: 22
Views: 1489

Re: Compiled stack proposal

Hisoft C is C compiler with 24Kb core within target machine (ZX Spectrum 48). And it's source code for stdlib library is really cool: /*****************************/ /* Hisoft C */ /* Standard Function Library */ /* HEADER */ /* */ /* Copyright (C) 1984 Hisoft */ /* Last changed 15 Aug 1985 */ /****...
by aa-dav
Tue May 12, 2020 11:56 pm
Forum: NESdev
Topic: Compiled stack proposal
Replies: 22
Views: 1489

Re: Compiled stack proposal

I was amazed how very old computer processors handle calls of procedures. They just don't have stack at all! Popular idea was to have word at the beginning of procedure where processor writes return adress while executing CALL insttruction. That is CALL ADDR writes current IP pointer to ADDR and jum...
by aa-dav
Tue May 12, 2020 4:58 am
Forum: NESdev
Topic: Aren't you afraid that NES Maker would just bring lazy noobs
Replies: 137
Views: 35288

Re: Aren't you afraid that NES Maker would just bring lazy noobs

Iterating many times over a tight loop, especially with pointers, is basically worst case for the CC65 compiler, and that's precisely the kind of thing you should rewrite in assembly if you need it. Unless you're being extremely ideological about never touching assembly, this really doesn't have to...
by aa-dav
Fri May 08, 2020 8:03 pm
Forum: NESdev
Topic: Aren't you afraid that NES Maker would just bring lazy noobs
Replies: 137
Views: 35288

Re: Aren't you afraid that NES Maker would just bring lazy noobs

I would add in support of assembler another thing. IMHO, one of the main reasons it's hard to program in assembler is hardness of revisiting old code. While you work on the current task it looks easy because you keep in mind that every instruction in series is supposed to do. But after a while it's ...
by aa-dav
Thu May 07, 2020 8:01 pm
Forum: NESdev
Topic: Why does this basic program crash FCEUX?
Replies: 44
Views: 3700

Re: Why does this basic program crash FCEUX?

rox_midge wrote:
Thu May 07, 2020 7:45 pm
Does mapper 4 not support simultaneous PRG-RAM and CHR-RAM?
Yes. Show your header description again, we will check it.
by aa-dav
Thu May 07, 2020 6:21 pm
Forum: NESdev
Topic: Optimizing scroll changes after MMC3 IRQs
Replies: 34
Views: 2719

Re: Optimizing scroll changes after MMC3 IRQs

How about heavy metal magic - relaying on hdraw-ignited IRQ, but not waste scanline time, but fill it with useful calculations with fixed clock times (do not cross page boundaries, tune up branches and so on)? So, time will not be wasted and time limit will be reached. ZX Spectrum has modern games w...
by aa-dav
Wed May 06, 2020 9:35 am
Forum: NESdev
Topic: Optimizing scroll changes after MMC3 IRQs
Replies: 34
Views: 2719

Re: Optimizing scroll changes after MMC3 IRQs

What if IRQ handler will be placed in RAM and lda variable will be converted to lda # value which will be updated inplace? Also, extreme variant: do not use Y (or X) register outside IRQ while IRQ can be triggered. So, first instruction of IRQ is stx $2006 and after that X can be used but in the end...
by aa-dav
Mon May 04, 2020 9:27 pm
Forum: NESdev
Topic: ASM6F - Confused how to load a 16-bit pointer into RAM
Replies: 8
Views: 852

Re: ASM6F - Confused how to load a 16-bit pointer into RAM

I use this in CA65: ; store_addr dest, addr - save address into word in memory ; To avoid lengthy fragments of the same code: ; lda # < addr ; load LSB of addr ; sta dest ; save to first byte of dest ; lda # > addr ; load MSB of addr ; sta dest + 1 ; save to second byte of dest ; let's define macro ...
by aa-dav
Mon May 04, 2020 3:19 am
Forum: NESdev
Topic: Aren't you afraid that NES Maker would just bring lazy noobs
Replies: 137
Views: 35288

Re: Aren't you afraid that NES Maker would just bring lazy noobs

... Never use variable++, only ++variable. ... Oh, thanks for hints, especially for this one. I forgot about post-increment complexity completely. This really helps compiler to do inplace pointer increments. I could not understand why so simple thing isn't implemented yet. However, yes, pointer act...