Releases: emu-russia/breaks
Release list
PAL PPU Rails
A small study exploring the differences between the PAL and NTSC versions of the PPU, in the interconnections of the left side.
This is the part with the most changes, but all of them are insignificant - mainly some of the signals are distributed differently. But one unknown signal was found, which comes out of the ODD/EVEN circuit and goes into the sprite logic.
You can learn more about the internal PPU signals here:
https://github.com/emu-russia/breaks/blob/master/BreakingNESWiki_DeepL/PPU/rails.md
Breakasm 1.0
Breakasm
Как можно более простой и тупой ассемблер для генереации кода.
Для запуска:
Breakasm test.asm test.prg
PRG файл всегда 64 Кбайта (размером с адресное пространство 6502). Текущий указатель ассемблирования (ORG) можно устанавливать в любое место PRG.
Синтакс
Исходный текст разбивается на строки следующего формата:
[LABEL:] COMMAND [OPERAND1, OPERAND2, OPERAND3] ; Comments
Метка (LABEL) является необязательной. Команда (COMMAND) содержит инструкцию 6502 или одну из директив ассебмлера. Операнды зависят от команды.
Встроенные директивы
| Директива | Описание |
|---|---|
| ORG | Установить текущее положение ассемблирования в PRG. |
| DEFINE | Определить простую константу |
| BYTE | Вывести байт или строку |
| WORD | Вывести uint16_t в порядке little-endian. Можно использовать как простые числа, так и метки и адреса. |
| END | Завершить ассемблирование |
| PROCESSOR | Определяет тип процессора в информативных целях |
Пример исходника
Чтобы много не писать, просто покажу пример исходника. Делайте так же и всё должно получиться.
; Test program
LABEL1:
PROCESSOR 6502
; ORG $100
DEFINE KONST #5
LDX KONST
AGAIN:
NOP
LDA SOMEDATA, X ; Load some data
JSR ADDSOME ; Call sub
STA $12, X
CLC
BCC AGAIN ; Test branch logic
ADDSOME: ; Test ALU
ADC KONST
PHP ; Test flags in/out
PLP
RTS
ASL A
SOMEDATA:
BYTE 12, $FF, "Hello, world"
WORD AGAIN
ENDBreaking NES Book - 6502 Core, Revision A (Eng)
This book contains descriptions of all MOS 6502 circuits.
If you are a master in digital circuitry, the 6502 processor will reveal all its secrets to you.
The second book in the series of copypastes from the wiki of this project.
This time the pdf uses a more compact A5 format.
Breaking NES Book - 6502 Core, Revision A (Rus)
Книга содержит описание работы всех схем MOS 6502.
Если вы владеете мастерством цифровой схемотехники—процессор 6502 откроет вам все свои тайны.
Вторая книга из серии копипастов с вики данного проекта.
На этот раз pdf использует более компактный формат A5.
PPU PAL H/V FSM Control Logic
PAL PPU (RP2C07) control logic transistor circuit
Found differences from NTSC PPU:
- Significantly different ODD/EVEN circuitry (located to the right of the V PLA). The signal to the sprite logic is not yet clear from this circuit
- Slightly different logic for clearing H/V counters
- Bit V0 for the phase generator comes out of the VCounter (see VideoOut schematic)
- BLACK and PICTURE signals are processed in a special way for PAL (with slight differences)
- H/V Decoders are also different (see https://github.com/emu-russia/breaks/blob/master/BreakingNESWiki_DeepL/PPU/hv_dec.md)
All places where there are differences in the circuits are marked with a special marker ("!")
All other parts (Horizontal and vertical FSM logic, register selection circuit, H/V counters) are the same as NTSC PPU.
The .xml file can be opened in the Deroute utility, as usual.
EDIT:
- Fixed inversion of PLA outputs (they are in direct logic)
- Unknown signal for sprite logic is called ZOMG_PAL
PPU PAL VideoOut Circuit
PAL VideoOut
Transistor circuits of the PAL PPU RP2C07 video generator.
Of the notable differences from the NTSC version of the PPU:
- The color decoder is twice as big (due to the peculiarity of the PAL phase alteration)
- In addition, the V0 bit from the VCounter comes on the decoder to determine the parity of the current line (for phase alteration)
- The phase shifter is matched to a doubled decoder
- The PICTURE signal undergoes additional processing (DLATCH delay)
- DAC, Emphasis and Luma Decoder circuits are the same as NTSC
How to use
In the archive is an .xml file that can be opened by the utility Deroute (https://github.com/emu-russia/psxdev/releases/tag/deroute-release-103).
In the settings of Deroute you need to set the wire size - 5.
Additionally for Derote attached PPU image (File -> Load Image), for verification with the schematic.
Breaking NES Book - PPU, Revision A (Rus)
Первая книга из серии копипаст с вики данного проекта.
В ревизии "A" в полной мере представлены транзисторные схемы PPU, на некоторые из которых есть схемы для Logisim, реализация Verilog и симуляция на питоне.
Главное, как говорится, начать.
Breaking NES Book - PPU, Revision A (Eng)
The first book in a series of copypastes from the wiki of this project.
The "A" revision presents the PPU transistor circuits in their entirety, with some schematics for Logisim, a Verilog implementation, and a Python simulation.
The main thing, as they say, is to get started.



