lp:ngdevkit

Owned by Damien Ciabrini
Get this repository:
git clone https://git.launchpad.net/ngdevkit

Import details

Import Status: Reviewed

This repository is an import of the Git repository at https://github.com/dciabrin/ngdevkit.git.

The next import is scheduled to run .

Last successful import was .

Import started on juju-98ee42-prod-launchpad-codeimport-19 and finished taking 30 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-14 and finished taking 30 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-20 and finished taking 50 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-7 and finished taking 30 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-19 and finished taking 40 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-19 and finished taking 30 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-19 and finished taking 25 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-19 and finished taking 4 minutes — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-9 and finished taking 6 minutes — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-9 and finished taking 40 seconds — see the log

Branches

Name Last Modified Last Commit
master 2026-07-19 16:09:38 UTC
Build without sudo requirements with default prefix

Author: Damien Ciabrini
Author Date: 2026-07-19 14:47:32 UTC

Build without sudo requirements with default prefix

Make the standard "./configure && make && make install" work
as intended, that is, only require sudo permissions for
"make install", when the permissions of prefix's path require it.

Fixes #155

tst 2026-07-18 12:21:23 UTC
nullbios: fix asm macro for backup ram access

Author: Damien Ciabrini
Author Date: 2026-07-18 12:19:03 UTC

nullbios: fix asm macro for backup ram access

Commit ca710f9 added memory fencing hints for the compiler,
but in doing so, this broke the original asm instruction due
to how we did not guard symbol % when referencing %d0

Ref #132

macos-trust 2026-07-10 17:14:09 UTC
Fix macOS tap install

Author: Damien Ciabrini
Author Date: 2026-07-10 17:07:16 UTC

Fix macOS tap install

Taps now need to be trusted before installing packages from them.

flo 2026-06-21 12:01:53 UTC
Update dependencies in README

Author: Damien Ciabrini
Author Date: 2026-06-21 12:01:53 UTC

Update dependencies in README

Fix missing rsync dependency
Fix MSYS2 install notes, as reported in dciabrin/ngdevkit-examples#17

isl 2026-06-19 19:35:53 UTC
WIP

Author: Damien Ciabrini
Author Date: 2026-06-19 19:35:53 UTC

WIP

nullsound-mute 2026-06-06 15:55:34 UTC
nullsound: mute/unmute volume API

Author: Damien Ciabrini
Author Date: 2026-06-06 15:55:34 UTC

nullsound: mute/unmute volume API

Mute the volume output of music and SFX without stopping playback.
This can be useful when a game wants to mute all volume, e.g. during
the attract mode.

dispatch 2026-06-03 10:16:36 UTC
Workflow dispatch for simpler manual tests

Author: Damien Ciabrini
Author Date: 2026-06-03 10:16:36 UTC

Workflow dispatch for simpler manual tests

deb 2026-06-03 07:30:50 UTC
Fix package name for Pillow dependency

Author: Damien Ciabrini
Author Date: 2026-06-02 21:30:50 UTC

Fix package name for Pillow dependency

romtool 2026-05-21 05:50:18 UTC
Bump ngdevkit version to 0.5

Author: Damien Ciabrini
Author Date: 2026-05-19 18:12:20 UTC

Bump ngdevkit version to 0.5

issue/123 2026-05-05 19:17:02 UTC
Preserve YM2610 context for port A and B

Author: Damien Ciabrini
Author Date: 2026-05-05 19:17:02 UTC

Preserve YM2610 context for port A and B

Address context must be preserved for both ports A and B, because
a write to data port X is only effective if the port previously
written to was the same port X.

This fixes a race condition that would cause invalid setup of ADPCM-A
sample, and trigger a wrong communication pattern to the YM2610.

issues/122 2026-05-03 09:04:49 UTC
Expose function to stop an ongoing ADPCM-B playback

Author: Damien Ciabrini
Author Date: 2026-05-03 09:03:46 UTC

Expose function to stop an ongoing ADPCM-B playback

exclusive-sfx-fix 2026-04-28 17:36:15 UTC
nullsound: reset exclusive SFX when calling stream_stop

Author: Damien Ciabrini
Author Date: 2026-04-28 17:36:15 UTC

nullsound: reset exclusive SFX when calling stream_stop

Right now stream_stop internally calls ym2610_reset, which forcibly
stops all ADPCM channels, including SFX. So the exclusive status
must be reset, otherwise any ongoing SFX exclusive playbacks will
never report playback stop, and the channel will get blocked
until a new exclusive sample unblocks it.

This is an immediate fix until we set up a cleaner API.

sfx_exclusive 2026-04-21 19:36:49 UTC
nullsound: rework exclusive ADPCM playback semantics

Author: Damien Ciabrini
Author Date: 2026-04-20 20:19:18 UTC

nullsound: rework exclusive ADPCM playback semantics

Update the ADPCM SFX playback functions:
  . snd_X_play now plays a ADPCM sample only if the current
    channel is not locked for uninterruptible playback.
  . snd_X_play_exclusive locks a channel to be uninterruptible,
    except if another snd_X_play_exclusive is run on the same
    channel.

nss-ext-fm2 2026-04-13 08:16:04 UTC
Initial support for extended FM2 channels

Author: Damien Ciabrini
Author Date: 2026-04-09 22:37:22 UTC

Initial support for extended FM2 channels

NSS can now encode and playback Furnace modules that make use of
YM2610's extended FM2, which allows four independent notes (one
note per operator) on channel FM2.

furnace-post240 2026-04-07 06:12:03 UTC
Fix parsing of furnace modules for version > 240

Author: Damien Ciabrini
Author Date: 2026-04-07 05:12:03 UTC

Fix parsing of furnace modules for version > 240

memcard 2026-04-06 07:32:47 UTC
BIOS API: Present the CARD function as a C interface

Author: Damien Ciabrini
Author Date: 2026-04-05 07:39:43 UTC

BIOS API: Present the CARD function as a C interface

Provide additional helper functions for checking the state
of the memory card prior to calling the BIOS function.

fix-nullsound 2026-03-30 21:09:22 UTC
Cleanup LFO register during YM2610 reset

Author: Damien Ciabrini
Author Date: 2026-03-30 21:09:22 UTC

Cleanup LFO register during YM2610 reset

exec_prefix 2026-03-13 17:05:51 UTC
Fix makefile to honor custom exec-prefix

Author: Damien Ciabrini
Author Date: 2026-03-13 17:05:51 UTC

Fix makefile to honor custom exec-prefix

pillow 2026-03-12 06:29:36 UTC
Cleanup configure script on MSYS2

Author: Damien Ciabrini
Author Date: 2026-03-12 06:29:36 UTC

Cleanup configure script on MSYS2

Do not enforce gngeo dependencies if it's not being built

precomp-notes 2026-03-04 19:59:52 UTC
Transition to AES or MVS pitch tables for NSS

Author: Damien Ciabrini
Author Date: 2026-02-28 16:12:42 UTC

Transition to AES or MVS pitch tables for NSS

Added dedicated pitch tables to generate the exact frequency
specific in Furnace modules based on the YM2610 clock used by
the hardware (either AES or MVS).

Modify furtool to generate Delta-N values that are based on
the clock used by Furnace modules (AES or MVS).

By default, we now stick to the MVS tables, and we provide a new
nullsound-aes.lib if one wants to get precise frequency rendition
for Furnace modules which have been authored for the AES.

The generated tables are included in this commit, so are the
input scripts used to generate the tables.

ci-cache-toolchain 2026-03-03 21:16:02 UTC
WIP cache

Author: Damien Ciabrini
Author Date: 2026-03-03 18:20:31 UTC

WIP cache

vromtool_vroms 2026-02-22 18:06:45 UTC
Fix VROM offset generation with multiple VROMs

Author: Damien Ciabrini
Author Date: 2026-02-22 18:06:45 UTC

Fix VROM offset generation with multiple VROMs

Offsets of Z80 include files did not account for VROM
number where the sample was allocated, so playing back
SFX was causing wrong audio when SFX was allocated in
second VROM and beyond.

doc-ci-fix 2026-02-06 18:15:44 UTC
Fix BIOS API calls linking in libngdevkit

Author: Damien Ciabrini
Author Date: 2026-02-06 17:24:49 UTC

Fix BIOS API calls linking in libngdevkit

In [1], BIOS API calls were exposed as regular C functions, but they
were not build and linked in libngdevkit.a, so they could not get used.

[1] cf8a70de62470b31c6878584a458163b571147b5

extfm2 2026-02-06 18:05:49 UTC
Fix BIOS API calls linking in libngdevkit

Author: Damien Ciabrini
Author Date: 2026-02-06 17:24:49 UTC

Fix BIOS API calls linking in libngdevkit

In [1], BIOS API calls were exposed as regular C functions, but they
were not build and linked in libngdevkit.a, so they could not get used.

[1] cf8a70de62470b31c6878584a458163b571147b5

nss-extfm2 2025-12-11 21:32:21 UTC
WIP

Author: Damien Ciabrini
Author Date: 2025-12-11 21:32:21 UTC

WIP

reentrant-ym2610-a 2025-11-19 07:37:59 UTC
Fix ym2610 reentrant write to port A (part 2)

Author: Damien Ciabrini
Author Date: 2025-11-18 21:37:59 UTC

Fix ym2610 reentrant write to port A (part 2)

Follow up fix to f5e226851364c37cd8d5ff79da117971b393b53c, in
the interrupt handler, the driver should not recapture the
register context when writing to the YM2610's port A.

irq-fix 2025-11-16 14:34:02 UTC
Update soundtool to generate new NSS dependency rules

Author: Damien Ciabrini
Author Date: 2025-11-16 14:34:02 UTC

Update soundtool to generate new NSS dependency rules

nss-fix-legato-fx 2025-11-13 20:38:01 UTC
NSS: fix legato FX trigger

Author: Damien Ciabrini
Author Date: 2025-11-13 07:14:46 UTC

NSS: fix legato FX trigger

Legato and Quick legato FX are distinguished by flags in the pipeline,
and this caused an issue when enabling the FX. Fixed.

c++ 2025-08-10 16:18:38 UTC
nullbios: implement fix_clear and lsp_1st BIOS calls

Author: Damien Ciabrini
Author Date: 2025-08-10 10:48:30 UTC

nullbios: implement fix_clear and lsp_1st BIOS calls

legato 2025-06-06 21:19:04 UTC
fixed missing NSS FX support in doc

Author: Damien Ciabrini
Author Date: 2025-06-06 21:19:04 UTC

fixed missing NSS FX support in doc

nsstool-channel-filter 2025-05-23 12:18:38 UTC
nsstool: improved channel filtering

Author: Damien Ciabrini
Author Date: 2025-05-23 12:18:38 UTC

nsstool: improved channel filtering

Ability to generate NSS for only a subset of available channels,
without disturbing the playback if filtered channels contained
FX that control the flow (e.g. 0Bxx, 0Dxx, FFxx...)

reset-fix-ssg 2025-05-18 22:39:57 UTC
nullsound: fix enable mask during SSG reset

Author: Damien Ciabrini
Author Date: 2025-05-18 22:39:57 UTC

nullsound: fix enable mask during SSG reset

attract_music 2025-05-18 20:03:32 UTC
nullsound: update initialization to allow music during attract mode

Author: Damien Ciabrini
Author Date: 2025-05-18 20:03:32 UTC

nullsound: update initialization to allow music during attract mode

By convention, the BIOS calls NMI with command 02 to play a jingle
music during while the system ROM runs its attract mode animation.

Add the ability to call a user function right after nullsound
initialization, so one can play a user-provided NSS stream during
the attract mode.

fx-arpeggio 2025-04-27 15:21:39 UTC
nullsound: arpeggio FX

Author: Damien Ciabrini
Author Date: 2025-04-27 15:01:15 UTC

nullsound: arpeggio FX

fx-slide-refactor 2025-04-26 11:41:11 UTC
nullsound: reworked slide FX semantics

Author: Damien Ciabrini
Author Date: 2025-04-26 11:41:11 UTC

nullsound: reworked slide FX semantics

Refactored the three slide FX (note slide, pitch slide, portamento)
and the transition between slides and notes, to better match the
semantics from Furnace.

Captured various examples in a doc to detail the expected behaviour
of each slide FX.

decimal-adpcm-b 2025-04-19 14:58:25 UTC
nullsound: precise ADPCM-B freqs for decimal semitones

Author: Damien Ciabrini
Author Date: 2025-04-19 14:58:25 UTC

nullsound: precise ADPCM-B freqs for decimal semitones

Use a 16:8 fixed point delta-n list that is unique to every
ADPCM-B instrument, to map a precise C-4 delta according to
the instrument's sample frequency

decimal-note 2025-04-16 20:04:52 UTC
nullsound: precise SSG and FM freqs for decimal semitones

Author: Damien Ciabrini
Author Date: 2025-04-13 13:25:32 UTC

nullsound: precise SSG and FM freqs for decimal semitones

Use a 12:12 fixed point math to assign a frequency for every
semitone and every pitch, in a way that perfectly matches Furnace.

adpcm-b-vol 2025-02-26 18:28:06 UTC
NSS: do not generate NSS for unused tracks

Author: Damien Ciabrini
Author Date: 2025-02-26 18:28:06 UTC

NSS: do not generate NSS for unused tracks

This got broken in 10a6c41e5664b06d393fdf1d13790686f4356f06 with the
introduction of a compact call table opcode.

ns-fix-tools 2025-02-24 21:07:48 UTC
NSS: fix waveform configuration during macro evaluation

Author: Damien Ciabrini
Author Date: 2025-02-24 21:07:48 UTC

NSS: fix waveform configuration during macro evaluation

z80-bankswitch 2025-02-15 17:32:36 UTC
soundtool: improve generation of NSS makefile dependencies

Author: Damien Ciabrini
Author Date: 2025-02-15 15:54:15 UTC

soundtool: improve generation of NSS makefile dependencies

cd-tiletool 2024-12-28 21:13:33 UTC
tiletool: support for Neo Geo CD SPR file format

Author: Damien Ciabrini
Author Date: 2024-12-28 21:04:17 UTC

tiletool: support for Neo Geo CD SPR file format

cd 2024-12-27 21:36:38 UTC
nullsound: improve linking of default empty sound driver

Author: Damien Ciabrini
Author Date: 2024-12-27 21:30:44 UTC

nullsound: improve linking of default empty sound driver

Do not use .db statement in nullsound, because there is no
BSS or DATA segment initialization anyway.

Use .blkb instead, to that serves the same purpose for sdld,
but does not generate statement in .ihx files, so the resulting
nullsound driver can be smaller.

b-vibrato 2024-12-14 18:20:17 UTC
nullsound: vibrato FX for ADPCM-B channel

Author: Damien Ciabrini
Author Date: 2024-12-14 18:20:17 UTC

nullsound: vibrato FX for ADPCM-B channel

nss-a-pan 2024-12-14 11:47:25 UTC
nullsound: pan FX for ADPCM channels

Author: Damien Ciabrini
Author Date: 2024-12-14 11:47:25 UTC

nullsound: pan FX for ADPCM channels

fx-groove 2024-12-13 22:01:47 UTC
nullsound: groove FX

Author: Damien Ciabrini
Author Date: 2024-12-13 21:57:39 UTC

nullsound: groove FX

Updated parsing of Furnace module to read speed pattern (more than one
speed). Added groove FX support.
This commit doesn't implement groove pattern, the groove FX only works
for 2-speeds modules.

fx-retrigger 2024-12-11 18:33:32 UTC
nullsound: retrigger FX

Author: Damien Ciabrini
Author Date: 2024-12-11 18:33:32 UTC

nullsound: retrigger FX

Also add the missing nsstool features for the cut and delay refactoring
from the previous commit

fx-cut 2024-12-10 21:54:15 UTC
nullsound: note cut FX

Author: Damien Ciabrini
Author Date: 2024-12-10 20:51:22 UTC

nullsound: note cut FX

Plus note delay FX for ADPCM-B which was missing from previous commits

adpcmb-pipeline 2024-12-10 20:32:48 UTC
nullsound: big refactor and new pipeline processing (#2)

Author: Damien Ciabrini
Author Date: 2024-12-10 20:21:16 UTC

nullsound: big refactor and new pipeline processing (#2)

Another round of refactoring to add the FX pipeline processing
to ADPCM-A and ADPCM-B.
Added support for trigger and slide effects to the ADPCM-B channels,
as well as portamento and pitch/detune.
nsstool is updated to support all those new opcodes.

adpcm-pipeline 2024-11-29 18:18:54 UTC
nullsound: added FX pipeline to ADPCM-A channels

Author: Damien Ciabrini
Author Date: 2024-11-29 18:18:54 UTC

nullsound: added FX pipeline to ADPCM-A channels

Added a 'note delay' FX for testing the pipeline.

delay 2024-11-28 18:21:09 UTC
nullsound: generic trigger FX

Author: Damien Ciabrini
Author Date: 2024-11-28 18:21:09 UTC

nullsound: generic trigger FX

The trigger FX currently implements Furnace's 'delay FX', i.e it allows
a note to be registered after a configured number of ticks.
The same FX will be used to implement the 'cut FX', i.e stop the
playback of a note after a configured number of ticks.

pipeline 2024-11-22 13:39:27 UTC
nullsound: big refactor and new pipeline processing

Author: Damien Ciabrini
Author Date: 2024-11-21 21:13:51 UTC

nullsound: big refactor and new pipeline processing

This commit holds a massive refactoring of the FM and SSG
processing that is hapenning at every step.

Now every channel has a fixed sound pipeline where every NSS
opcode records actions to perform for a row, and the processing
of those actions and FX takes place at every step.

SSG channel has its macro processing reworked. Now every register
can be updated at every step of the macro definition, and loop
support has been added.

This is a breaking commit that requires recompiling the NSS
instruments and streams. The user API stays the same.

adpcm-b-tune 2024-10-03 19:13:28 UTC
Fix the ADPCM-B note playback

Author: Damien Ciabrini
Author Date: 2024-10-03 19:13:28 UTC

Fix the ADPCM-B note playback

ADPCM-B can vary sample playback, and the frequency to be used for
sample playback depends on the sample's configured frequency.
Expose that frequency in intruments and use it to generate the proper
frequency for the requested note in the Furnace module.

furtool-skip-unsupported 2024-09-29 17:35:41 UTC
furtool: skip unsupported macro attributes

Author: Damien Ciabrini
Author Date: 2024-09-29 17:08:26 UTC

furtool: skip unsupported macro attributes

Instead of crashing, try to skip unsupported attribute in SSG macro
definition.

wav-adpmc 2024-09-28 20:35:18 UTC
Automatic convertion of wav to adpcm for samples

Author: Damien Ciabrini
Author Date: 2024-09-28 20:35:18 UTC

Automatic convertion of wav to adpcm for samples

Update vromtool.py and soundtool.py to generate automatically
convert input .wav samples into ADPCM-A or ADPCM-B, based on
the playback speed

This removes to need to convert sound asserts with adpcmtool
prior to use them in vromtool or soundtool.

global-vol 2024-09-16 20:50:15 UTC
nullsound: global music volume support

Author: Damien Ciabrini
Author Date: 2024-08-23 21:38:34 UTC

nullsound: global music volume support

Add functions to control the global output volume for a playing
NSS stream.
Add volume fade out function for both music and SFX.

This commit introduces a change in how nsstool generates stream
data, and nullsound now expects this new format, so it is not
backward-compatible with previously generated NSS data.

issues/113 2024-08-23 09:02:38 UTC
Improved generation of software DIPs data in ROM

Author: Damien Ciabrini
Author Date: 2024-08-23 07:58:50 UTC

Improved generation of software DIPs data in ROM

Instead of emitting symbols for every software DIP defined, generate
a single structure that holds all time, count and enum DIPs.

This makes the compilation of DIP data more predictable and fixes issues
with compilation with optimization enabled.

Add new API functions to access the new DIP structure, and provide
compatibility macros to support the old/deprecated way of accessing
sotware DIPs.

Closes #113

fm-sound-fix 2024-08-19 21:15:02 UTC
NSS: do not generate compact stream data for empty channels

Author: Damien Ciabrini
Author Date: 2024-08-19 21:15:02 UTC

NSS: do not generate compact stream data for empty channels

soundtool-upd 2024-08-15 13:45:00 UTC
soundtool: update action for generated asset map

Author: Damien Ciabrini
Author Date: 2024-08-15 13:45:00 UTC

soundtool: update action for generated asset map

When the generate option is used and the output already exists on disk,
soundtool now performs an update action:
  . it only keeps data for sound files passed in input
  . it keeps any customization found in the existing desc for those sound files

compact-nss 2024-08-15 13:03:46 UTC
NSS: fix slide semantics

Author: Damien Ciabrini
Author Date: 2024-08-15 11:48:27 UTC

NSS: fix slide semantics

Do not reset the slide effect once the slide reached its end, to
try and match Furnace's semantics

py312link 2024-08-15 12:38:31 UTC
CI: fix brew link inssue on macOS x86

Author: Damien Ciabrini
Author Date: 2024-08-15 12:38:31 UTC

CI: fix brew link inssue on macOS x86

soundtool 2024-06-25 20:34:01 UTC
soundtool.py: sound asset management for nullsound

Author: Damien Ciabrini
Author Date: 2024-06-25 20:24:41 UTC

soundtool.py: sound asset management for nullsound

soundtool.py is a new tool that automates the generation of sound maps
and sound commands for m68k and z80.

soundtool.py supports both Furnace (music) and ADPCM (sfx) in sound maps,
and is able to generate sound command header for the m68k code, as well
as generate the boilerplate z80 code to trigger music or sound fx from
the z80.

adpcm-vol 2024-06-25 19:15:06 UTC
nss: opcodes for ADPCM-A/B volume

Author: Damien Ciabrini
Author Date: 2024-06-25 19:15:06 UTC

nss: opcodes for ADPCM-A/B volume

mk-error 2023-12-13 21:29:07 UTC
Detect errors when calling make recursively

Author: Damien Ciabrini
Author Date: 2023-12-13 21:29:07 UTC

Detect errors when calling make recursively

When building tools, we loop and call make recursively and
fail to react to track errors returned from those calls.
To fix that, force the shell targets to exit as soon as
they detect a submake failure.

nullsound-0.2.0 2023-09-15 08:39:48 UTC
Reimplementation of nullsound sound driver

Author: Damien Ciabrini
Author Date: 2023-06-30 15:55:03 UTC

Reimplementation of nullsound sound driver

Breaking change.

nullsound is now a z80 library that can be linked by users. The
sound commands are now implemented by the user, which just calls
a series of functions from the nullsound library.

nullsound internally is now much simpler. It provides simple actions
for trigerring immediate sounds; it manages a state tracker for every
part of the YM2610.

This rebuild prepares nullsound for managing interrupts and playback
of simple sound fx or music via VDM.

msys2-refactor 2023-05-26 14:52:15 UTC
msys2: Update build and docs to target ucrt64

Author: Damien Ciabrini
Author Date: 2023-05-26 14:52:15 UTC

msys2: Update build and docs to target ucrt64

Nightly CI deprecated mingw64 packages in favour of ucrt64
package. Update the source build steps and documentation to
drop mingw support and only provide msys2/ucrt64 support.

Ref #94

ucrt64 2023-05-17 09:17:21 UTC
msys2: move CI build to ucrt64 subsystem

Author: Damien Ciabrini
Author Date: 2023-05-17 08:03:23 UTC

msys2: move CI build to ucrt64 subsystem

Ref dciabrin/ngdevkit#92

bramfix 2023-02-18 11:08:10 UTC
Fix linking when backup RAM is used

Author: Damien Ciabrini
Author Date: 2023-02-18 11:02:31 UTC

Fix linking when backup RAM is used

Follow-up fix of linkscript after [1]. The linkscript
incorrectly relies on lazy evaluation to computes the
start of the .bss segment in RAM, leaving all linked
symbols incorrectly shifted in memory.

Re-work the backup RAM definition in the linkscript
with a proper MEMORY command, and expose macros in
the ngdevkit API to override the start and length of
the backup RAM at link-time.

Closes #86

[1] 4ccd470cd0039fbaf18e7f915f45d0d36d5e09d5

bankswitch 2022-11-27 12:21:35 UTC
Initial support for P-ROM bank-switching

Author: Damien Ciabrini
Author Date: 2022-11-27 12:16:32 UTC

Initial support for P-ROM bank-switching

New API to map a specific chunk of the the second P-ROM into the
P-ROM2 memory address space at runtime (0x200000..0x2fffff).

To support bank-switching transparently, the order in which the
ELF sections are linked is modified: the devkit's code is always
linked in the first P-ROM, as well as all data. The user code
gets linked last, and all files whose path contain the substring
`__bank` get implicitly linked in the second P-ROM.

Closes #81

issues/70 2021-12-25 14:21:54 UTC
Ability to configure backup RAM segment in ROM

Author: Damien Ciabrini
Author Date: 2021-12-25 14:21:54 UTC

Ability to configure backup RAM segment in ROM

A new section in ngdevkit linkscript and an associated
C macro allows variables to be stored in a location that
gets automatically saved to backup RAM on MVS.

Closes #70

credits-aes 2021-08-21 11:05:07 UTC
nullbios: fix credit management and AES

Author: Damien Ciabrini
Author Date: 2021-08-21 11:05:07 UTC

nullbios: fix credit management and AES

Fix the AES start_status check after the implementation of
credit management for 2 players.

Fix an invalid shift for credit checks in the MVS case.

Ref dciabrin/ngdevkit-examples#7

credits-2up 2021-08-19 20:34:57 UTC
nullbios: credits management for 2 players

Author: Damien Ciabrini
Author Date: 2021-08-19 20:34:06 UTC

nullbios: credits management for 2 players

Ref dciabrin/ngdevkit-examples#7

issues/51 2021-08-16 17:48:23 UTC
Make memory-mapped registers volatile in C headers

Author: Damien Ciabrini
Author Date: 2021-08-16 17:46:23 UTC

Make memory-mapped registers volatile in C headers

As we don't want the compiler to optimize away reads or writes
to those addresses.

Closes #51

readme-all-platforms 2021-05-14 12:29:15 UTC
Update documentation to detail how to install packages on MSYS2.

Author: Damien Ciabrini
Author Date: 2021-05-14 10:17:49 UTC

Update documentation to detail how to install packages on MSYS2.

Split the documentation in dedicated files for each platform.

173 of 73 results
This repository contains Public information 
Everyone can see this information.

Subscribers

Morty Proxy This is a proxified and sanitized view of the page, visit original site.