Get this repository:
git clone https://git.launchpad.net/ngdevkit

See all merge proposals.

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-3 and finished taking 40 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-2 and finished taking 25 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-2 and finished taking 15 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-2 and finished taking 15 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-1 and finished taking 15 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-0 and finished taking 20 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-5 and finished taking 15 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-5 and finished taking 15 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-4 and finished taking 15 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-3 and finished taking 20 seconds — see the log

Branches

Name Last Modified Last Commit
master 2025-06-08 08:19:56 UTC
NSS: fix parsing of note stop action for ADPCM-A

Author: Damien Ciabrini
Author Date: 2025-06-07 22:32:11 UTC

NSS: fix parsing of note stop action for ADPCM-A

Fix the issue that got introduced in 8dbb9434

pcm8bit 2025-06-08 08:19:56 UTC
NSS: fix parsing of note stop action for ADPCM-A

Author: Damien Ciabrini
Author Date: 2025-06-07 22:32:11 UTC

NSS: fix parsing of note stop action for ADPCM-A

Fix the issue that got introduced in 8dbb9434

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

compact 2025-01-17 12:00:13 UTC
NSS: add new opcodes for a more compact stream representation

Author: Damien Ciabrini
Author Date: 2025-01-16 21:45:34 UTC

NSS: add new opcodes for a more compact stream representation

Three new passes and their associated opcode are implemented:
  - New WAIT_LAST opcode to wait the same amount as previous WAIT
    (saves 1 byte per wait)

  - New opcode to play a NOTE_AND_WAIT_LAST (saves 1 byte per
    play/wait_last)

  - Replace sequence of CALL with a CALL_TABLE and a offset table
    (this saves 2 bytes per additional call to the same pattern)

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

nss_b_loop 2024-06-24 20:35:55 UTC
nss: fix playback of ADPCM-B and add support for looping

Author: Damien Ciabrini
Author Date: 2024-06-24 20:35:55 UTC

nss: fix playback of ADPCM-B and add support for looping

reentrant 2024-06-22 10:19:08 UTC
nullsound: make YM2610 access reentrant to fix music playback bug

Author: Damien Ciabrini
Author Date: 2024-06-21 17:05:42 UTC

nullsound: make YM2610 access reentrant to fix music playback bug

The interrupt handler needs to write to the YM2610 to rearm timer
when an interrupt is triggered. This can happen while the sound
driver is configuring the YM2610 to write to a specific register.

To avoid any register misconfiguration, make writes to port A
reentrant, and restore the register context when exiting from
the interrupt handler

fm-slide 2024-05-17 17:32:41 UTC
nullsound: fix vibrato effect crash

Author: Damien Ciabrini
Author Date: 2024-05-17 17:26:05 UTC

nullsound: fix vibrato effect crash

Save/restore registers properly during eval step

fm-vibrato 2024-05-10 21:22:42 UTC
nullsound: FM vibrato effect

Author: Damien Ciabrini
Author Date: 2024-05-10 21:22:42 UTC

nullsound: FM vibrato effect

This commit includes a fairly big refactoring to share common parts
of the vibrato algo between FM and SSG.
It also includes updates to simplify the FM codebase.

ssg-slide 2024-04-22 16:13:02 UTC
Fix doc on pygame install on macOS

Author: Damien Ciabrini
Author Date: 2024-04-22 16:13:02 UTC

Fix doc on pygame install on macOS

pip3 now requires --break-system-packages

ssg-vibrato 2024-04-14 20:31:40 UTC
nullsound: ssg vibrato effect

Author: Damien Ciabrini
Author Date: 2024-04-14 20:31:40 UTC

nullsound: ssg vibrato effect

packed-ram 2024-04-01 17:00:00 UTC
Fix CI warning due to use of old github action

Author: Damien Ciabrini
Author Date: 2024-04-01 15:19:37 UTC

Fix CI warning due to use of old github action

s_env 2024-03-30 14:32:16 UTC
nullsound: new NSS opcode to simulate auto-envelope

Author: Damien Ciabrini
Author Date: 2024-03-30 14:32:16 UTC

nullsound: new NSS opcode to simulate auto-envelope

Furnace has a feature that reconfigures the SSG envelope based
on the current note's frequency and a configurable quotient
numerator/denominator. This maps into the YM2610's envelope
register.
We don't want to do math on the Z80 at runtime, so we have
to simulate this feature by precomputing the quotient prior
to playing the note at runtime.

Add a new opcode SSG_ENV_PERIOD that is inserted automatically
by nsstool.py in a new compilation pass.
This requires nsstool to know the autoenv configuration for the
instrument in use, so make nsstool parse the instrument section
of the Furnace module before generating NSS data.

msys2-pacman-ci 2024-03-18 20:12:23 UTC
CI: tweak MSYS2 package download to avoid timeout

Author: Damien Ciabrini
Author Date: 2024-03-18 20:12:23 UTC

CI: tweak MSYS2 package download to avoid timeout

The ngdevkit packages are hosted on github pages, and the throughput
between this hosting location and github CI runner seem to fluctuate,
which sometimes causes pacman to timeout when installing packages,
and prevent the build of nightly packages.

Disable timeout checks in pacman to give CI runner a chance to install
MSYS2 packages even when it's temporarily slow.

nsstool 2024-03-18 17:47:09 UTC
nullsound: new tool to convert Furnace modules into NSS streams

Author: Damien Ciabrini
Author Date: 2024-03-12 21:44:06 UTC

nullsound: new tool to convert Furnace modules into NSS streams

nsstool.py is the tool that convert Furnace modules into a
precompiled and optimized NSS bytestream that can be played back
at runtime by nullsound.

nsstool.py relies on furtool.py to provide the necessary data
for instruments and samples.

This commit provides the necessary convertion passes to play
the FM, SSG and ADPCM notes from a Furnace module, with their
associated instrument definition.

Other commits should follow to support more Furnace features
(note volumes, more effects...)

nss-pitch-op 2024-01-23 20:52:44 UTC
nullsound: new NSS opcodes for FM pitch (detune)

Author: Damien Ciabrini
Author Date: 2024-01-23 20:52:44 UTC

nullsound: new NSS opcodes for FM pitch (detune)

nss 2024-01-09 20:34:21 UTC
nullsound: new NSS opcodes for OPx output level

Author: Damien Ciabrini
Author Date: 2024-01-09 20:31:28 UTC

nullsound: new NSS opcodes for OPx output level

deb 2024-01-04 17:44:14 UTC
Add pyyaml dependency for the upcoming sound tools

Author: Damien Ciabrini
Author Date: 2024-01-04 17:44:14 UTC

Add pyyaml dependency for the upcoming sound tools

nullsound_cmd_stream 2023-12-14 09:15:53 UTC
Support music playback via nullsound streams

Author: Damien Ciabrini
Author Date: 2023-11-14 21:25:17 UTC

Support music playback via nullsound streams

This is a initial commit to play a music encoded in the nullsound stream
format (NSS), which is as a series of opcodes that can configure various
parts of the YM2610, wait for timers, and control music loop.

The NSS format is still considered experimental and will change in
future commits.

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.

macosm1 2023-09-11 06:54:04 UTC
Update doc sections and CI script for M1 SoC

Author: Damien Ciabrini
Author Date: 2023-09-11 06:44:35 UTC

Update doc sections and CI script for M1 SoC

issues/64 2023-06-06 20:54:17 UTC
nullsound: z80 fixes for mame / real hardware

Author: Damien Ciabrini
Author Date: 2023-06-06 20:54:17 UTC

nullsound: z80 fixes for mame / real hardware

* Init didn't configure z80 ports appropriately [1] so NMI were not
received by the sound driver, and no sound was emitted on Mame.
This is likely the same issue on real hardware.

* Sound commands 01/03 didn't mute the ADPCMa channel correcly, this
one is fixed. More improvement will follow in another commit to mute
all channels (SSG, ADPCMa/b, FM).

* The write to YM2610 was unecessarily waiting for YM2610 status.
This is now changed in favour of busy waiting on Z80 to allow the
YM2610 to settle between writes. This follows the information from
neogeodev wiki [1], but could not be tested on real hardware. This is
working on Mame and GnGeo.

[1] https://wiki.neogeodev.org/index.php?title=Z80_port_map
[2] https://wiki.neogeodev.org/index.php?title=Z80/YM2610_interface

Closes #64

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

large-rom 2022-11-03 10:49:23 UTC
Support for large and non-contiguous P-ROM

Author: Damien Ciabrini
Author Date: 2022-11-03 10:49:23 UTC

Support for large and non-contiguous P-ROM

This changes the way the program ROM are linked. The
BRAM, BSS and RAM segments go first, the code itself being
linked at the very end of the P-ROM adress space.

The linker now allows the full 1MiB address space for
large P-ROM, as well as 2MiB non-contiguous P-ROM (2x1MiB).

This is a breaking change, the .text sections in the output
ELF file are no longer padded automatically. You now need to
add the proper padding when extracting code with objcopy.
dciabrin/ngdevkit-examples@03c250a0ee55bb05501a79ebb4c9401217d9959d
has been updated to implement padding appropriately.

Ref dciabrin/ngdevkit#78

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.

msys2-build 2021-04-29 15:15:19 UTC
CI: add MSYS2 test and packaging

Author: Damien Ciabrini
Author Date: 2021-04-29 12:54:22 UTC

CI: add MSYS2 test and packaging

msys2 2021-03-25 16:55:06 UTC
Initial support for MSYS2 - native devkit for Windows

Author: Damien Ciabrini
Author Date: 2021-03-23 14:51:39 UTC

Initial support for MSYS2 - native devkit for Windows

gngeo-clang 2021-03-03 14:52:00 UTC
clang: ensure gngeo's autoconf script can detect opengl

Author: Damien Ciabrini
Author Date: 2021-03-03 14:52:00 UTC

clang: ensure gngeo's autoconf script can detect opengl

github-ci 2021-03-01 13:57:29 UTC
CI: migration to github actions

Author: Damien Ciabrini
Author Date: 2021-03-01 13:16:46 UTC

CI: migration to github actions

soft_dip 2021-01-22 17:36:49 UTC
Helper macros to generate and access sofware DIP configuration

Author: Damien Ciabrini
Author Date: 2021-01-22 17:36:49 UTC

Helper macros to generate and access sofware DIP configuration

This introduces a breaking change in symbol names used for the
DIP pointers (rom_info_EU -> dip_eu_rom).

libngdevkit 2020-12-13 20:12:20 UTC
Populate header file and provide helper library

Author: Damien Ciabrini
Author Date: 2020-12-11 21:39:11 UTC

Populate header file and provide helper library

runtime-lib 2020-12-08 21:11:24 UTC
Split libsyscall's functions into independent files

Author: Damien Ciabrini
Author Date: 2020-12-08 20:15:19 UTC

Split libsyscall's functions into independent files

This allows ld to only link the function used and will prepare the
migration to a more recent, c99-compliant, newlib version.

nullsound 2020-12-02 21:54:35 UTC
Make nullsound a real modular sound driver

Author: Damien Ciabrini
Author Date: 2020-12-02 20:42:29 UTC

Make nullsound a real modular sound driver

Each user can configure its own variant of nullsound, with its own set
of exported sound command, like e.g. "play a sample", "start a music",
"fade volume"...

The sound driver itself is now a sort of cooperative scheduler,
configured to handle a number of concurrent sound actions. Each sound
action gets called by the driver to update its local state, and then
yield execution so the next action can be scheduled.

As a first commit, the driver supports playing ADPCM-a samples. Other
modules such as music playback can be added in subsequent commits.

Closes #16

ci-macos 2020-05-30 10:56:21 UTC
Add macOS CI job

Author: Damien Ciabrini
Author Date: 2020-05-30 10:56:21 UTC

Add macOS CI job

travis-cd 2019-12-21 23:20:55 UTC
Update Launchpad deploy token

Author: Damien Ciabrini
Author Date: 2019-12-21 23:20:55 UTC

Update Launchpad deploy token

standalone 2019-12-01 13:48:58 UTC
Update README to reference deb packages for Ubuntu/Debian

Author: Damien Ciabrini
Author Date: 2019-12-01 13:48:58 UTC

Update README to reference deb packages for Ubuntu/Debian

bug/isl-depend 2019-10-06 18:58:24 UTC
Add missing dependency in READMEs

Author: Damien Ciabrini
Author Date: 2019-10-06 18:58:24 UTC

Add missing dependency in READMEs

176 of 76 results

Other repositories

Name Last Modified
lp:~dciabrin/ngdevkit/+git/ngdevkit-toolchain 20 hours ago
lp:ngdevkit 2025-06-08
lp:~dciabrin/ngdevkit/+git/gngeo 2025-01-10
lp:~dciabrin/ngdevkit/+git/emudbg 2024-03-20
14 of 4 results
You can't create new repositories for ngdevkit.